summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/scripts/ketcindy
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2018-06-15 16:03:13 +0000
committerNorbert Preining <preining@logic.at>2018-06-15 16:03:13 +0000
commit6c74bdbfb4caa51514bdea1edd36bc71532a16b0 (patch)
tree74f65d377efe78179a53322abefcbd6fea9c0876 /Master/texmf-dist/scripts/ketcindy
parent355b4e5dc0f07541a7603df5f55f71a695efac0e (diff)
ketcindy 20180615.1
git-svn-id: svn://tug.org/texlive/trunk@48019 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/scripts/ketcindy')
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/Counter-etching convex polyhedron.pdfbin77577 -> 0 bytes
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/READMEj(kobayashi-suzuki).txt116
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/READMEj(mitani).txt7
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a03.obj14
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a04.obj18
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a05.obj22
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a06.obj26
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a07.obj30
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a08.obj34
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a09.obj38
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a10.obj42
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n01.obj10
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n02.obj12
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n03.obj17
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n04.obj22
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n05.obj27
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n06.obj37
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n07.obj14
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n08.obj18
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n09.obj22
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n10.obj22
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n11.obj27
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n12.obj11
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n13.obj17
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n14.obj17
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n15.obj22
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n16.obj27
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n17.obj26
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n18.obj29
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n19.obj38
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n20.obj47
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n21.obj57
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n22.obj35
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n23.obj46
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n24.obj57
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n25.obj67
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n26.obj16
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n27.obj26
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n28.obj34
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n29.obj34
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n30.obj42
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n31.obj42
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n32.obj52
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n33.obj52
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n34.obj62
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n35.obj38
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n36.obj38
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n37.obj50
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n38.obj62
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n39.obj62
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n40.obj72
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n41.obj72
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n42.obj82
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n43.obj82
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n44L.obj44
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n44R.obj44
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n45L.obj58
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n45R.obj58
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n46L.obj72
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n46R.obj72
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n47L.obj82
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n47R.obj82
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n48L.obj92
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n48R.obj92
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n49.obj15
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n50.obj19
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n51.obj23
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n52.obj21
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n53.obj25
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n54.obj24
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n55.obj28
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n56.obj28
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n57.obj32
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n58.obj37
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n59.obj42
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n60.obj42
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n61.obj47
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n62.obj22
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n63.obj17
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n64.obj20
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n65.obj29
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n66.obj50
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n67.obj62
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n68.obj107
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n69.obj122
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n70.obj122
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n71.obj137
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n72.obj122
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n73.obj122
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n74.obj122
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n75.obj122
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n76.obj107
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n77.obj107
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n78.obj107
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n79.obj107
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n80.obj92
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n81.obj92
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n82.obj92
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n83.obj77
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n84.obj20
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n85.obj42
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n86.obj24
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n87.obj28
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n88.obj30
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n89.obj35
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n90.obj40
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n91.obj28
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n92.obj38
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p03.obj11
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p04.obj14
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p05.obj17
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p06.obj20
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p07.obj23
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p08.obj26
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p09.obj29
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p10.obj32
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/r01.obj8
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/r02.obj14
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/r03.obj14
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/r04.obj32
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/r05.obj32
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s01.obj26
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s02.obj62
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s03.obj20
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s04.obj38
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s05.obj38
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s06.obj92
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s07.obj92
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s08.obj50
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s09.obj122
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s10.obj74
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s11.obj182
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s12L.obj62
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s12R.obj62
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s13L.obj152
-rw-r--r--Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s13R.obj152
-rw-r--r--Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1r.cs2
-rw-r--r--Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2r.cs10462
-rwxr-xr-xMaster/texmf-dist/scripts/ketcindy/ketlib/ketcindylibmvr.cs6
-rw-r--r--Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutlogr.txt3
-rw-r--r--Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutr.cs30
-rw-r--r--Master/texmf-dist/scripts/ketcindy/ketlib/ketpicR/ketpic5_2_4_rep2e.r580
-rwxr-xr-xMaster/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent.r35
-rw-r--r--Master/texmf-dist/scripts/ketcindy/ketoutset.txt108
-rwxr-xr-xMaster/texmf-dist/scripts/ketcindy/setketcindy.txt24
145 files changed, 5349 insertions, 12707 deletions
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/Counter-etching convex polyhedron.pdf b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/Counter-etching convex polyhedron.pdf
deleted file mode 100644
index e2b52ddd5ee..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/Counter-etching convex polyhedron.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/READMEj(kobayashi-suzuki).txt b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/READMEj(kobayashi-suzuki).txt
deleted file mode 100644
index 897ac82f260..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/READMEj(kobayashi-suzuki).txt
+++ /dev/null
@@ -1,116 +0,0 @@
-®–Ê“Ê‘½–Ê‘Ìi‚y-‘½–Ê‘Ìj‚ÌÀ•Wƒf[ƒ^‚ɂ‚¢‚Ä 1994”N6ŒŽ22“ú
-
-‚PD‚Í‚¶‚ß‚É
-
- ‚RŽŸŒ³ƒ†[ƒNƒŠƒbƒh‹óŠÔ‚Ì‘½–Ê‘Ì‚Ì’†‚ÅCg•Ó‚Ì’·‚³‚Ì“™‚µ‚¢³‘½ŠpŒ`‚ð–Ê
-‚É‚à‚“ʑ½ŠpŒ`h‚ÍC®–Ê“Ê‘½–Ê‘Ì(regular-faced convex polyhedron)‚ÆŒÄ
-‚΂ê‚Ä‚¢‚Ü‚·D®–Ê“Ê‘½–Ê‘Ì‚ÍC³‘½–Ê‘ÌC€³‘½–Ê‘ÌC³‘½Šp’ŒC³‘½Šp”½
-’Œ‚𜂭‚Æ 92 Ží—Þ‚µ‚©‘¶Ý‚µ‚Ü‚¹‚ñD‚±‚Ì‚±‚Æ‚ðØ–¾‚µ‚½Victor A.
-Zalgaller(1) ‚É‚¿‚È‚ñ‚ÅC®–Ê“Ê‘½–Ê‘Ì‚Í‚y-‘½–Ê‘Ì(Z-polyhedron)‚Æ‚àŒÄ‚Î
-‚ê‚Ä‚¢‚Ü‚·D
-
- ®–Ê“Ê‘½–Ê‘Ì‚Ì–ÍŒ^‚ÍCŽ†‚È‚Ç‚ÅŠÈ’P‚Éì‚邱‚Æ‚ª‚Å‚«‚Ü‚·‚ªC’¸“_‚ÌÀ•W
-‚ðŒvŽZ‚·‚邱‚Æ‚ª“‚­C‚±‚ê‚܂ŃRƒ“ƒsƒ…[ƒ^‚É‚æ‚é•\Ž¦‚Í¢“ï‚Å‚µ‚½DŽ„
-‚½‚¿‚ÍC‘½–ʑ̂̃Oƒ‰ƒt•\Œ»‚ð—˜—p‚µ‚½ŒvŽZƒAƒ‹ƒSƒŠƒYƒ€‚ðlˆÄ‚µC’Tõ‚Æ”
-’lŒvŽZ‚É‚æ‚Á‚Ä‚·‚ׂĂ̮–Ê“Ê‘½ŠpŒ`‚Ì’¸“_‚̈ʒuÀ•W‚ð‹‚ß‚Ü‚µ‚½(2)D‚±
-‚ÌÀ•Wƒf[ƒ^‚Í‚³‚Ü‚´‚Ü‚È—p“r‚É—˜—p‚Å‚«‚é‚ÆŽv‚í‚ê‚Ü‚·‚Ì‚ÅC‚±‚±‚ÉŒöŠJ‚¢
-‚½‚µ‚Ü‚·D‚Ç‚¤‚¼‚¨–𗧂ĉº‚³‚¢D
-
- À•Wƒf[ƒ^‚ÍŽ©—R‚É”z•z‚µ‚Ä‚¢‚½‚¾‚¢‚Ä‚©‚Ü‚¢‚Ü‚¹‚ñD‚½‚¾‚µCƒf[ƒ^‚É‚Í
-•K‚¸‚±‚̃hƒLƒ…ƒƒ“ƒg‚ð“Y‚¦‚ĉº‚³‚¢D‚È‚¨CÀ•Wƒf[ƒ^‚Ì—˜—p‚ÉŠÖ‚µ‚Ä”­¶
-‚µ‚½ˆêØ‚ÌáŠQ‚ɂ‚¢‚ÄÓ”C‚𕉂¢‚©‚Ë‚Ü‚·‚Ì‚ÅCŒä—¹³‰º‚³‚¢D
-
- “d‹C’ÊM‘åŠw î•ñHŠw‰È ¬—Ñ Œõ•v
- §182 “Œ‹ž“s’²•zŽs’²•zƒ–‹u1-5-1
- ‘—§—ðŽj–¯‘­”Ž•¨ŠÙ î•ñŽ‘—¿Œ¤‹†•” —é–Ø ‘쎡
- §285 ç—tŒ§²‘qŽsé“à’¬117
- E-mail: suzuki@alp0.cs.uec.ac.jp
- suz-tak@tansei.cc.u-tokyo.ac.jp
-
-’F
-(1) Zalgaller,V.A.: Convex Polyhedra with Regular Faces(‰p–ó”Å),
-Consultants Bureau, 1969. (Œ´’˜‚Í Zalgaller,B.A.: Vypuklye
-Mnogogranniki c Pravil'nymi Granyami, Nauka Press, 1966.)
-(2) ¬—ÑŒõ•v, —é–ؑ쎡: ³‘½ŠpŒ`‚ð–Ê‚É‚à‚‚·‚ׂĂ̓ʑ½–Ê‘Ì‚Ì’¸“_À•W
-‚ÌŒvŽZ, “d‹C’ÊM‘åŠw‹I—v, Vol.5, No.2, pp.147-184(1992).
-
-
-‚QDƒf[ƒ^ƒtƒ@ƒCƒ‹‚ÌŽí—Þ
-
-‘½–ʑ̃f[ƒ^‚̓fƒBƒŒƒNƒgƒŠ data/ ‚É‚ ‚éD
-
-‚P‚‚̑½–ʑ̂ɂ‚«‚P‚‚̃tƒ@ƒCƒ‹‚ª‘Ήž‚·‚éDŠe‘½–ʑ̂̃tƒ@ƒCƒ‹–¼‚ðˆÈ‰º
-‚ÉŽ¦‚·Dƒtƒ@ƒCƒ‹–¼‚Æ‘½–Ê‘Ì‚Ì–¼Ì‚Ƃ̑Ήž‚ÍCƒtƒ@ƒCƒ‹ dnamej.tex ‚Ì•\‚P
-‚©‚ç•\‚R‚ðŽQÆ‚Ì‚±‚ÆD
-
-³‘½–Ê‘Ì(regular polyhedron): r01, r02, r03, r04, r05.
-(r02 = a03, r03 = p04)
-
-€³‘½–Ê‘Ì(semiregular polyhedron): s01, s02, s03, s04, s05, s06, s07,
-s08, s09, s10, s11, s12L, s12R, s13L, s13R.
-(s12 ‚Æ s13 ‚Í‚»‚ꂼ‚ꋾ‘œŠÖŒW‚É‚ ‚鑽–Ê‘Ì‚ª‘¶Ý‚·‚é‚Ì‚ÅC¶ŽèŒn‚ƉEŽè
-Œn‚ð‚»‚ê‚¼‚ê L, R ‚Å‹æ•Ê‚µ‚Ä‚¢‚éD)
-(n37 ‚Í s08 ‚Ì”P‚ꂽ‚à‚ÌDƒ~ƒ‰[‚Ì‘½–ʑ̂ƌĂ΂ê‚éD‚±‚ê‚ð s14 ‚Æ‚Ý‚È
-‚·ê‡‚ª‚ ‚éD)
-
-³‘½Šp’Œ(prism): p03, p04, p05, p06, p07, p08, p09, p10.
-
-³‘½Šp”½’Œ(antiprism): a03, a04, a05, a06, a07, a08, a09, a10.
-
-®–Ê“Ê‘½–Ê‘Ì(regular-faced convex polyhedron):
- iœ‚­³‘½–Ê‘ÌC€³‘½–Ê‘ÌC³‘½Šp’ŒC³‘½Šp”½’Œj
-n01, n02, n03, n04, n05, n06, n07, n08, n09, n10, n11, n12, n13, n14,
-n15, n16, n17, n18, n19, n20, n21, n22, n23, n24, n25, n26, n27, n28,
-n29, n30, n31, n32, n33, n34, n35, n36, n37, n38, n39, n40, n41, n42,
-n43, n44L, n44R, n45L, n45R, n46L, n46R, n47L, n47R, n48L, n48R, n49,
-n50, n51, n52, n53, n54, n55, n56, n57, n58, n59, n60, n61, n62, n63,
-n64, n65, n66, n67, n68, n69, n70, n71, n72, n73, n74, n75, n76, n77,
-n78, n79, n80, n81, n82, n83, n84, n85, n86, n87, n88, n89, n90, n91,
-n92.
-(n44, n45, n46, n47, n48 ‚É‚Í‹¾‘œŠÖŒW‚É‚ ‚鑽–Ê‘Ì‚ª‘¶Ý‚·‚é‚Ì‚ÅC¶Žè
-Œn‚ƉEŽèŒn‚ð‚»‚ê‚¼‚ê L, R ‚Å‹æ•Ê‚µ‚Ä‚¢‚éD)
-
-
-‚RDƒf[ƒ^‚̃tƒH[ƒ}ƒbƒg
-
- ƒf[ƒ^‚͂‚¬‚Ì‚SŽí—ނ̃f[ƒ^‚©‚ç‚È‚éD
- E’¸“_‚É—×Ú‚·‚é’¸“_‚̃f[ƒ^
- E’¸“_‚ðˆÍ‚ޖʂ̃f[ƒ^
- E–Ê‚ð\¬‚·‚é’¸“_‚̃f[ƒ^
- E’¸“_‚ÌÀ•Wƒf[ƒ^
-
- ’¸“_C–ʂ͔Ԇ‚ÅŽ¯•Ê‚·‚éDn ŒÂ‚Ì’¸“_‚ª‚ ‚é‚Æ‚«‚Ì’¸“_”Ô†‚͈̔͂Í
-1 ”Ô‚©‚ç n ”Ô‚Ü‚Å‚Æ‚È‚éDm ŒÂ‚Ì–Ê‚ª‚ ‚é‚Æ‚«‚̖ʔԆ‚͈̔͂Í
-1 ”Ô‚©‚ç m ”Ô‚Ü‚Å‚Æ‚È‚éD
-
- ‹ï‘Ì“I‚É‚ÍC‚‚¬‚̂悤‚Ƀf[ƒ^‚ª‚È‚ç‚ñ‚Å‚¢‚éDƒf[ƒ^‚Í’¸“_À•W
-‚̃f[ƒ^‚¾‚¯ŽÀ”‚ÅC‚ ‚Æ‚Í®”‚Å‚ ‚é
-
- ’¸“_‚Ì”
- ’¸“_”Ô† ’¸“_‚É—×Ú‚·‚é’¸“_‚Ì” —×Ú‚·‚é’¸“_‚̔ԆDDD
- DDD
- i’¸“_‚Ì”‚¾‚¯‘±‚­j
- DDD
- ’¸“_‚Ì”
- ’¸“_”Ô† ’¸“_‚É—×Ú‚·‚é–Ê‚Ì” —×Ú‚·‚é–ʂ̔ԆDDD
- DDD
- i’¸“_‚Ì”‚¾‚¯‘±‚­j
- DDD
- –Ê‚Ì”
- –ʔԆ –Ê‚ð\¬‚·‚é’¸“_‚Ì” –Ê‚ð\¬‚·‚é’¸“_‚̔ԆDDD
- DDD
- i–Ê‚Ì”‚¾‚¯‘±‚­j
- DDD
- ’¸“_‚Ì”
- ’¸“_”Ô† ’¸“_‚Ì‚wÀ•W ’¸“_‚Ì‚xÀ•W ’¸“_‚Ì‚yÀ•W
- DDD
- i’¸“_‚Ì”‚¾‚¯‘±‚­j
- DDD
-
-
-‚SD‘½–ʑ̂̃n[ƒhƒRƒs[‚ɂ‚¢‚Ä
-
-Še‘½–ʑ̂̃n[ƒhƒRƒs[‚ð PBM Œ`Ž®‚Å‹L˜^‚µ‚½‚à‚Ì‚ªCƒfƒBƒŒƒNƒgƒŠ
-hardcopy/ ‚É‚ ‚éDƒtƒ@ƒCƒ‹–¼‚̑Ήž‚ÍÀ•Wƒf[ƒ^‚Æ“¯‚¶‚Å‚ ‚éD
-
-ˆÈãD
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/READMEj(mitani).txt b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/READMEj(mitani).txt
deleted file mode 100644
index 262fff5b365..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/READMEj(mitani).txt
+++ /dev/null
@@ -1,7 +0,0 @@
-OBJŒ`Ž®‚ÌÀ•Wƒf[ƒ^‚ɂ‚¢‚Ä
-
-¬—ÑŽA—é–ØŽ‚ª¶¬‚µ‚½®–Ê“Ê‘½–Ê‘Ìi‚y-‘½–Ê‘Ìj‚ÌÀ•Wƒf[ƒ^‚ðOBJŒ`Ž®‚É•ÏX‚µ‚½‚à‚Ì‚Å‚·B
-ƒf[ƒ^‚Ì“à—e‚ɂ‚¢‚Ä‚ÍA‚±‚̃tƒ@ƒCƒ‹‚Æ“¯«‚³‚ê‚Ä‚¢‚éREADMEj(kobayashi-suzuki).txt‚ð‚²——‚­‚¾‚³‚¢B
-
-2007”N8ŒŽ27“ú
-ŽO’Jƒ jmitani@gmail.com
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a03.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a03.obj
deleted file mode 100644
index 2259162aac4..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a03.obj
+++ /dev/null
@@ -1,14 +0,0 @@
-v -0.70710678 -0.40824829 0.57735027
-v 0.00000000 0.81649658 0.57735027
-v 0.70710678 -0.40824829 0.57735027
-v -0.00000000 -0.81649658 -0.57735027
-v -0.70710678 0.40824829 -0.57735027
-v 0.70710678 0.40824829 -0.57735027
-f 1 2 5
-f 1 5 4
-f 1 4 3
-f 1 3 2
-f 2 3 6
-f 2 6 5
-f 3 4 6
-f 4 5 6
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a04.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a04.obj
deleted file mode 100644
index 552dd092526..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a04.obj
+++ /dev/null
@@ -1,18 +0,0 @@
-v -0.60778126 -0.60778126 0.51108108
-v -0.60778126 0.60778126 0.51108108
-v 0.60778126 0.60778126 0.51108108
-v 0.60778126 -0.60778126 0.51108108
-v -0.00000000 -0.85953250 -0.51108108
-v -0.85953250 0.00000000 -0.51108108
-v 0.00000000 0.85953250 -0.51108108
-v 0.85953250 -0.00000000 -0.51108108
-f 1 2 6
-f 1 6 5
-f 1 5 4
-f 1 4 3 2
-f 2 3 7
-f 2 7 6
-f 3 4 8
-f 3 8 7
-f 4 5 8
-f 5 6 7 8
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a05.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a05.obj
deleted file mode 100644
index 0ad8469636b..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a05.obj
+++ /dev/null
@@ -1,22 +0,0 @@
-v -0.52573111 -0.72360680 0.44721360
-v -0.85065081 0.27639320 0.44721360
-v 0.00000000 0.89442719 0.44721360
-v 0.85065081 0.27639320 0.44721360
-v 0.52573111 -0.72360680 0.44721360
-v -0.00000000 -0.89442719 -0.44721360
-v -0.85065081 -0.27639320 -0.44721360
-v -0.52573111 0.72360680 -0.44721360
-v 0.52573111 0.72360680 -0.44721360
-v 0.85065081 -0.27639320 -0.44721360
-f 1 2 7
-f 1 7 6
-f 1 6 5
-f 1 5 4 3 2
-f 2 3 8
-f 2 8 7
-f 3 4 9
-f 3 9 8
-f 4 5 10
-f 4 10 9
-f 5 6 10
-f 6 7 8 9 10
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a06.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a06.obj
deleted file mode 100644
index fa5467aa775..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a06.obj
+++ /dev/null
@@ -1,26 +0,0 @@
-v -0.45970084 -0.79622522 0.39331989
-v -0.91940169 0.00000000 0.39331989
-v -0.45970084 0.79622522 0.39331989
-v 0.45970084 0.79622522 0.39331989
-v 0.91940169 -0.00000000 0.39331989
-v 0.45970084 -0.79622522 0.39331989
-v -0.00000000 -0.91940169 -0.39331989
-v -0.79622522 -0.45970084 -0.39331989
-v -0.79622522 0.45970084 -0.39331989
-v 0.00000000 0.91940169 -0.39331989
-v 0.79622522 0.45970084 -0.39331989
-v 0.79622522 -0.45970084 -0.39331989
-f 1 2 8
-f 1 8 7
-f 1 7 6
-f 1 6 5 4 3 2
-f 2 3 9
-f 2 9 8
-f 3 4 10
-f 3 10 9
-f 4 5 11
-f 4 11 10
-f 5 6 12
-f 5 12 11
-f 6 7 12
-f 7 8 9 10 11 12
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a07.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a07.obj
deleted file mode 100644
index 17d011c54be..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a07.obj
+++ /dev/null
@@ -1,30 +0,0 @@
-v -0.40659420 -0.84430155 0.34905022
-v -0.91360887 -0.20852526 0.34905022
-v -0.73265743 0.58427480 0.34905022
-v 0.00000000 0.93710402 0.34905022
-v 0.73265743 0.58427480 0.34905022
-v 0.91360887 -0.20852526 0.34905022
-v 0.40659420 -0.84430155 0.34905022
-v -0.00000000 -0.93710402 -0.34905022
-v -0.73265743 -0.58427480 -0.34905022
-v -0.91360887 0.20852526 -0.34905022
-v -0.40659420 0.84430155 -0.34905022
-v 0.40659420 0.84430155 -0.34905022
-v 0.91360887 0.20852526 -0.34905022
-v 0.73265742 -0.58427480 -0.34905022
-f 1 2 9
-f 1 9 8
-f 1 8 7
-f 1 7 6 5 4 3 2
-f 2 3 10
-f 2 10 9
-f 3 4 11
-f 3 11 10
-f 4 5 12
-f 4 12 11
-f 5 6 13
-f 5 13 12
-f 6 7 14
-f 6 14 13
-f 7 8 14
-f 8 9 10 11 12 13 14
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a08.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a08.obj
deleted file mode 100644
index 2235341deaa..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a08.obj
+++ /dev/null
@@ -1,34 +0,0 @@
-v -0.36349134 -0.87754573 0.31270999
-v -0.87754573 -0.36349134 0.31270999
-v -0.87754573 0.36349134 0.31270999
-v -0.36349134 0.87754573 0.31270999
-v 0.36349134 0.87754573 0.31270999
-v 0.87754573 0.36349134 0.31270999
-v 0.87754573 -0.36349134 0.31270999
-v 0.36349134 -0.87754573 0.31270999
-v -0.00000000 -0.94984865 -0.31270999
-v -0.67164442 -0.67164442 -0.31270999
-v -0.94984865 0.00000000 -0.31270999
-v -0.67164442 0.67164442 -0.31270999
-v 0.00000000 0.94984865 -0.31270999
-v 0.67164442 0.67164442 -0.31270999
-v 0.94984865 -0.00000000 -0.31270999
-v 0.67164442 -0.67164442 -0.31270999
-f 1 2 10
-f 1 10 9
-f 1 9 8
-f 1 8 7 6 5 4 3 2
-f 2 3 11
-f 2 11 10
-f 3 4 12
-f 3 12 11
-f 4 5 13
-f 4 13 12
-f 5 6 14
-f 5 14 13
-f 6 7 15
-f 6 15 14
-f 7 8 16
-f 7 16 15
-f 8 9 16
-f 9 10 11 12 13 14 15 16
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a09.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a09.obj
deleted file mode 100644
index 79e22eca20f..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a09.obj
+++ /dev/null
@@ -1,38 +0,0 @@
-v -0.32807418 -0.90137641 0.28264447
-v -0.83071299 -0.47961237 0.28264447
-v -0.94465196 0.16656763 0.28264447
-v -0.61657778 0.73480878 0.28264447
-v 0.00000000 0.95922474 0.28264447
-v 0.61657778 0.73480878 0.28264447
-v 0.94465196 0.16656763 0.28264447
-v 0.83071299 -0.47961237 0.28264447
-v 0.32807418 -0.90137641 0.28264447
-v -0.00000000 -0.95922474 -0.28264447
-v -0.61657778 -0.73480878 -0.28264447
-v -0.94465196 -0.16656763 -0.28264447
-v -0.83071299 0.47961237 -0.28264447
-v -0.32807418 0.90137641 -0.28264447
-v 0.32807418 0.90137641 -0.28264447
-v 0.83071299 0.47961237 -0.28264447
-v 0.94465196 -0.16656763 -0.28264447
-v 0.61657778 -0.73480878 -0.28264447
-f 1 2 11
-f 1 11 10
-f 1 10 9
-f 1 9 8 7 6 5 4 3 2
-f 2 3 12
-f 2 12 11
-f 3 4 13
-f 3 13 12
-f 4 5 14
-f 4 14 13
-f 5 6 15
-f 5 15 14
-f 6 7 16
-f 6 16 15
-f 7 8 17
-f 7 17 16
-f 8 9 18
-f 8 18 17
-f 9 10 18
-f 10 11 12 13 14 15 16 17 18
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a10.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a10.obj
deleted file mode 100644
index cc602ba295c..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/a10.obj
+++ /dev/null
@@ -1,42 +0,0 @@
-v -0.29859575 -0.91898322 0.25750808
-v -0.78173382 -0.56796287 0.25750808
-v -0.96627614 0.00000000 0.25750808
-v -0.78173382 0.56796287 0.25750808
-v -0.29859575 0.91898322 0.25750808
-v 0.29859575 0.91898322 0.25750808
-v 0.78173382 0.56796287 0.25750808
-v 0.96627614 -0.00000000 0.25750808
-v 0.78173382 -0.56796287 0.25750808
-v 0.29859575 -0.91898322 0.25750808
-v -0.00000000 -0.96627614 -0.25750808
-v -0.56796287 -0.78173382 -0.25750808
-v -0.91898322 -0.29859575 -0.25750808
-v -0.91898322 0.29859575 -0.25750808
-v -0.56796287 0.78173382 -0.25750808
-v 0.00000000 0.96627615 -0.25750808
-v 0.56796287 0.78173382 -0.25750808
-v 0.91898322 0.29859575 -0.25750808
-v 0.91898322 -0.29859575 -0.25750808
-v 0.56796287 -0.78173382 -0.25750808
-f 1 2 12
-f 1 12 11
-f 1 11 10
-f 1 10 9 8 7 6 5 4 3 2
-f 2 3 13
-f 2 13 12
-f 3 4 14
-f 3 14 13
-f 4 5 15
-f 4 15 14
-f 5 6 16
-f 5 16 15
-f 6 7 17
-f 6 17 16
-f 7 8 18
-f 7 18 17
-f 8 9 19
-f 8 19 18
-f 9 10 20
-f 9 20 19
-f 10 11 20
-f 11 12 13 14 15 16 17 18 19 20
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n01.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n01.obj
deleted file mode 100644
index 70574b60c69..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n01.obj
+++ /dev/null
@@ -1,10 +0,0 @@
-v -0.69337525 -0.69337525 0.19611614
-v -0.69337525 0.69337525 0.19611614
-v 0.69337525 0.69337525 0.19611614
-v 0.69337525 -0.69337525 0.19611614
-v 0.00000000 0.00000000 -0.78446454
-f 1 2 5
-f 1 5 4
-f 1 4 3 2
-f 2 3 5
-f 3 4 5
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n02.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n02.obj
deleted file mode 100644
index e279a395708..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n02.obj
+++ /dev/null
@@ -1,12 +0,0 @@
-v -0.58469160 -0.80475895 0.10246352
-v -0.94605088 0.30739056 0.10246352
-v 0.00000000 0.99473676 0.10246352
-v 0.94605088 0.30739056 0.10246352
-v 0.58469160 -0.80475895 0.10246352
-v 0.00000000 0.00000000 -0.51231761
-f 1 2 6
-f 1 6 5
-f 1 5 4 3 2
-f 2 3 6
-f 3 4 6
-f 4 5 6
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n03.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n03.obj
deleted file mode 100644
index 72508077d5c..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n03.obj
+++ /dev/null
@@ -1,17 +0,0 @@
-v -0.48245064 -0.83562902 0.26261287
-v -0.96490128 0.00000000 0.26261287
-v -0.48245064 0.83562902 0.26261287
-v 0.48245064 0.83562902 0.26261287
-v 0.96490128 -0.00000000 0.26261287
-v 0.48245064 -0.83562902 0.26261287
-v -0.48245064 -0.27854301 -0.52522573
-v 0.00000000 0.55708601 -0.52522573
-v 0.48245064 -0.27854301 -0.52522573
-f 1 2 7
-f 1 7 9 6
-f 1 6 5 4 3 2
-f 2 3 8 7
-f 3 4 8
-f 4 5 9 8
-f 5 6 9
-f 7 8 9
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n04.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n04.obj
deleted file mode 100644
index 03abdf63c9e..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n04.obj
+++ /dev/null
@@ -1,22 +0,0 @@
-v -0.37660445 -0.90920356 0.17753304
-v -0.90920356 -0.37660445 0.17753304
-v -0.90920356 0.37660445 0.17753304
-v -0.37660445 0.90920356 0.17753304
-v 0.37660445 0.90920356 0.17753304
-v 0.90920356 0.37660445 0.17753304
-v 0.90920356 -0.37660445 0.17753304
-v 0.37660445 -0.90920356 0.17753304
-v 0.00000000 -0.53259911 -0.35506608
-v -0.53259911 0.00000000 -0.35506608
-v 0.00000000 0.53259911 -0.35506608
-v 0.53259911 -0.00000000 -0.35506608
-f 1 2 10 9
-f 1 9 8
-f 1 8 7 6 5 4 3 2
-f 2 3 10
-f 3 4 11 10
-f 4 5 11
-f 5 6 12 11
-f 6 7 12
-f 7 8 9 12
-f 9 10 11 12
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n05.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n05.obj
deleted file mode 100644
index 7e79daa2646..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n05.obj
+++ /dev/null
@@ -1,27 +0,0 @@
-v -0.30722035 -0.94552702 0.10767686
-v -0.80431332 -0.58436784 0.10767686
-v -0.99418594 0.00000000 0.10767686
-v -0.80431332 0.58436784 0.10767686
-v -0.30722035 0.94552702 0.10767686
-v 0.30722035 0.94552702 0.10767686
-v 0.80431332 0.58436784 0.10767686
-v 0.99418594 -0.00000000 0.10767686
-v 0.80431332 -0.58436784 0.10767686
-v 0.30722035 -0.94552702 0.10767686
-v -0.30722035 -0.42285254 -0.21535373
-v -0.49709297 0.16151530 -0.21535373
-v 0.00000000 0.52267448 -0.21535373
-v 0.49709297 0.16151530 -0.21535373
-v 0.30722035 -0.42285254 -0.21535373
-f 1 2 11
-f 1 11 15 10
-f 1 10 9 8 7 6 5 4 3 2
-f 2 3 12 11
-f 3 4 12
-f 4 5 13 12
-f 5 6 13
-f 6 7 14 13
-f 7 8 14
-f 8 9 15 14
-f 9 10 15
-f 11 12 13 14 15
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n06.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n06.obj
deleted file mode 100644
index f93e9b729f4..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n06.obj
+++ /dev/null
@@ -1,37 +0,0 @@
-v -0.29220218 -0.89930585 0.32537191
-v -0.76499524 -0.55580158 0.32537191
-v -0.94558612 0.00000000 0.32537191
-v -0.76499524 0.55580158 0.32537191
-v -0.29220218 0.89930585 0.32537191
-v 0.29220218 0.89930585 0.32537191
-v 0.76499524 0.55580158 0.32537191
-v 0.94558612 -0.00000000 0.32537191
-v 0.76499524 -0.55580158 0.32537191
-v 0.29220218 -0.89930585 0.32537191
-v 0.00000000 -0.80436360 -0.17175213
-v -0.76499524 -0.24856202 -0.17175213
-v -0.47279306 0.65074382 -0.17175213
-v 0.47279306 0.65074382 -0.17175213
-v 0.76499524 -0.24856202 -0.17175213
-v -0.29220218 -0.40218180 -0.47899169
-v -0.47279306 0.15361978 -0.47899169
-v 0.00000000 0.49712404 -0.47899169
-v 0.47279306 0.15361978 -0.47899169
-v 0.29220218 -0.40218180 -0.47899169
-f 1 2 12 16 11
-f 1 11 10
-f 1 10 9 8 7 6 5 4 3 2
-f 2 3 12
-f 3 4 13 17 12
-f 4 5 13
-f 5 6 14 18 13
-f 6 7 14
-f 7 8 15 19 14
-f 8 9 15
-f 9 10 11 20 15
-f 11 16 20
-f 12 17 16
-f 13 18 17
-f 14 19 18
-f 15 20 19
-f 16 17 18 19 20
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n07.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n07.obj
deleted file mode 100644
index 529d40b76a3..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n07.obj
+++ /dev/null
@@ -1,14 +0,0 @@
-v -0.44309521 -0.25582114 0.27642855
-v 0.00000000 0.51164228 0.27642855
-v 0.44309521 -0.25582114 0.27642855
-v -0.44309521 -0.25582114 -0.60976188
-v 0.00000000 0.51164228 -0.60976188
-v 0.44309521 -0.25582114 -0.60976188
-v -0.00000000 -0.00000000 1.00000000
-f 1 2 5 4
-f 1 4 6 3
-f 1 3 7
-f 1 7 2
-f 2 3 6 5
-f 2 7 3
-f 4 5 6
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n08.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n08.obj
deleted file mode 100644
index 09205712e09..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n08.obj
+++ /dev/null
@@ -1,18 +0,0 @@
-v -0.34099026 -0.46599026 0.46599026
-v -0.34099026 0.46599026 0.46599026
-v 0.59099026 0.46599026 0.46599026
-v 0.59099026 -0.46599026 0.46599026
-v -0.34099026 -0.46599026 -0.46599026
-v -0.34099026 0.46599026 -0.46599026
-v 0.59099026 0.46599026 -0.46599026
-v 0.59099026 -0.46599026 -0.46599026
-v -1.00000000 0.00000000 -0.00000000
-f 1 5 8 4
-f 1 4 3 2
-f 1 2 9
-f 1 9 5
-f 2 3 7 6
-f 2 6 9
-f 3 4 8 7
-f 5 6 7 8
-f 5 9 6
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n09.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n09.obj
deleted file mode 100644
index e7b7c9a76a0..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n09.obj
+++ /dev/null
@@ -1,22 +0,0 @@
-v -0.48211943 -0.66358047 0.39220581
-v -0.78008563 0.25346519 0.39220581
-v -0.00000000 0.82023057 0.39220581
-v 0.78008563 0.25346519 0.39220581
-v 0.48211943 -0.66358047 0.39220581
-v -0.48211943 -0.66358047 -0.57203305
-v -0.78008563 0.25346519 -0.57203305
-v 0.00000000 0.82023057 -0.57203305
-v 0.78008563 0.25346519 -0.57203305
-v 0.48211943 -0.66358047 -0.57203305
-v 0.00000000 0.00000000 0.89913619
-f 1 2 7 6
-f 1 6 10 5
-f 1 5 11
-f 1 11 2
-f 2 3 8 7
-f 2 11 3
-f 3 4 9 8
-f 3 11 4
-f 4 5 10 9
-f 4 11 5
-f 6 7 8 9 10
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n10.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n10.obj
deleted file mode 100644
index 012f40ee87a..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n10.obj
+++ /dev/null
@@ -1,22 +0,0 @@
-v -0.49886702 -0.49886702 0.29449549
-v -0.49886702 0.49886702 0.29449549
-v 0.49886702 0.49886702 0.29449549
-v 0.49886702 -0.49886702 0.29449549
-v 0.00000000 -0.70550451 -0.54449549
-v -0.70550451 0.00000000 -0.54449549
-v 0.00000000 0.70550451 -0.54449549
-v 0.70550451 -0.00000000 -0.54449549
-v 0.00000000 0.00000000 1.00000000
-f 1 2 6
-f 1 6 5
-f 1 5 4
-f 1 4 9
-f 1 9 2
-f 2 3 7
-f 2 7 6
-f 2 9 3
-f 3 4 8
-f 3 8 7
-f 3 9 4
-f 4 5 8
-f 5 6 7 8
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n11.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n11.obj
deleted file mode 100644
index 291356f88f5..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n11.obj
+++ /dev/null
@@ -1,27 +0,0 @@
-v -0.50365704 -0.69322445 0.34134421
-v -0.81493421 0.26478818 0.34134421
-v -0.00000000 0.85687254 0.34134421
-v 0.81493421 0.26478818 0.34134421
-v 0.50365704 -0.69322445 0.34134421
-v 0.00000000 -0.85687254 -0.51552833
-v -0.81493421 -0.26478818 -0.51552833
-v -0.50365704 0.69322444 -0.51552833
-v 0.50365704 0.69322444 -0.51552833
-v 0.81493421 -0.26478818 -0.51552833
-v 0.00000000 0.00000000 0.87092056
-f 1 2 7
-f 1 7 6
-f 1 6 5
-f 1 5 11
-f 1 11 2
-f 2 3 8
-f 2 8 7
-f 2 11 3
-f 3 4 9
-f 3 9 8
-f 3 11 4
-f 4 5 10
-f 4 10 9
-f 4 11 5
-f 5 6 10
-f 6 7 8 9 10
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n12.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n12.obj
deleted file mode 100644
index 4513f4685ba..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n12.obj
+++ /dev/null
@@ -1,11 +0,0 @@
-v -0.61237244 -0.35355339 0.00000000
-v 0.61237244 -0.35355339 0.00000000
-v 0.00000000 0.00000000 -1.00000000
-v 0.00000000 0.70710678 0.00000000
-v 0.00000000 0.00000000 1.00000000
-f 1 4 3
-f 1 3 2
-f 1 2 5
-f 1 5 4
-f 2 3 4
-f 2 4 5
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n13.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n13.obj
deleted file mode 100644
index ba77013e1f5..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n13.obj
+++ /dev/null
@@ -1,17 +0,0 @@
-v -0.58778525 -0.80901699 0.00000000
-v -0.95105652 0.30901699 0.00000000
-v -0.00000000 1.00000000 0.00000000
-v 0.95105652 0.30901699 0.00000000
-v 0.58778525 -0.80901699 0.00000000
-v 0.00000000 0.00000000 -0.61803399
-v 0.00000000 0.00000000 0.61803399
-f 1 2 6
-f 1 6 5
-f 1 5 7
-f 1 7 2
-f 2 3 6
-f 2 7 3
-f 3 4 6
-f 3 7 4
-f 4 5 6
-f 4 7 5
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n14.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n14.obj
deleted file mode 100644
index 066ad4d08ce..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n14.obj
+++ /dev/null
@@ -1,17 +0,0 @@
-v -0.37979590 -0.21927526 0.37979590
-v 0.00000000 0.43855053 0.37979590
-v 0.37979590 -0.21927526 0.37979590
-v -0.37979590 -0.21927526 -0.37979590
-v 0.00000000 0.43855053 -0.37979590
-v 0.37979590 -0.21927526 -0.37979590
-v -0.00000000 -0.00000000 1.00000000
-v -0.00000000 0.00000000 -1.00000000
-f 1 2 5 4
-f 1 4 6 3
-f 1 3 7
-f 1 7 2
-f 2 3 6 5
-f 2 7 3
-f 4 5 8
-f 4 8 6
-f 5 6 8
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n15.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n15.obj
deleted file mode 100644
index cce594a894e..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n15.obj
+++ /dev/null
@@ -1,22 +0,0 @@
-v -0.41421356 -0.41421356 0.41421356
-v -0.41421356 0.41421356 0.41421356
-v 0.41421356 0.41421356 0.41421356
-v 0.41421356 -0.41421356 0.41421356
-v -0.41421356 -0.41421356 -0.41421356
-v -0.41421356 0.41421356 -0.41421356
-v 0.41421356 0.41421356 -0.41421356
-v 0.41421356 -0.41421356 -0.41421356
-v -1.00000000 0.00000000 -0.00000000
-v 1.00000000 -0.00000000 -0.00000000
-f 1 5 8 4
-f 1 4 3 2
-f 1 2 9
-f 1 9 5
-f 2 3 7 6
-f 2 6 9
-f 3 4 10
-f 3 10 7
-f 4 8 10
-f 5 6 7 8
-f 5 9 6
-f 7 10 8
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n16.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n16.obj
deleted file mode 100644
index 5222ab17f85..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n16.obj
+++ /dev/null
@@ -1,27 +0,0 @@
-v -0.48745718 -0.67092726 0.48745718
-v -0.78872229 0.25627141 0.48745718
-v -0.00000000 0.82931170 0.48745718
-v 0.78872229 0.25627141 0.48745718
-v 0.48745718 -0.67092726 0.48745718
-v -0.48745718 -0.67092726 -0.48745718
-v -0.78872229 0.25627141 -0.48745718
-v 0.00000000 0.82931170 -0.48745718
-v 0.78872229 0.25627141 -0.48745718
-v 0.48745718 -0.67092726 -0.48745718
-v 0.00000000 0.00000000 1.00000000
-v 0.00000000 0.00000000 -1.00000000
-f 1 2 7 6
-f 1 6 10 5
-f 1 5 11
-f 1 11 2
-f 2 3 8 7
-f 2 11 3
-f 3 4 9 8
-f 3 11 4
-f 4 5 10 9
-f 4 11 5
-f 6 7 12
-f 6 12 10
-f 7 8 12
-f 8 9 12
-f 9 10 12
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n17.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n17.obj
deleted file mode 100644
index 5bafb3963b3..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n17.obj
+++ /dev/null
@@ -1,26 +0,0 @@
-v -0.44343735 -0.44343735 0.37288488
-v -0.44343735 0.44343735 0.37288488
-v 0.44343735 0.44343735 0.37288488
-v 0.44343735 -0.44343735 0.37288488
-v 0.00000000 -0.62711512 -0.37288488
-v -0.62711512 0.00000000 -0.37288488
-v 0.00000000 0.62711512 -0.37288488
-v 0.62711512 -0.00000000 -0.37288488
-v 0.00000000 0.00000000 1.00000000
-v 0.00000000 0.00000000 -1.00000000
-f 1 2 6
-f 1 6 5
-f 1 5 4
-f 1 4 9
-f 1 9 2
-f 2 3 7
-f 2 7 6
-f 2 9 3
-f 3 4 8
-f 3 8 7
-f 3 9 4
-f 4 5 8
-f 5 6 10
-f 5 10 8
-f 6 7 10
-f 7 8 10
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n18.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n18.obj
deleted file mode 100644
index 11416d75b63..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n18.obj
+++ /dev/null
@@ -1,29 +0,0 @@
-v -0.39744851 -0.68840102 0.18815267
-v -0.79489703 0.00000000 0.18815267
-v -0.39744851 0.68840102 0.18815267
-v 0.39744851 0.68840102 0.18815267
-v 0.79489703 0.00000000 0.18815267
-v 0.39744851 -0.68840102 0.18815267
-v -0.39744851 -0.68840102 -0.60674436
-v -0.79489703 0.00000000 -0.60674436
-v -0.39744851 0.68840102 -0.60674436
-v 0.39744851 0.68840102 -0.60674436
-v 0.79489703 -0.00000000 -0.60674436
-v 0.39744851 -0.68840102 -0.60674436
-v 0.00000000 -0.45893401 0.83718338
-v 0.39744851 0.22946701 0.83718338
-v -0.39744851 0.22946701 0.83718338
-f 1 2 8 7
-f 1 7 12 6
-f 1 6 13
-f 1 13 15 2
-f 2 3 9 8
-f 2 15 3
-f 3 4 10 9
-f 3 15 14 4
-f 4 5 11 10
-f 4 14 5
-f 5 6 12 11
-f 5 14 13 6
-f 7 8 9 10 11 12
-f 13 14 15
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n19.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n19.obj
deleted file mode 100644
index 6942d041bb6..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n19.obj
+++ /dev/null
@@ -1,38 +0,0 @@
-v -0.33282985 -0.80352235 0.17212538
-v -0.80352235 -0.33282985 0.17212538
-v -0.80352235 0.33282985 0.17212538
-v -0.33282985 0.80352235 0.17212538
-v 0.33282985 0.80352235 0.17212538
-v 0.80352235 0.33282985 0.17212538
-v 0.80352235 -0.33282985 0.17212538
-v 0.33282985 -0.80352235 0.17212538
-v -0.33282985 -0.80352235 -0.49353432
-v -0.80352235 -0.33282985 -0.49353432
-v -0.80352235 0.33282985 -0.49353432
-v -0.33282985 0.80352235 -0.49353432
-v 0.33282985 0.80352235 -0.49353432
-v 0.80352235 0.33282985 -0.49353432
-v 0.80352235 -0.33282985 -0.49353432
-v 0.33282985 -0.80352235 -0.49353432
-v -0.33282985 -0.33282985 0.64281788
-v 0.33282985 -0.33282985 0.64281788
-v 0.33282985 0.33282985 0.64281788
-v -0.33282985 0.33282985 0.64281788
-f 1 2 10 9
-f 1 9 16 8
-f 1 8 18 17
-f 1 17 2
-f 2 3 11 10
-f 2 17 20 3
-f 3 4 12 11
-f 3 20 4
-f 4 5 13 12
-f 4 20 19 5
-f 5 6 14 13
-f 5 19 6
-f 6 7 15 14
-f 6 19 18 7
-f 7 8 16 15
-f 7 18 8
-f 9 10 11 12 13 14 15 16
-f 17 18 19 20
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n20.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n20.obj
deleted file mode 100644
index 48711e26347..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n20.obj
+++ /dev/null
@@ -1,47 +0,0 @@
-v -0.28328429 -0.87185940 -0.16705489
-v -0.74164790 -0.53883874 -0.16705489
-v -0.91672723 0.00000000 -0.16705489
-v -0.74164790 0.53883874 -0.16705489
-v -0.28328429 0.87185940 -0.16705489
-v 0.28328429 0.87185940 -0.16705489
-v 0.74164790 0.53883874 -0.16705489
-v 0.91672722 0.00000000 -0.16705489
-v 0.74164790 -0.53883874 -0.16705489
-v 0.28328429 -0.87185940 -0.16705489
-v -0.28328429 -0.38990738 -0.46491762
-v -0.45836361 0.14893137 -0.46491762
-v 0.00000000 0.48195202 -0.46491762
-v 0.45836361 0.14893137 -0.46491762
-v 0.28328429 -0.38990738 -0.46491762
-v -0.28328429 -0.87185940 0.39951370
-v 0.28328429 -0.87185940 0.39951370
-v 0.74164790 -0.53883874 0.39951370
-v 0.91672722 0.00000000 0.39951370
-v 0.74164790 0.53883874 0.39951370
-v 0.28328429 0.87185940 0.39951370
-v -0.28328429 0.87185940 0.39951370
-v -0.74164790 0.53883874 0.39951370
-v -0.91672723 0.00000000 0.39951370
-v -0.74164790 -0.53883874 0.39951370
-f 1 2 11
-f 1 11 15 10
-f 1 10 17 16
-f 1 16 25 2
-f 2 3 12 11
-f 2 25 24 3
-f 3 4 12
-f 3 24 23 4
-f 4 5 13 12
-f 4 23 22 5
-f 5 6 13
-f 5 22 21 6
-f 6 7 14 13
-f 6 21 20 7
-f 7 8 14
-f 7 20 19 8
-f 8 9 15 14
-f 8 19 18 9
-f 9 10 15
-f 9 18 17 10
-f 11 12 13 14 15
-f 16 17 18 19 20 21 22 23 24 25
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n21.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n21.obj
deleted file mode 100644
index be39dcb0faf..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n21.obj
+++ /dev/null
@@ -1,57 +0,0 @@
-v -0.26010839 -0.80053131 0.01968437
-v -0.68097260 -0.49475556 0.01968437
-v -0.84172843 0.00000000 0.01968437
-v -0.68097260 0.49475556 0.01968437
-v -0.26010839 0.80053131 0.01968437
-v 0.26010839 0.80053131 0.01968437
-v 0.68097260 0.49475556 0.01968437
-v 0.84172843 0.00000000 0.01968437
-v 0.68097260 -0.49475556 0.01968437
-v 0.26010839 -0.80053131 0.01968437
-v 0.00000000 -0.71601697 -0.42283845
-v -0.68097260 -0.22126141 -0.42283845
-v -0.42086421 0.57926990 -0.42283845
-v 0.42086421 0.57926990 -0.42283845
-v 0.68097260 -0.22126141 -0.42283845
-v -0.26010839 -0.35800848 -0.69633260
-v -0.42086421 0.13674707 -0.69633260
-v 0.00000000 0.44252282 -0.69633260
-v 0.42086421 0.13674707 -0.69633260
-v 0.26010839 -0.35800848 -0.69633260
-v -0.26010839 -0.80053131 0.53990115
-v 0.26010839 -0.80053131 0.53990115
-v 0.68097260 -0.49475556 0.53990115
-v 0.84172843 0.00000000 0.53990115
-v 0.68097260 0.49475556 0.53990115
-v 0.26010839 0.80053131 0.53990115
-v -0.26010839 0.80053131 0.53990115
-v -0.68097260 0.49475556 0.53990115
-v -0.84172843 0.00000000 0.53990115
-v -0.68097260 -0.49475556 0.53990115
-f 1 2 12 16 11
-f 1 11 10
-f 1 10 22 21
-f 1 21 30 2
-f 2 3 12
-f 2 30 29 3
-f 3 4 13 17 12
-f 3 29 28 4
-f 4 5 13
-f 4 28 27 5
-f 5 6 14 18 13
-f 5 27 26 6
-f 6 7 14
-f 6 26 25 7
-f 7 8 15 19 14
-f 7 25 24 8
-f 8 9 15
-f 8 24 23 9
-f 9 10 11 20 15
-f 9 23 22 10
-f 11 16 20
-f 12 17 16
-f 13 18 17
-f 14 19 18
-f 15 20 19
-f 16 17 18 19 20
-f 21 22 23 24 25 26 27 28 29 30
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n22.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n22.obj
deleted file mode 100644
index 1dfec909627..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n22.obj
+++ /dev/null
@@ -1,35 +0,0 @@
-v -0.41410547 -0.71725171 0.14820052
-v -0.82821094 0.00000000 0.14820052
-v -0.41410547 0.71725171 0.14820052
-v 0.41410547 0.71725171 0.14820052
-v 0.82821094 0.00000000 0.14820052
-v 0.41410547 -0.71725171 0.14820052
-v 0.00000000 -0.82821094 -0.56041649
-v -0.71725171 -0.41410547 -0.56041649
-v -0.71725171 0.41410547 -0.56041649
-v 0.00000000 0.82821094 -0.56041649
-v 0.71725171 0.41410547 -0.56041649
-v 0.71725171 -0.41410547 -0.56041649
-v 0.00000000 -0.47816781 0.82443193
-v 0.41410547 0.23908390 0.82443193
-v -0.41410547 0.23908390 0.82443193
-f 1 2 8
-f 1 8 7
-f 1 7 6
-f 1 6 13
-f 1 13 15 2
-f 2 3 9
-f 2 9 8
-f 2 15 3
-f 3 4 10
-f 3 10 9
-f 3 15 14 4
-f 4 5 11
-f 4 11 10
-f 4 14 5
-f 5 6 12
-f 5 12 11
-f 5 14 13 6
-f 6 7 12
-f 7 8 9 10 11 12
-f 13 14 15
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n23.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n23.obj
deleted file mode 100644
index a7c786ce2b8..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n23.obj
+++ /dev/null
@@ -1,46 +0,0 @@
-v -0.34182948 -0.82524936 0.13857553
-v -0.82524936 -0.34182948 0.13857553
-v -0.82524936 0.34182948 0.13857553
-v -0.34182948 0.82524936 0.13857553
-v 0.34182948 0.82524936 0.13857553
-v 0.82524936 0.34182948 0.13857553
-v 0.82524936 -0.34182948 0.13857553
-v 0.34182948 -0.82524936 0.13857553
-v 0.00000000 -0.89324347 -0.44957324
-v -0.63161852 -0.63161852 -0.44957324
-v -0.89324347 0.00000000 -0.44957324
-v -0.63161852 0.63161852 -0.44957324
-v 0.00000000 0.89324347 -0.44957324
-v 0.63161852 0.63161852 -0.44957324
-v 0.89324347 -0.00000000 -0.44957324
-v 0.63161852 -0.63161852 -0.44957324
-v -0.34182948 -0.34182948 0.62199542
-v 0.34182948 -0.34182948 0.62199542
-v 0.34182948 0.34182948 0.62199542
-v -0.34182948 0.34182948 0.62199542
-f 1 2 10
-f 1 10 9
-f 1 9 8
-f 1 8 18 17
-f 1 17 2
-f 2 3 11
-f 2 11 10
-f 2 17 20 3
-f 3 4 12
-f 3 12 11
-f 3 20 4
-f 4 5 13
-f 4 13 12
-f 4 20 19 5
-f 5 6 14
-f 5 14 13
-f 5 19 6
-f 6 7 15
-f 6 15 14
-f 6 19 18 7
-f 7 8 16
-f 7 16 15
-f 7 18 8
-f 8 9 16
-f 9 10 11 12 13 14 15 16
-f 17 18 19 20
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n24.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n24.obj
deleted file mode 100644
index 95d5834ff17..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n24.obj
+++ /dev/null
@@ -1,57 +0,0 @@
-v -0.28840390 -0.88761595 -0.13832577
-v -0.75505123 -0.54857683 -0.13832577
-v -0.93329464 0.00000000 -0.13832577
-v -0.75505123 0.54857683 -0.13832577
-v -0.28840391 0.88761595 -0.13832577
-v 0.28840390 0.88761595 -0.13832577
-v 0.75505122 0.54857683 -0.13832577
-v 0.93329464 0.00000000 -0.13832577
-v 0.75505123 -0.54857683 -0.13832577
-v 0.28840391 -0.88761595 -0.13832577
-v -0.28840390 -0.39695392 -0.44157158
-v -0.46664732 0.15162291 -0.44157158
-v 0.00000000 0.49066203 -0.44157158
-v 0.46664732 0.15162291 -0.44157158
-v 0.28840391 -0.39695392 -0.44157158
-v -0.54857683 -0.75505123 0.35911156
-v 0.00000000 -0.93329464 0.35911156
-v 0.54857683 -0.75505123 0.35911156
-v 0.88761595 -0.28840391 0.35911156
-v 0.88761595 0.28840390 0.35911156
-v 0.54857683 0.75505123 0.35911156
-v -0.00000000 0.93329464 0.35911156
-v -0.54857683 0.75505123 0.35911156
-v -0.88761595 0.28840390 0.35911156
-v -0.88761595 -0.28840391 0.35911156
-f 1 2 11
-f 1 11 15 10
-f 1 10 17
-f 1 17 16
-f 1 16 2
-f 2 3 12 11
-f 2 16 25
-f 2 25 3
-f 3 4 12
-f 3 25 24
-f 3 24 4
-f 4 5 13 12
-f 4 24 23
-f 4 23 5
-f 5 6 13
-f 5 23 22
-f 5 22 6
-f 6 7 14 13
-f 6 22 21
-f 6 21 7
-f 7 8 14
-f 7 21 20
-f 7 20 8
-f 8 9 15 14
-f 8 20 19
-f 8 19 9
-f 9 10 15
-f 9 19 18
-f 9 18 10
-f 10 18 17
-f 11 12 13 14 15
-f 16 17 18 19 20 21 22 23 24 25
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n25.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n25.obj
deleted file mode 100644
index e3048519699..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n25.obj
+++ /dev/null
@@ -1,67 +0,0 @@
-v -0.26676074 -0.82100515 0.04465919
-v -0.69838870 -0.50740909 0.04465919
-v -0.86325590 0.00000000 0.04465919
-v -0.69838870 0.50740909 0.04465919
-v -0.26676075 0.82100515 0.04465919
-v 0.26676074 0.82100515 0.04465919
-v 0.69838870 0.50740909 0.04465919
-v 0.86325590 0.00000000 0.04465919
-v 0.69838870 -0.50740909 0.04465919
-v 0.26676074 -0.82100515 0.04465919
-v 0.00000000 -0.73432933 -0.40918129
-v -0.69838870 -0.22692024 -0.40918129
-v -0.43162795 0.59408491 -0.40918129
-v 0.43162795 0.59408491 -0.40918129
-v 0.69838870 -0.22692024 -0.40918129
-v -0.26676074 -0.36716467 -0.68967014
-v -0.43162795 0.14024442 -0.68967014
-v 0.00000000 0.45384049 -0.68967014
-v 0.43162795 0.14024442 -0.68967014
-v 0.26676074 -0.36716467 -0.68967014
-v -0.50740909 -0.69838870 0.50476653
-v 0.00000000 -0.86325590 0.50476653
-v 0.50740909 -0.69838870 0.50476653
-v 0.82100515 -0.26676074 0.50476653
-v 0.82100515 0.26676074 0.50476653
-v 0.50740909 0.69838870 0.50476653
-v -0.00000000 0.86325590 0.50476653
-v -0.50740909 0.69838870 0.50476653
-v -0.82100515 0.26676074 0.50476653
-v -0.82100515 -0.26676074 0.50476653
-f 1 2 12 16 11
-f 1 11 10
-f 1 10 22
-f 1 22 21
-f 1 21 2
-f 2 3 12
-f 2 21 30
-f 2 30 3
-f 3 4 13 17 12
-f 3 30 29
-f 3 29 4
-f 4 5 13
-f 4 29 28
-f 4 28 5
-f 5 6 14 18 13
-f 5 28 27
-f 5 27 6
-f 6 7 14
-f 6 27 26
-f 6 26 7
-f 7 8 15 19 14
-f 7 26 25
-f 7 25 8
-f 8 9 15
-f 8 25 24
-f 8 24 9
-f 9 10 11 20 15
-f 9 24 23
-f 9 23 10
-f 10 23 22
-f 11 16 20
-f 12 17 16
-f 13 18 17
-f 14 19 18
-f 15 20 19
-f 16 17 18 19 20
-f 21 22 23 24 25 26 27 28 29 30
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n26.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n26.obj
deleted file mode 100644
index 3eb6d8d711a..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n26.obj
+++ /dev/null
@@ -1,16 +0,0 @@
-v -0.25000000 -0.43301270 0.50000000
-v 0.25000000 0.43301270 0.50000000
-v 0.75000000 -0.43301270 0.50000000
-v -0.25000000 -0.43301270 -0.50000000
-v 0.25000000 0.43301270 -0.50000000
-v 0.75000000 -0.43301270 -0.50000000
-v -1.00000000 0.00000000 -0.00000000
-v -0.50000000 0.86602540 0.00000000
-f 1 4 6 3
-f 1 3 2
-f 1 2 8 7
-f 1 7 4
-f 2 3 6 5
-f 2 5 8
-f 4 5 6
-f 4 7 8 5
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n27.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n27.obj
deleted file mode 100644
index 41a031009df..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n27.obj
+++ /dev/null
@@ -1,26 +0,0 @@
-v -0.50000000 -0.86602540 0.00000000
-v -1.00000000 0.00000000 0.00000000
-v -0.50000000 0.86602540 0.00000000
-v 0.50000000 0.86602540 0.00000000
-v 1.00000000 -0.00000000 0.00000000
-v 0.50000000 -0.86602540 0.00000000
-v -0.50000000 -0.28867513 -0.81649658
-v 0.00000000 0.57735027 -0.81649658
-v 0.50000000 -0.28867513 -0.81649658
-v -0.50000000 -0.28867513 0.81649658
-v 0.50000000 -0.28867513 0.81649658
-v 0.00000000 0.57735027 0.81649658
-f 1 2 7
-f 1 7 9 6
-f 1 6 11 10
-f 1 10 2
-f 2 3 8 7
-f 2 10 12 3
-f 3 4 8
-f 3 12 4
-f 4 5 9 8
-f 4 12 11 5
-f 5 6 9
-f 5 11 6
-f 7 8 9
-f 10 11 12
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n28.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n28.obj
deleted file mode 100644
index 8d1f142fcb1..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n28.obj
+++ /dev/null
@@ -1,34 +0,0 @@
-v -0.38268343 -0.92387953 -0.00000000
-v -0.92387953 -0.38268343 -0.00000000
-v -0.92387953 0.38268343 -0.00000000
-v -0.38268343 0.92387953 -0.00000000
-v 0.38268343 0.92387953 -0.00000000
-v 0.92387953 0.38268343 -0.00000000
-v 0.92387953 -0.38268343 -0.00000000
-v 0.38268343 -0.92387953 -0.00000000
-v -0.00000000 -0.54119610 -0.54119610
-v -0.54119610 0.00000000 -0.54119610
-v 0.00000000 0.54119610 -0.54119610
-v 0.54119610 -0.00000000 -0.54119610
-v -0.54119610 0.00000000 0.54119610
-v 0.00000000 -0.54119610 0.54119610
-v 0.54119610 -0.00000000 0.54119610
-v -0.00000000 0.54119610 0.54119610
-f 1 2 10 9
-f 1 9 8
-f 1 8 14
-f 1 14 13 2
-f 2 3 10
-f 2 13 3
-f 3 4 11 10
-f 3 13 16 4
-f 4 5 11
-f 4 16 5
-f 5 6 12 11
-f 5 16 15 6
-f 6 7 12
-f 6 15 7
-f 7 8 9 12
-f 7 15 14 8
-f 9 10 11 12
-f 13 14 15 16
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n29.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n29.obj
deleted file mode 100644
index ef7fd148d15..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n29.obj
+++ /dev/null
@@ -1,34 +0,0 @@
-v -0.38268343 -0.92387953 -0.00000000
-v -0.92387953 -0.38268343 -0.00000000
-v -0.92387953 0.38268343 -0.00000000
-v -0.38268343 0.92387953 -0.00000000
-v 0.38268343 0.92387953 -0.00000000
-v 0.92387953 0.38268343 -0.00000000
-v 0.92387953 -0.38268343 -0.00000000
-v 0.38268343 -0.92387953 -0.00000000
-v 0.00000000 -0.54119610 -0.54119610
-v -0.54119610 0.00000000 -0.54119610
-v 0.00000000 0.54119610 -0.54119610
-v 0.54119610 -0.00000000 -0.54119610
-v -0.38268343 -0.38268343 0.54119610
-v 0.38268343 -0.38268343 0.54119610
-v 0.38268343 0.38268343 0.54119610
-v -0.38268343 0.38268343 0.54119610
-f 1 2 10 9
-f 1 9 8
-f 1 8 14 13
-f 1 13 2
-f 2 3 10
-f 2 13 16 3
-f 3 4 11 10
-f 3 16 4
-f 4 5 11
-f 4 16 15 5
-f 5 6 12 11
-f 5 15 6
-f 6 7 12
-f 6 15 14 7
-f 7 8 9 12
-f 7 14 8
-f 9 10 11 12
-f 13 14 15 16
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n30.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n30.obj
deleted file mode 100644
index 565d361a77b..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n30.obj
+++ /dev/null
@@ -1,42 +0,0 @@
-v -0.30901699 -0.95105652 0.00000000
-v -0.80901699 -0.58778525 0.00000000
-v -1.00000000 0.00000000 0.00000000
-v -0.80901699 0.58778525 0.00000000
-v -0.30901699 0.95105652 0.00000000
-v 0.30901699 0.95105652 0.00000000
-v 0.80901699 0.58778525 0.00000000
-v 1.00000000 -0.00000000 0.00000000
-v 0.80901699 -0.58778525 0.00000000
-v 0.30901699 -0.95105652 0.00000000
-v -0.30901699 -0.42532540 -0.32491970
-v -0.50000000 0.16245985 -0.32491970
-v 0.00000000 0.52573111 -0.32491970
-v 0.50000000 0.16245985 -0.32491970
-v 0.30901699 -0.42532540 -0.32491970
-v -0.30901699 -0.42532540 0.32491970
-v 0.30901699 -0.42532540 0.32491970
-v 0.50000000 0.16245985 0.32491970
-v -0.00000000 0.52573111 0.32491970
-v -0.50000000 0.16245985 0.32491970
-f 1 2 11
-f 1 11 15 10
-f 1 10 17 16
-f 1 16 2
-f 2 3 12 11
-f 2 16 20 3
-f 3 4 12
-f 3 20 4
-f 4 5 13 12
-f 4 20 19 5
-f 5 6 13
-f 5 19 6
-f 6 7 14 13
-f 6 19 18 7
-f 7 8 14
-f 7 18 8
-f 8 9 15 14
-f 8 18 17 9
-f 9 10 15
-f 9 17 10
-f 11 12 13 14 15
-f 16 17 18 19 20
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n31.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n31.obj
deleted file mode 100644
index 2bc879c4854..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n31.obj
+++ /dev/null
@@ -1,42 +0,0 @@
-v -0.30901699 -0.95105652 -0.00000000
-v -0.80901699 -0.58778525 -0.00000000
-v -1.00000000 -0.00000000 -0.00000000
-v -0.80901699 0.58778525 -0.00000000
-v -0.30901700 0.95105652 -0.00000000
-v 0.30901699 0.95105652 -0.00000000
-v 0.80901699 0.58778525 -0.00000000
-v 1.00000000 -0.00000000 -0.00000000
-v 0.80901699 -0.58778525 -0.00000000
-v 0.30901699 -0.95105652 -0.00000000
-v -0.30901699 -0.42532540 -0.32491970
-v -0.50000000 0.16245985 -0.32491970
-v 0.00000000 0.52573111 -0.32491970
-v 0.50000000 0.16245985 -0.32491970
-v 0.30901699 -0.42532540 -0.32491970
-v 0.00000000 -0.52573111 0.32491970
-v 0.50000000 -0.16245985 0.32491970
-v 0.30901699 0.42532540 0.32491970
-v -0.30901699 0.42532540 0.32491970
-v -0.50000000 -0.16245985 0.32491970
-f 1 2 11
-f 1 11 15 10
-f 1 10 16
-f 1 16 20 2
-f 2 3 12 11
-f 2 20 3
-f 3 4 12
-f 3 20 19 4
-f 4 5 13 12
-f 4 19 5
-f 5 6 13
-f 5 19 18 6
-f 6 7 14 13
-f 6 18 7
-f 7 8 14
-f 7 18 17 8
-f 8 9 15 14
-f 8 17 9
-f 9 10 15
-f 9 17 16 10
-f 11 12 13 14 15
-f 16 17 18 19 20
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n32.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n32.obj
deleted file mode 100644
index 39d12437518..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n32.obj
+++ /dev/null
@@ -1,52 +0,0 @@
-v -0.30240276 -0.93070001 -0.20579132
-v -0.79170071 -0.57520424 -0.20579132
-v -0.97859590 -0.00000000 -0.20579132
-v -0.79170071 0.57520424 -0.20579132
-v -0.30240276 0.93070001 -0.20579132
-v 0.30240276 0.93070001 -0.20579132
-v 0.79170071 0.57520424 -0.20579132
-v 0.97859590 -0.00000000 -0.20579132
-v 0.79170071 -0.57520424 -0.20579132
-v 0.30240276 -0.93070001 -0.20579132
-v -0.30240276 -0.41622170 -0.52375640
-v -0.48929795 0.15898254 -0.52375641
-v 0.00000000 0.51447831 -0.52375641
-v 0.48929795 0.15898254 -0.52375641
-v 0.30240276 -0.41622170 -0.52375640
-v -0.48929795 -0.67346085 0.30868699
-v 0.48929795 -0.67346085 0.30868699
-v 0.79170071 0.25723915 0.30868699
-v -0.00000000 0.83244339 0.30868699
-v -0.79170071 0.25723915 0.30868699
-v 0.00000000 -0.51447831 0.62665207
-v 0.48929795 -0.15898254 0.62665207
-v 0.30240276 0.41622170 0.62665207
-v -0.30240276 0.41622170 0.62665207
-v -0.48929795 -0.15898254 0.62665207
-f 1 2 11
-f 1 11 15 10
-f 1 10 17 21 16
-f 1 16 2
-f 2 3 12 11
-f 2 16 25 20 3
-f 3 4 12
-f 3 20 4
-f 4 5 13 12
-f 4 20 24 19 5
-f 5 6 13
-f 5 19 6
-f 6 7 14 13
-f 6 19 23 18 7
-f 7 8 14
-f 7 18 8
-f 8 9 15 14
-f 8 18 22 17 9
-f 9 10 15
-f 9 17 10
-f 11 12 13 14 15
-f 16 21 25
-f 17 22 21
-f 18 23 22
-f 19 24 23
-f 20 25 24
-f 21 22 23 24 25
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n33.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n33.obj
deleted file mode 100644
index 4fb6508f9ef..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n33.obj
+++ /dev/null
@@ -1,52 +0,0 @@
-v -0.30240276 -0.93070001 -0.20579132
-v -0.79170071 -0.57520424 -0.20579132
-v -0.97859590 0.00000000 -0.20579132
-v -0.79170071 0.57520424 -0.20579132
-v -0.30240276 0.93070001 -0.20579132
-v 0.30240276 0.93070001 -0.20579132
-v 0.79170071 0.57520424 -0.20579132
-v 0.97859590 -0.00000000 -0.20579132
-v 0.79170071 -0.57520424 -0.20579132
-v 0.30240276 -0.93070001 -0.20579132
-v -0.30240276 -0.41622170 -0.52375641
-v -0.48929795 0.15898254 -0.52375641
-v 0.00000000 0.51447831 -0.52375641
-v 0.48929795 0.15898254 -0.52375641
-v 0.30240276 -0.41622170 -0.52375641
-v -0.79170071 -0.25723915 0.30868699
-v 0.00000000 -0.83244339 0.30868699
-v 0.79170071 -0.25723915 0.30868699
-v 0.48929795 0.67346085 0.30868699
-v -0.48929795 0.67346085 0.30868699
-v -0.30240276 -0.41622170 0.62665207
-v 0.30240276 -0.41622170 0.62665207
-v 0.48929795 0.15898254 0.62665207
-v -0.00000000 0.51447831 0.62665207
-v -0.48929795 0.15898254 0.62665207
-f 1 2 11
-f 1 11 15 10
-f 1 10 17
-f 1 17 21 16 2
-f 2 3 12 11
-f 2 16 3
-f 3 4 12
-f 3 16 25 20 4
-f 4 5 13 12
-f 4 20 5
-f 5 6 13
-f 5 20 24 19 6
-f 6 7 14 13
-f 6 19 7
-f 7 8 14
-f 7 19 23 18 8
-f 8 9 15 14
-f 8 18 9
-f 9 10 15
-f 9 18 22 17 10
-f 11 12 13 14 15
-f 16 21 25
-f 17 22 21
-f 18 23 22
-f 19 24 23
-f 20 25 24
-f 21 22 23 24 25
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n34.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n34.obj
deleted file mode 100644
index eea5439f912..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n34.obj
+++ /dev/null
@@ -1,62 +0,0 @@
-v -0.30901699 -0.95105652 0.00000000
-v -0.80901699 -0.58778525 0.00000000
-v -1.00000000 0.00000000 0.00000000
-v -0.80901699 0.58778525 0.00000000
-v -0.30901699 0.95105652 0.00000000
-v 0.30901699 0.95105652 0.00000000
-v 0.80901699 0.58778525 0.00000000
-v 1.00000000 -0.00000000 0.00000000
-v 0.80901699 -0.58778525 0.00000000
-v 0.30901699 -0.95105652 0.00000000
-v -0.00000000 -0.85065081 -0.52573111
-v -0.80901699 -0.26286556 -0.52573111
-v -0.50000000 0.68819096 -0.52573111
-v 0.50000000 0.68819096 -0.52573111
-v 0.80901699 -0.26286556 -0.52573111
-v -0.30901699 -0.42532540 -0.85065081
-v -0.50000000 0.16245985 -0.85065081
-v 0.00000000 0.52573111 -0.85065081
-v 0.50000000 0.16245985 -0.85065081
-v 0.30901699 -0.42532540 -0.85065081
-v -0.80901699 -0.26286556 0.52573111
-v 0.00000000 -0.85065081 0.52573111
-v 0.80901699 -0.26286556 0.52573111
-v 0.50000000 0.68819096 0.52573111
-v -0.50000000 0.68819096 0.52573111
-v -0.30901699 -0.42532540 0.85065081
-v 0.30901699 -0.42532540 0.85065081
-v 0.50000000 0.16245985 0.85065081
-v -0.00000000 0.52573111 0.85065081
-v -0.50000000 0.16245985 0.85065081
-f 1 2 12 16 11
-f 1 11 10
-f 1 10 22
-f 1 22 26 21 2
-f 2 3 12
-f 2 21 3
-f 3 4 13 17 12
-f 3 21 30 25 4
-f 4 5 13
-f 4 25 5
-f 5 6 14 18 13
-f 5 25 29 24 6
-f 6 7 14
-f 6 24 7
-f 7 8 15 19 14
-f 7 24 28 23 8
-f 8 9 15
-f 8 23 9
-f 9 10 11 20 15
-f 9 23 27 22 10
-f 11 16 20
-f 12 17 16
-f 13 18 17
-f 14 19 18
-f 15 20 19
-f 16 17 18 19 20
-f 21 26 30
-f 22 27 26
-f 23 28 27
-f 24 29 28
-f 25 30 29
-f 26 27 28 29 30
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n35.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n35.obj
deleted file mode 100644
index ed3b9efc4a1..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n35.obj
+++ /dev/null
@@ -1,38 +0,0 @@
-v -0.34781848 -0.60243929 0.34781848
-v -0.69563697 0.00000000 0.34781848
-v -0.34781848 0.60243929 0.34781848
-v 0.34781848 0.60243929 0.34781848
-v 0.69563697 0.00000000 0.34781848
-v 0.34781848 -0.60243929 0.34781848
-v -0.34781848 -0.60243929 -0.34781848
-v -0.69563697 0.00000000 -0.34781848
-v -0.34781848 0.60243929 -0.34781848
-v 0.34781848 0.60243929 -0.34781848
-v 0.69563697 -0.00000000 -0.34781848
-v 0.34781848 -0.60243929 -0.34781848
-v 0.00000000 -0.40162619 0.91580369
-v 0.34781848 0.20081310 0.91580369
-v -0.34781848 0.20081310 0.91580369
-v -0.34781848 0.20081310 -0.91580369
-v 0.34781848 0.20081310 -0.91580369
-v 0.00000000 -0.40162619 -0.91580369
-f 1 2 8 7
-f 1 7 12 6
-f 1 6 13
-f 1 13 15 2
-f 2 3 9 8
-f 2 15 3
-f 3 4 10 9
-f 3 15 14 4
-f 4 5 11 10
-f 4 14 5
-f 5 6 12 11
-f 5 14 13 6
-f 7 8 16 18
-f 7 18 12
-f 8 9 16
-f 9 10 17 16
-f 10 11 17
-f 11 12 18 17
-f 13 14 15
-f 16 17 18
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n36.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n36.obj
deleted file mode 100644
index 977ef5c4c57..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n36.obj
+++ /dev/null
@@ -1,38 +0,0 @@
-v -0.34781848 -0.60243929 0.34781848
-v -0.69563697 0.00000000 0.34781848
-v -0.34781848 0.60243929 0.34781848
-v 0.34781848 0.60243929 0.34781848
-v 0.69563697 0.00000000 0.34781848
-v 0.34781848 -0.60243929 0.34781848
-v -0.34781848 -0.60243929 -0.34781848
-v -0.69563697 0.00000000 -0.34781848
-v -0.34781848 0.60243929 -0.34781848
-v 0.34781848 0.60243929 -0.34781848
-v 0.69563697 -0.00000000 -0.34781848
-v 0.34781848 -0.60243929 -0.34781848
-v 0.00000000 -0.40162619 0.91580369
-v 0.34781848 0.20081310 0.91580369
-v -0.34781848 0.20081310 0.91580369
-v -0.34781848 -0.20081310 -0.91580369
-v -0.00000000 0.40162619 -0.91580369
-v 0.34781848 -0.20081310 -0.91580369
-f 1 2 8 7
-f 1 7 12 6
-f 1 6 13
-f 1 13 15 2
-f 2 3 9 8
-f 2 15 3
-f 3 4 10 9
-f 3 15 14 4
-f 4 5 11 10
-f 4 14 5
-f 5 6 12 11
-f 5 14 13 6
-f 7 8 16
-f 7 16 18 12
-f 8 9 17 16
-f 9 10 17
-f 10 11 18 17
-f 11 12 18
-f 13 14 15
-f 16 17 18
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n37.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n37.obj
deleted file mode 100644
index 69c08490ad6..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n37.obj
+++ /dev/null
@@ -1,50 +0,0 @@
-v -0.35740674 -0.86285621 0.35740674
-v -0.86285621 -0.35740674 0.35740674
-v -0.86285621 0.35740674 0.35740674
-v -0.35740674 0.86285621 0.35740674
-v 0.35740674 0.86285621 0.35740674
-v 0.86285621 0.35740674 0.35740674
-v 0.86285621 -0.35740674 0.35740674
-v 0.35740674 -0.86285621 0.35740674
-v -0.35740674 -0.86285621 -0.35740674
-v -0.86285621 -0.35740674 -0.35740674
-v -0.86285621 0.35740674 -0.35740674
-v -0.35740674 0.86285621 -0.35740674
-v 0.35740674 0.86285621 -0.35740674
-v 0.86285621 0.35740674 -0.35740674
-v 0.86285621 -0.35740674 -0.35740674
-v 0.35740674 -0.86285621 -0.35740674
-v -0.35740674 -0.35740674 0.86285621
-v 0.35740674 -0.35740674 0.86285621
-v 0.35740674 0.35740674 0.86285621
-v -0.35740674 0.35740674 0.86285621
-v 0.00000000 -0.50544946 -0.86285621
-v -0.50544946 -0.00000000 -0.86285621
-v 0.00000000 0.50544946 -0.86285621
-v 0.50544946 -0.00000000 -0.86285621
-f 1 2 10 9
-f 1 9 16 8
-f 1 8 18 17
-f 1 17 2
-f 2 3 11 10
-f 2 17 20 3
-f 3 4 12 11
-f 3 20 4
-f 4 5 13 12
-f 4 20 19 5
-f 5 6 14 13
-f 5 19 6
-f 6 7 15 14
-f 6 19 18 7
-f 7 8 16 15
-f 7 18 8
-f 9 10 22 21
-f 9 21 16
-f 10 11 22
-f 11 12 23 22
-f 12 13 23
-f 13 14 24 23
-f 14 15 24
-f 15 16 21 24
-f 17 18 19 20
-f 21 22 23 24
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n38.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n38.obj
deleted file mode 100644
index fd528ea35d0..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n38.obj
+++ /dev/null
@@ -1,62 +0,0 @@
-v -0.29524181 -0.90866085 -0.29524181
-v -0.77295309 -0.56158329 -0.29524181
-v -0.95542256 0.00000000 -0.29524181
-v -0.77295309 0.56158329 -0.29524181
-v -0.29524181 0.90866085 -0.29524181
-v 0.29524181 0.90866085 -0.29524181
-v 0.77295309 0.56158329 -0.29524181
-v 0.95542256 0.00000000 -0.29524181
-v 0.77295309 -0.56158329 -0.29524181
-v 0.29524181 -0.90866085 -0.29524181
-v -0.29524181 -0.40636549 -0.60567742
-v -0.47771128 0.15521780 -0.60567742
-v 0.00000000 0.50229537 -0.60567742
-v 0.47771128 0.15521780 -0.60567742
-v 0.29524181 -0.40636549 -0.60567742
-v -0.29524181 -0.90866085 0.29524181
-v 0.29524181 -0.90866085 0.29524181
-v 0.77295309 -0.56158329 0.29524181
-v 0.95542256 -0.00000000 0.29524181
-v 0.77295309 0.56158329 0.29524181
-v 0.29524181 0.90866085 0.29524181
-v -0.29524181 0.90866085 0.29524181
-v -0.77295309 0.56158329 0.29524181
-v -0.95542256 0.00000000 0.29524181
-v -0.77295309 -0.56158329 0.29524181
-v -0.29524181 -0.40636549 0.60567742
-v 0.29524181 -0.40636549 0.60567742
-v 0.47771128 0.15521780 0.60567742
-v 0.00000000 0.50229537 0.60567742
-v -0.47771128 0.15521780 0.60567742
-f 1 2 11
-f 1 11 15 10
-f 1 10 17 16
-f 1 16 25 2
-f 2 3 12 11
-f 2 25 24 3
-f 3 4 12
-f 3 24 23 4
-f 4 5 13 12
-f 4 23 22 5
-f 5 6 13
-f 5 22 21 6
-f 6 7 14 13
-f 6 21 20 7
-f 7 8 14
-f 7 20 19 8
-f 8 9 15 14
-f 8 19 18 9
-f 9 10 15
-f 9 18 17 10
-f 11 12 13 14 15
-f 16 17 27 26
-f 16 26 25
-f 17 18 27
-f 18 19 28 27
-f 19 20 28
-f 20 21 29 28
-f 21 22 29
-f 22 23 30 29
-f 23 24 30
-f 24 25 26 30
-f 26 27 28 29 30
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n39.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n39.obj
deleted file mode 100644
index 5cb96de7df0..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n39.obj
+++ /dev/null
@@ -1,62 +0,0 @@
-v -0.29524181 -0.90866085 -0.29524181
-v -0.77295309 -0.56158329 -0.29524181
-v -0.95542256 -0.00000000 -0.29524181
-v -0.77295309 0.56158329 -0.29524181
-v -0.29524181 0.90866085 -0.29524181
-v 0.29524181 0.90866085 -0.29524181
-v 0.77295309 0.56158329 -0.29524181
-v 0.95542256 -0.00000000 -0.29524181
-v 0.77295309 -0.56158329 -0.29524181
-v 0.29524181 -0.90866085 -0.29524181
-v -0.29524181 -0.40636549 -0.60567742
-v -0.47771128 0.15521780 -0.60567742
-v 0.00000000 0.50229537 -0.60567742
-v 0.47771128 0.15521780 -0.60567742
-v 0.29524181 -0.40636549 -0.60567742
-v -0.29524181 -0.90866085 0.29524181
-v 0.29524181 -0.90866085 0.29524181
-v 0.77295309 -0.56158329 0.29524181
-v 0.95542256 0.00000000 0.29524181
-v 0.77295309 0.56158329 0.29524181
-v 0.29524181 0.90866085 0.29524181
-v -0.29524181 0.90866085 0.29524181
-v -0.77295309 0.56158329 0.29524181
-v -0.95542256 0.00000000 0.29524181
-v -0.77295309 -0.56158329 0.29524181
-v 0.00000000 -0.50229537 0.60567742
-v 0.47771128 -0.15521780 0.60567742
-v 0.29524181 0.40636549 0.60567742
-v -0.29524181 0.40636549 0.60567742
-v -0.47771128 -0.15521780 0.60567742
-f 1 2 11
-f 1 11 15 10
-f 1 10 17 16
-f 1 16 25 2
-f 2 3 12 11
-f 2 25 24 3
-f 3 4 12
-f 3 24 23 4
-f 4 5 13 12
-f 4 23 22 5
-f 5 6 13
-f 5 22 21 6
-f 6 7 14 13
-f 6 21 20 7
-f 7 8 14
-f 7 20 19 8
-f 8 9 15 14
-f 8 19 18 9
-f 9 10 15
-f 9 18 17 10
-f 11 12 13 14 15
-f 16 17 26
-f 16 26 30 25
-f 17 18 27 26
-f 18 19 27
-f 19 20 28 27
-f 20 21 28
-f 21 22 29 28
-f 22 23 29
-f 23 24 30 29
-f 24 25 30
-f 26 27 28 29 30
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n40.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n40.obj
deleted file mode 100644
index c1b57f02050..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n40.obj
+++ /dev/null
@@ -1,72 +0,0 @@
-v -0.27602000 -0.84950220 -0.44962093
-v -0.72262973 -0.52502123 -0.44962093
-v -0.89321947 -0.00000000 -0.44962093
-v -0.72262973 0.52502123 -0.44962093
-v -0.27602000 0.84950220 -0.44962093
-v 0.27601999 0.84950220 -0.44962093
-v 0.72262973 0.52502123 -0.44962093
-v 0.89321947 -0.00000000 -0.44962093
-v 0.72262973 -0.52502123 -0.44962093
-v 0.27602000 -0.84950220 -0.44962093
-v -0.27602000 -0.37990893 -0.73984553
-v -0.44660973 0.14511230 -0.73984553
-v 0.00000000 0.46959326 -0.73984553
-v 0.44660974 0.14511230 -0.73984553
-v 0.27602000 -0.37990893 -0.73984553
-v -0.27602000 -0.84950220 0.10241906
-v 0.27602000 -0.84950220 0.10241906
-v 0.72262973 -0.52502123 0.10241906
-v 0.89321947 -0.00000000 0.10241906
-v 0.72262973 0.52502123 0.10241906
-v 0.27601999 0.84950220 0.10241906
-v -0.27602000 0.84950220 0.10241906
-v -0.72262973 0.52502123 0.10241906
-v -0.89321947 -0.00000000 0.10241906
-v -0.72262973 -0.52502123 0.10241906
-v -0.44660973 -0.61470556 0.57201233
-v 0.44660974 -0.61470556 0.57201233
-v 0.72262973 0.23479663 0.57201233
-v -0.00000000 0.75981786 0.57201233
-v -0.72262973 0.23479663 0.57201233
-v 0.00000000 -0.46959326 0.86223693
-v 0.44660973 -0.14511230 0.86223693
-v 0.27602000 0.37990893 0.86223693
-v -0.27602000 0.37990893 0.86223693
-v -0.44660973 -0.14511230 0.86223693
-f 1 2 11
-f 1 11 15 10
-f 1 10 17 16
-f 1 16 25 2
-f 2 3 12 11
-f 2 25 24 3
-f 3 4 12
-f 3 24 23 4
-f 4 5 13 12
-f 4 23 22 5
-f 5 6 13
-f 5 22 21 6
-f 6 7 14 13
-f 6 21 20 7
-f 7 8 14
-f 7 20 19 8
-f 8 9 15 14
-f 8 19 18 9
-f 9 10 15
-f 9 18 17 10
-f 11 12 13 14 15
-f 16 17 27 31 26
-f 16 26 25
-f 17 18 27
-f 18 19 28 32 27
-f 19 20 28
-f 20 21 29 33 28
-f 21 22 29
-f 22 23 30 34 29
-f 23 24 30
-f 24 25 26 35 30
-f 26 31 35
-f 27 32 31
-f 28 33 32
-f 29 34 33
-f 30 35 34
-f 31 32 33 34 35
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n41.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n41.obj
deleted file mode 100644
index 3adcc5a79f6..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n41.obj
+++ /dev/null
@@ -1,72 +0,0 @@
-v -0.27602000 -0.84950220 -0.44962093
-v -0.72262973 -0.52502123 -0.44962093
-v -0.89321947 0.00000000 -0.44962093
-v -0.72262973 0.52502123 -0.44962093
-v -0.27602000 0.84950220 -0.44962093
-v 0.27601999 0.84950220 -0.44962093
-v 0.72262973 0.52502123 -0.44962093
-v 0.89321947 0.00000000 -0.44962093
-v 0.72262973 -0.52502123 -0.44962093
-v 0.27602000 -0.84950220 -0.44962093
-v -0.27602000 -0.37990893 -0.73984553
-v -0.44660973 0.14511230 -0.73984553
-v 0.00000000 0.46959326 -0.73984553
-v 0.44660973 0.14511230 -0.73984553
-v 0.27602000 -0.37990893 -0.73984553
-v -0.27602000 -0.84950220 0.10241906
-v 0.27602000 -0.84950220 0.10241906
-v 0.72262973 -0.52502123 0.10241906
-v 0.89321947 -0.00000000 0.10241906
-v 0.72262973 0.52502123 0.10241906
-v 0.27602000 0.84950220 0.10241906
-v -0.27602000 0.84950220 0.10241906
-v -0.72262973 0.52502123 0.10241906
-v -0.89321947 -0.00000000 0.10241906
-v -0.72262973 -0.52502123 0.10241906
-v -0.72262973 -0.23479663 0.57201233
-v 0.00000000 -0.75981786 0.57201233
-v 0.72262973 -0.23479663 0.57201233
-v 0.44660973 0.61470556 0.57201233
-v -0.44660973 0.61470556 0.57201233
-v -0.27602000 -0.37990893 0.86223693
-v 0.27602000 -0.37990893 0.86223693
-v 0.44660973 0.14511230 0.86223693
-v 0.00000000 0.46959326 0.86223693
-v -0.44660973 0.14511230 0.86223693
-f 1 2 11
-f 1 11 15 10
-f 1 10 17 16
-f 1 16 25 2
-f 2 3 12 11
-f 2 25 24 3
-f 3 4 12
-f 3 24 23 4
-f 4 5 13 12
-f 4 23 22 5
-f 5 6 13
-f 5 22 21 6
-f 6 7 14 13
-f 6 21 20 7
-f 7 8 14
-f 7 20 19 8
-f 8 9 15 14
-f 8 19 18 9
-f 9 10 15
-f 9 18 17 10
-f 11 12 13 14 15
-f 16 17 27
-f 16 27 31 26 25
-f 17 18 28 32 27
-f 18 19 28
-f 19 20 29 33 28
-f 20 21 29
-f 21 22 30 34 29
-f 22 23 30
-f 23 24 26 35 30
-f 24 25 26
-f 26 31 35
-f 27 32 31
-f 28 33 32
-f 29 34 33
-f 30 35 34
-f 31 32 33 34 35
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n42.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n42.obj
deleted file mode 100644
index 414d704acde..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n42.obj
+++ /dev/null
@@ -1,82 +0,0 @@
-v -0.24269512 -0.74693876 -0.24269512
-v -0.63538406 -0.46163354 -0.24269512
-v -0.78537789 0.00000000 -0.24269512
-v -0.63538406 0.46163354 -0.24269512
-v -0.24269512 0.74693876 -0.24269512
-v 0.24269512 0.74693876 -0.24269512
-v 0.63538406 0.46163354 -0.24269512
-v 0.78537789 0.00000000 -0.24269512
-v 0.63538406 -0.46163354 -0.24269512
-v 0.24269512 -0.74693876 -0.24269512
-v 0.00000000 -0.66808234 -0.65559271
-v -0.63538406 -0.20644880 -0.65559271
-v -0.39268895 0.54048997 -0.65559271
-v 0.39268895 0.54048997 -0.65559271
-v 0.63538406 -0.20644880 -0.65559271
-v -0.24269512 -0.33404117 -0.91077746
-v -0.39268895 0.12759237 -0.91077746
-v 0.00000000 0.41289759 -0.91077746
-v 0.39268895 0.12759237 -0.91077746
-v 0.24269512 -0.33404117 -0.91077746
-v -0.24269512 -0.74693876 0.24269512
-v 0.24269512 -0.74693876 0.24269512
-v 0.63538406 -0.46163354 0.24269512
-v 0.78537789 -0.00000000 0.24269512
-v 0.63538406 0.46163354 0.24269512
-v 0.24269512 0.74693876 0.24269512
-v -0.24269512 0.74693876 0.24269512
-v -0.63538406 0.46163354 0.24269512
-v -0.78537789 0.00000000 0.24269512
-v -0.63538406 -0.46163354 0.24269512
-v -0.63538406 -0.20644880 0.65559271
-v 0.00000000 -0.66808234 0.65559271
-v 0.63538406 -0.20644880 0.65559271
-v 0.39268895 0.54048997 0.65559271
-v -0.39268895 0.54048997 0.65559271
-v -0.24269512 -0.33404117 0.91077746
-v 0.24269512 -0.33404117 0.91077746
-v 0.39268895 0.12759237 0.91077746
-v 0.00000000 0.41289759 0.91077746
-v -0.39268895 0.12759237 0.91077746
-f 1 2 12 16 11
-f 1 11 10
-f 1 10 22 21
-f 1 21 30 2
-f 2 3 12
-f 2 30 29 3
-f 3 4 13 17 12
-f 3 29 28 4
-f 4 5 13
-f 4 28 27 5
-f 5 6 14 18 13
-f 5 27 26 6
-f 6 7 14
-f 6 26 25 7
-f 7 8 15 19 14
-f 7 25 24 8
-f 8 9 15
-f 8 24 23 9
-f 9 10 11 20 15
-f 9 23 22 10
-f 11 16 20
-f 12 17 16
-f 13 18 17
-f 14 19 18
-f 15 20 19
-f 16 17 18 19 20
-f 21 22 32
-f 21 32 36 31 30
-f 22 23 33 37 32
-f 23 24 33
-f 24 25 34 38 33
-f 25 26 34
-f 26 27 35 39 34
-f 27 28 35
-f 28 29 31 40 35
-f 29 30 31
-f 31 36 40
-f 32 37 36
-f 33 38 37
-f 34 39 38
-f 35 40 39
-f 36 37 38 39 40
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n43.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n43.obj
deleted file mode 100644
index 15b86180d04..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n43.obj
+++ /dev/null
@@ -1,82 +0,0 @@
-v -0.24269512 -0.74693876 -0.24269512
-v -0.63538406 -0.46163354 -0.24269512
-v -0.78537789 -0.00000000 -0.24269512
-v -0.63538406 0.46163354 -0.24269512
-v -0.24269512 0.74693876 -0.24269512
-v 0.24269512 0.74693876 -0.24269512
-v 0.63538406 0.46163354 -0.24269512
-v 0.78537789 -0.00000000 -0.24269512
-v 0.63538406 -0.46163354 -0.24269512
-v 0.24269512 -0.74693876 -0.24269512
-v 0.00000000 -0.66808234 -0.65559271
-v -0.63538406 -0.20644880 -0.65559271
-v -0.39268895 0.54048997 -0.65559271
-v 0.39268895 0.54048997 -0.65559271
-v 0.63538406 -0.20644880 -0.65559271
-v -0.24269512 -0.33404117 -0.91077746
-v -0.39268895 0.12759237 -0.91077746
-v 0.00000000 0.41289759 -0.91077746
-v 0.39268895 0.12759237 -0.91077746
-v 0.24269512 -0.33404117 -0.91077746
-v -0.24269512 -0.74693876 0.24269512
-v 0.24269512 -0.74693876 0.24269512
-v 0.63538406 -0.46163354 0.24269512
-v 0.78537789 0.00000000 0.24269512
-v 0.63538406 0.46163354 0.24269512
-v 0.24269512 0.74693876 0.24269512
-v -0.24269512 0.74693876 0.24269512
-v -0.63538406 0.46163354 0.24269512
-v -0.78537789 0.00000000 0.24269512
-v -0.63538406 -0.46163354 0.24269512
-v -0.39268895 -0.54048997 0.65559271
-v 0.39268895 -0.54048997 0.65559271
-v 0.63538406 0.20644880 0.65559271
-v -0.00000000 0.66808234 0.65559271
-v -0.63538406 0.20644880 0.65559271
-v 0.00000000 -0.41289759 0.91077746
-v 0.39268895 -0.12759237 0.91077746
-v 0.24269512 0.33404117 0.91077746
-v -0.24269512 0.33404117 0.91077746
-v -0.39268895 -0.12759237 0.91077746
-f 1 2 12 16 11
-f 1 11 10
-f 1 10 22 21
-f 1 21 30 2
-f 2 3 12
-f 2 30 29 3
-f 3 4 13 17 12
-f 3 29 28 4
-f 4 5 13
-f 4 28 27 5
-f 5 6 14 18 13
-f 5 27 26 6
-f 6 7 14
-f 6 26 25 7
-f 7 8 15 19 14
-f 7 25 24 8
-f 8 9 15
-f 8 24 23 9
-f 9 10 11 20 15
-f 9 23 22 10
-f 11 16 20
-f 12 17 16
-f 13 18 17
-f 14 19 18
-f 15 20 19
-f 16 17 18 19 20
-f 21 22 32 36 31
-f 21 31 30
-f 22 23 32
-f 23 24 33 37 32
-f 24 25 33
-f 25 26 34 38 33
-f 26 27 34
-f 27 28 35 39 34
-f 28 29 35
-f 29 30 31 40 35
-f 31 36 40
-f 32 37 36
-f 33 38 37
-f 34 39 38
-f 35 40 39
-f 36 37 38 39 40
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n44L.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n44L.obj
deleted file mode 100644
index a118aec6458..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n44L.obj
+++ /dev/null
@@ -1,44 +0,0 @@
-v -0.36450673 -0.63134418 0.31187184
-v -0.72901347 0.00000000 0.31187184
-v -0.36450673 0.63134418 0.31187184
-v 0.36450673 0.63134418 0.31187184
-v 0.72901347 0.00000000 0.31187184
-v 0.36450673 -0.63134418 0.31187184
-v 0.00000000 -0.72901347 -0.31187184
-v -0.63134418 -0.36450673 -0.31187184
-v -0.63134418 0.36450673 -0.31187184
-v -0.00000000 0.72901347 -0.31187184
-v 0.63134418 0.36450673 -0.31187184
-v 0.63134418 -0.36450673 -0.31187184
-v 0.00000000 -0.42089612 0.90710884
-v 0.36450673 0.21044806 0.90710884
-v -0.36450673 0.21044806 0.90710884
-v 0.21044806 -0.36450673 -0.90710884
-v -0.42089612 0.00000000 -0.90710884
-v 0.21044806 0.36450673 -0.90710884
-f 1 2 8
-f 1 8 7
-f 1 7 6
-f 1 6 13
-f 1 13 15 2
-f 2 3 9
-f 2 9 8
-f 2 15 3
-f 3 4 10
-f 3 10 9
-f 3 15 14 4
-f 4 5 11
-f 4 11 10
-f 4 14 5
-f 5 6 12
-f 5 12 11
-f 5 14 13 6
-f 6 7 12
-f 7 8 17 16
-f 7 16 12
-f 8 9 17
-f 9 10 18 17
-f 10 11 18
-f 11 12 16 18
-f 13 14 15
-f 16 17 18
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n44R.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n44R.obj
deleted file mode 100644
index d29c2764e43..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n44R.obj
+++ /dev/null
@@ -1,44 +0,0 @@
-v -0.36450673 -0.63134418 0.31187184
-v -0.72901347 0.00000000 0.31187184
-v -0.36450673 0.63134418 0.31187184
-v 0.36450673 0.63134418 0.31187184
-v 0.72901347 0.00000000 0.31187184
-v 0.36450673 -0.63134418 0.31187184
-v 0.00000000 -0.72901347 -0.31187184
-v -0.63134418 -0.36450673 -0.31187184
-v -0.63134418 0.36450673 -0.31187184
-v 0.00000000 0.72901347 -0.31187184
-v 0.63134418 0.36450673 -0.31187184
-v 0.63134418 -0.36450673 -0.31187184
-v 0.00000000 -0.42089612 0.90710884
-v 0.36450673 0.21044806 0.90710884
-v -0.36450673 0.21044806 0.90710884
-v -0.21044806 -0.36450673 -0.90710884
-v -0.21044806 0.36450673 -0.90710884
-v 0.42089612 -0.00000000 -0.90710884
-f 1 2 8
-f 1 8 7
-f 1 7 6
-f 1 6 13
-f 1 13 15 2
-f 2 3 9
-f 2 9 8
-f 2 15 3
-f 3 4 10
-f 3 10 9
-f 3 15 14 4
-f 4 5 11
-f 4 11 10
-f 4 14 5
-f 5 6 12
-f 5 12 11
-f 5 14 13 6
-f 6 7 12
-f 7 8 16
-f 7 16 18 12
-f 8 9 17 16
-f 9 10 17
-f 10 11 18 17
-f 11 12 18
-f 13 14 15
-f 16 17 18
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n45L.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n45L.obj
deleted file mode 100644
index 79c06df1109..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n45L.obj
+++ /dev/null
@@ -1,58 +0,0 @@
-v -0.36349134 -0.87754573 0.31270999
-v -0.87754573 -0.36349134 0.31270999
-v -0.87754573 0.36349134 0.31270999
-v -0.36349134 0.87754573 0.31270999
-v 0.36349134 0.87754573 0.31270999
-v 0.87754573 0.36349134 0.31270999
-v 0.87754573 -0.36349134 0.31270999
-v 0.36349134 -0.87754573 0.31270999
-v 0.00000000 -0.94984865 -0.31270999
-v -0.67164442 -0.67164442 -0.31270999
-v -0.94984865 -0.00000000 -0.31270999
-v -0.67164442 0.67164442 -0.31270999
-v 0.00000000 0.94984865 -0.31270999
-v 0.67164442 0.67164442 -0.31270999
-v 0.94984865 -0.00000000 -0.31270999
-v 0.67164442 -0.67164442 -0.31270999
-v -0.36349134 -0.36349134 0.82676438
-v 0.36349134 -0.36349134 0.82676438
-v 0.36349134 0.36349134 0.82676438
-v -0.36349134 0.36349134 0.82676438
-v 0.47492433 -0.19672010 -0.82676438
-v -0.19672010 -0.47492433 -0.82676438
-v -0.47492433 0.19672010 -0.82676438
-v 0.19672010 0.47492433 -0.82676438
-f 1 2 10
-f 1 10 9
-f 1 9 8
-f 1 8 18 17
-f 1 17 2
-f 2 3 11
-f 2 11 10
-f 2 17 20 3
-f 3 4 12
-f 3 12 11
-f 3 20 4
-f 4 5 13
-f 4 13 12
-f 4 20 19 5
-f 5 6 14
-f 5 14 13
-f 5 19 6
-f 6 7 15
-f 6 15 14
-f 6 19 18 7
-f 7 8 16
-f 7 16 15
-f 7 18 8
-f 8 9 16
-f 9 10 22
-f 9 22 21 16
-f 10 11 23 22
-f 11 12 23
-f 12 13 24 23
-f 13 14 24
-f 14 15 21 24
-f 15 16 21
-f 17 18 19 20
-f 21 22 23 24
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n45R.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n45R.obj
deleted file mode 100644
index 5b7ea3edc17..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n45R.obj
+++ /dev/null
@@ -1,58 +0,0 @@
-v -0.36349134 -0.87754573 0.31270999
-v -0.87754573 -0.36349134 0.31270999
-v -0.87754573 0.36349134 0.31270999
-v -0.36349134 0.87754573 0.31270999
-v 0.36349134 0.87754573 0.31270999
-v 0.87754573 0.36349134 0.31270999
-v 0.87754573 -0.36349134 0.31270999
-v 0.36349134 -0.87754573 0.31270999
-v 0.00000000 -0.94984865 -0.31270999
-v -0.67164442 -0.67164442 -0.31270999
-v -0.94984865 -0.00000000 -0.31270999
-v -0.67164442 0.67164442 -0.31270999
-v 0.00000000 0.94984865 -0.31270999
-v 0.67164442 0.67164442 -0.31270999
-v 0.94984865 -0.00000000 -0.31270999
-v 0.67164442 -0.67164442 -0.31270999
-v -0.36349134 -0.36349134 0.82676438
-v 0.36349134 -0.36349134 0.82676438
-v 0.36349134 0.36349134 0.82676438
-v -0.36349134 0.36349134 0.82676438
-v 0.19672010 -0.47492433 -0.82676438
-v -0.47492433 -0.19672010 -0.82676438
-v -0.19672010 0.47492433 -0.82676438
-v 0.47492433 0.19672010 -0.82676438
-f 1 2 10
-f 1 10 9
-f 1 9 8
-f 1 8 18 17
-f 1 17 2
-f 2 3 11
-f 2 11 10
-f 2 17 20 3
-f 3 4 12
-f 3 12 11
-f 3 20 4
-f 4 5 13
-f 4 13 12
-f 4 20 19 5
-f 5 6 14
-f 5 14 13
-f 5 19 6
-f 6 7 15
-f 6 15 14
-f 6 19 18 7
-f 7 8 16
-f 7 16 15
-f 7 18 8
-f 8 9 16
-f 9 10 22 21
-f 9 21 16
-f 10 11 22
-f 11 12 23 22
-f 12 13 23
-f 13 14 24 23
-f 14 15 24
-f 15 16 21 24
-f 17 18 19 20
-f 21 22 23 24
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n46L.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n46L.obj
deleted file mode 100644
index c36513d3e3d..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n46L.obj
+++ /dev/null
@@ -1,72 +0,0 @@
-v -0.29859575 -0.91898322 -0.25750808
-v -0.78173382 -0.56796287 -0.25750808
-v -0.96627614 0.00000000 -0.25750808
-v -0.78173382 0.56796287 -0.25750808
-v -0.29859575 0.91898322 -0.25750808
-v 0.29859575 0.91898322 -0.25750808
-v 0.78173382 0.56796287 -0.25750808
-v 0.96627614 0.00000000 -0.25750808
-v 0.78173382 -0.56796287 -0.25750808
-v 0.29859575 -0.91898322 -0.25750808
-v -0.29859575 -0.41098179 -0.57147023
-v -0.48313807 0.15698108 -0.57147023
-v 0.00000000 0.50800143 -0.57147023
-v 0.48313807 0.15698108 -0.57147023
-v 0.29859575 -0.41098179 -0.57147023
-v -0.56796287 -0.78173382 0.25750808
-v 0.00000000 -0.96627614 0.25750808
-v 0.56796287 -0.78173382 0.25750808
-v 0.91898322 -0.29859575 0.25750808
-v 0.91898322 0.29859575 0.25750808
-v 0.56796287 0.78173382 0.25750808
-v -0.00000000 0.96627614 0.25750808
-v -0.56796287 0.78173382 0.25750808
-v -0.91898322 0.29859575 0.25750808
-v -0.91898322 -0.29859575 0.25750808
-v -0.41098179 -0.29859575 0.57147023
-v 0.15698108 -0.48313807 0.57147023
-v 0.50800143 -0.00000000 0.57147023
-v 0.15698107 0.48313807 0.57147023
-v -0.41098179 0.29859575 0.57147023
-f 1 2 11
-f 1 11 15 10
-f 1 10 17
-f 1 17 16
-f 1 16 2
-f 2 3 12 11
-f 2 16 25
-f 2 25 3
-f 3 4 12
-f 3 25 24
-f 3 24 4
-f 4 5 13 12
-f 4 24 23
-f 4 23 5
-f 5 6 13
-f 5 23 22
-f 5 22 6
-f 6 7 14 13
-f 6 22 21
-f 6 21 7
-f 7 8 14
-f 7 21 20
-f 7 20 8
-f 8 9 15 14
-f 8 20 19
-f 8 19 9
-f 9 10 15
-f 9 19 18
-f 9 18 10
-f 10 18 17
-f 11 12 13 14 15
-f 16 17 27 26
-f 16 26 25
-f 17 18 27
-f 18 19 28 27
-f 19 20 28
-f 20 21 29 28
-f 21 22 29
-f 22 23 30 29
-f 23 24 30
-f 24 25 26 30
-f 26 27 28 29 30
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n46R.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n46R.obj
deleted file mode 100644
index ce2cc0588fd..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n46R.obj
+++ /dev/null
@@ -1,72 +0,0 @@
-v -0.29859575 -0.91898322 -0.25750808
-v -0.78173382 -0.56796287 -0.25750808
-v -0.96627614 0.00000000 -0.25750808
-v -0.78173382 0.56796287 -0.25750808
-v -0.29859575 0.91898322 -0.25750808
-v 0.29859575 0.91898322 -0.25750808
-v 0.78173382 0.56796287 -0.25750808
-v 0.96627614 0.00000000 -0.25750808
-v 0.78173382 -0.56796287 -0.25750808
-v 0.29859575 -0.91898322 -0.25750808
-v -0.29859575 -0.41098179 -0.57147023
-v -0.48313807 0.15698108 -0.57147023
-v 0.00000000 0.50800143 -0.57147023
-v 0.48313807 0.15698108 -0.57147023
-v 0.29859575 -0.41098179 -0.57147023
-v -0.56796287 -0.78173382 0.25750808
-v 0.00000000 -0.96627614 0.25750808
-v 0.56796287 -0.78173382 0.25750808
-v 0.91898322 -0.29859575 0.25750808
-v 0.91898322 0.29859575 0.25750808
-v 0.56796286 0.78173382 0.25750808
-v -0.00000000 0.96627614 0.25750808
-v -0.56796287 0.78173382 0.25750808
-v -0.91898322 0.29859575 0.25750808
-v -0.91898322 -0.29859575 0.25750808
-v -0.15698107 -0.48313807 0.57147023
-v 0.41098179 -0.29859575 0.57147023
-v 0.41098179 0.29859575 0.57147023
-v -0.15698108 0.48313807 0.57147023
-v -0.50800143 0.00000000 0.57147023
-f 1 2 11
-f 1 11 15 10
-f 1 10 17
-f 1 17 16
-f 1 16 2
-f 2 3 12 11
-f 2 16 25
-f 2 25 3
-f 3 4 12
-f 3 25 24
-f 3 24 4
-f 4 5 13 12
-f 4 24 23
-f 4 23 5
-f 5 6 13
-f 5 23 22
-f 5 22 6
-f 6 7 14 13
-f 6 22 21
-f 6 21 7
-f 7 8 14
-f 7 21 20
-f 7 20 8
-f 8 9 15 14
-f 8 20 19
-f 8 19 9
-f 9 10 15
-f 9 19 18
-f 9 18 10
-f 10 18 17
-f 11 12 13 14 15
-f 16 17 26
-f 16 26 30 25
-f 17 18 27 26
-f 18 19 27
-f 19 20 28 27
-f 20 21 28
-f 21 22 29 28
-f 22 23 29
-f 23 24 30 29
-f 24 25 30
-f 26 27 28 29 30
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n47L.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n47L.obj
deleted file mode 100644
index e2fa72f6be1..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n47L.obj
+++ /dev/null
@@ -1,82 +0,0 @@
-v -0.28129438 -0.86573510 -0.41397609
-v -0.73643826 -0.53505372 -0.41397609
-v -0.91028775 0.00000000 -0.41397609
-v -0.73643826 0.53505372 -0.41397609
-v -0.28129439 0.86573510 -0.41397609
-v 0.28129438 0.86573510 -0.41397609
-v 0.73643826 0.53505372 -0.41397609
-v 0.91028775 0.00000000 -0.41397609
-v 0.73643826 -0.53505372 -0.41397609
-v 0.28129439 -0.86573510 -0.41397609
-v -0.28129438 -0.38716851 -0.70974651
-v -0.45514388 0.14788521 -0.70974651
-v 0.00000000 0.47856659 -0.70974651
-v 0.45514388 0.14788521 -0.70974651
-v 0.28129439 -0.38716851 -0.70974651
-v -0.53505372 -0.73643826 0.07119878
-v 0.00000000 -0.91028775 0.07119878
-v 0.53505372 -0.73643826 0.07119878
-v 0.86573510 -0.28129439 0.07119878
-v 0.86573510 0.28129438 0.07119877
-v 0.53505371 0.73643826 0.07119877
-v -0.00000000 0.91028775 0.07119877
-v -0.53505372 0.73643826 0.07119877
-v -0.86573510 0.28129439 0.07119878
-v -0.86573510 -0.28129439 0.07119878
-v -0.77433701 0.00000000 0.54976537
-v -0.23928330 -0.73643826 0.54976537
-v 0.62645180 -0.45514388 0.54976537
-v 0.62645180 0.45514388 0.54976537
-v -0.23928330 0.73643826 0.54976537
-v -0.38716851 -0.28129439 0.84553579
-v 0.14788521 -0.45514388 0.84553579
-v 0.47856659 -0.00000000 0.84553579
-v 0.14788521 0.45514388 0.84553579
-v -0.38716851 0.28129439 0.84553579
-f 1 2 11
-f 1 11 15 10
-f 1 10 17
-f 1 17 16
-f 1 16 2
-f 2 3 12 11
-f 2 16 25
-f 2 25 3
-f 3 4 12
-f 3 25 24
-f 3 24 4
-f 4 5 13 12
-f 4 24 23
-f 4 23 5
-f 5 6 13
-f 5 23 22
-f 5 22 6
-f 6 7 14 13
-f 6 22 21
-f 6 21 7
-f 7 8 14
-f 7 21 20
-f 7 20 8
-f 8 9 15 14
-f 8 20 19
-f 8 19 9
-f 9 10 15
-f 9 19 18
-f 9 18 10
-f 10 18 17
-f 11 12 13 14 15
-f 16 17 27
-f 16 27 31 26 25
-f 17 18 28 32 27
-f 18 19 28
-f 19 20 29 33 28
-f 20 21 29
-f 21 22 30 34 29
-f 22 23 30
-f 23 24 26 35 30
-f 24 25 26
-f 26 31 35
-f 27 32 31
-f 28 33 32
-f 29 34 33
-f 30 35 34
-f 31 32 33 34 35
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n47R.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n47R.obj
deleted file mode 100644
index 2ab53743844..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n47R.obj
+++ /dev/null
@@ -1,82 +0,0 @@
-v -0.28129438 -0.86573510 -0.41397609
-v -0.73643826 -0.53505372 -0.41397609
-v -0.91028775 0.00000000 -0.41397609
-v -0.73643826 0.53505372 -0.41397609
-v -0.28129439 0.86573510 -0.41397609
-v 0.28129438 0.86573510 -0.41397609
-v 0.73643826 0.53505372 -0.41397609
-v 0.91028775 0.00000000 -0.41397609
-v 0.73643826 -0.53505372 -0.41397609
-v 0.28129439 -0.86573510 -0.41397609
-v -0.28129438 -0.38716851 -0.70974651
-v -0.45514387 0.14788521 -0.70974651
-v 0.00000000 0.47856659 -0.70974651
-v 0.45514388 0.14788521 -0.70974651
-v 0.28129439 -0.38716851 -0.70974651
-v -0.53505372 -0.73643826 0.07119878
-v 0.00000000 -0.91028775 0.07119878
-v 0.53505372 -0.73643826 0.07119878
-v 0.86573510 -0.28129439 0.07119878
-v 0.86573510 0.28129439 0.07119877
-v 0.53505371 0.73643826 0.07119877
-v -0.00000000 0.91028775 0.07119877
-v -0.53505372 0.73643826 0.07119877
-v -0.86573510 0.28129439 0.07119878
-v -0.86573510 -0.28129439 0.07119878
-v -0.62645180 -0.45514388 0.54976537
-v 0.23928330 -0.73643826 0.54976537
-v 0.77433701 -0.00000000 0.54976537
-v 0.23928329 0.73643826 0.54976537
-v -0.62645180 0.45514388 0.54976537
-v -0.14788521 -0.45514388 0.84553579
-v 0.38716851 -0.28129439 0.84553579
-v 0.38716850 0.28129439 0.84553579
-v -0.14788521 0.45514388 0.84553579
-v -0.47856659 0.00000000 0.84553579
-f 1 2 11
-f 1 11 15 10
-f 1 10 17
-f 1 17 16
-f 1 16 2
-f 2 3 12 11
-f 2 16 25
-f 2 25 3
-f 3 4 12
-f 3 25 24
-f 3 24 4
-f 4 5 13 12
-f 4 24 23
-f 4 23 5
-f 5 6 13
-f 5 23 22
-f 5 22 6
-f 6 7 14 13
-f 6 22 21
-f 6 21 7
-f 7 8 14
-f 7 21 20
-f 7 20 8
-f 8 9 15 14
-f 8 20 19
-f 8 19 9
-f 9 10 15
-f 9 19 18
-f 9 18 10
-f 10 18 17
-f 11 12 13 14 15
-f 16 17 27 31 26
-f 16 26 25
-f 17 18 27
-f 18 19 28 32 27
-f 19 20 28
-f 20 21 29 33 28
-f 21 22 29
-f 22 23 30 34 29
-f 23 24 30
-f 24 25 26 35 30
-f 26 31 35
-f 27 32 31
-f 28 33 32
-f 29 34 33
-f 30 35 34
-f 31 32 33 34 35
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n48L.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n48L.obj
deleted file mode 100644
index b2c4ece17c3..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n48L.obj
+++ /dev/null
@@ -1,92 +0,0 @@
-v -0.25028317 -0.77029241 -0.21584346
-v -0.65524986 -0.47606689 -0.21584346
-v -0.80993337 0.00000000 -0.21584346
-v -0.65524986 0.47606689 -0.21584346
-v -0.25028318 0.77029241 -0.21584346
-v 0.25028317 0.77029241 -0.21584346
-v 0.65524986 0.47606689 -0.21584346
-v 0.80993337 0.00000000 -0.21584346
-v 0.65524986 -0.47606689 -0.21584346
-v 0.25028318 -0.77029241 -0.21584346
-v 0.00000000 -0.68897047 -0.64165063
-v -0.65524986 -0.21290358 -0.64165063
-v -0.40496668 0.55738882 -0.64165063
-v 0.40496668 0.55738882 -0.64165063
-v 0.65524986 -0.21290358 -0.64165063
-v -0.25028317 -0.34448524 -0.90481393
-v -0.40496668 0.13158165 -0.90481393
-v 0.00000000 0.42580717 -0.90481393
-v 0.40496668 0.13158165 -0.90481393
-v 0.25028318 -0.34448524 -0.90481393
-v -0.47606689 -0.65524986 0.21584346
-v 0.00000000 -0.80993337 0.21584346
-v 0.47606689 -0.65524986 0.21584346
-v 0.77029241 -0.25028318 0.21584346
-v 0.77029241 0.25028317 0.21584346
-v 0.47606689 0.65524986 0.21584346
-v -0.00000000 0.80993337 0.21584346
-v -0.47606689 0.65524986 0.21584346
-v -0.77029241 0.25028317 0.21584346
-v -0.77029241 -0.25028317 0.21584346
-v -0.68897047 0.00000000 0.64165063
-v -0.21290358 -0.65524986 0.64165063
-v 0.55738882 -0.40496668 0.64165063
-v 0.55738882 0.40496668 0.64165063
-v -0.21290359 0.65524986 0.64165063
-v -0.34448524 -0.25028317 0.90481393
-v 0.13158165 -0.40496668 0.90481393
-v 0.42580717 -0.00000000 0.90481393
-v 0.13158165 0.40496668 0.90481393
-v -0.34448524 0.25028317 0.90481393
-f 1 2 12 16 11
-f 1 11 10
-f 1 10 22
-f 1 22 21
-f 1 21 2
-f 2 3 12
-f 2 21 30
-f 2 30 3
-f 3 4 13 17 12
-f 3 30 29
-f 3 29 4
-f 4 5 13
-f 4 29 28
-f 4 28 5
-f 5 6 14 18 13
-f 5 28 27
-f 5 27 6
-f 6 7 14
-f 6 27 26
-f 6 26 7
-f 7 8 15 19 14
-f 7 26 25
-f 7 25 8
-f 8 9 15
-f 8 25 24
-f 8 24 9
-f 9 10 11 20 15
-f 9 24 23
-f 9 23 10
-f 10 23 22
-f 11 16 20
-f 12 17 16
-f 13 18 17
-f 14 19 18
-f 15 20 19
-f 16 17 18 19 20
-f 21 22 32
-f 21 32 36 31 30
-f 22 23 33 37 32
-f 23 24 33
-f 24 25 34 38 33
-f 25 26 34
-f 26 27 35 39 34
-f 27 28 35
-f 28 29 31 40 35
-f 29 30 31
-f 31 36 40
-f 32 37 36
-f 33 38 37
-f 34 39 38
-f 35 40 39
-f 36 37 38 39 40
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n48R.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n48R.obj
deleted file mode 100644
index 004d82545a5..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n48R.obj
+++ /dev/null
@@ -1,92 +0,0 @@
-v -0.25028317 -0.77029241 -0.21584346
-v -0.65524986 -0.47606689 -0.21584346
-v -0.80993337 0.00000000 -0.21584346
-v -0.65524986 0.47606689 -0.21584346
-v -0.25028317 0.77029241 -0.21584346
-v 0.25028317 0.77029241 -0.21584346
-v 0.65524986 0.47606689 -0.21584346
-v 0.80993337 0.00000000 -0.21584346
-v 0.65524986 -0.47606689 -0.21584346
-v 0.25028318 -0.77029241 -0.21584346
-v 0.00000000 -0.68897047 -0.64165063
-v -0.65524986 -0.21290358 -0.64165063
-v -0.40496668 0.55738882 -0.64165063
-v 0.40496668 0.55738882 -0.64165063
-v 0.65524986 -0.21290359 -0.64165063
-v -0.25028317 -0.34448524 -0.90481393
-v -0.40496668 0.13158165 -0.90481393
-v 0.00000000 0.42580717 -0.90481393
-v 0.40496668 0.13158165 -0.90481393
-v 0.25028318 -0.34448524 -0.90481393
-v -0.47606689 -0.65524986 0.21584346
-v 0.00000000 -0.80993337 0.21584346
-v 0.47606689 -0.65524986 0.21584346
-v 0.77029241 -0.25028317 0.21584346
-v 0.77029240 0.25028317 0.21584346
-v 0.47606689 0.65524986 0.21584346
-v -0.00000000 0.80993337 0.21584346
-v -0.47606689 0.65524986 0.21584346
-v -0.77029241 0.25028317 0.21584346
-v -0.77029241 -0.25028317 0.21584346
-v -0.55738882 -0.40496668 0.64165063
-v 0.21290359 -0.65524986 0.64165063
-v 0.68897047 -0.00000000 0.64165063
-v 0.21290358 0.65524986 0.64165063
-v -0.55738882 0.40496668 0.64165063
-v -0.13158165 -0.40496668 0.90481393
-v 0.34448524 -0.25028317 0.90481393
-v 0.34448524 0.25028317 0.90481393
-v -0.13158165 0.40496668 0.90481393
-v -0.42580717 0.00000000 0.90481393
-f 1 2 12 16 11
-f 1 11 10
-f 1 10 22
-f 1 22 21
-f 1 21 2
-f 2 3 12
-f 2 21 30
-f 2 30 3
-f 3 4 13 17 12
-f 3 30 29
-f 3 29 4
-f 4 5 13
-f 4 29 28
-f 4 28 5
-f 5 6 14 18 13
-f 5 28 27
-f 5 27 6
-f 6 7 14
-f 6 27 26
-f 6 26 7
-f 7 8 15 19 14
-f 7 26 25
-f 7 25 8
-f 8 9 15
-f 8 25 24
-f 8 24 9
-f 9 10 11 20 15
-f 9 24 23
-f 9 23 10
-f 10 23 22
-f 11 16 20
-f 12 17 16
-f 13 18 17
-f 14 19 18
-f 15 20 19
-f 16 17 18 19 20
-f 21 22 32 36 31
-f 21 31 30
-f 22 23 32
-f 23 24 33 37 32
-f 24 25 33
-f 25 26 34 38 33
-f 26 27 34
-f 27 28 35 39 34
-f 28 29 35
-f 29 30 31 40 35
-f 31 36 40
-f 32 37 36
-f 33 38 37
-f 34 39 38
-f 35 40 39
-f 36 37 38 39 40
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n49.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n49.obj
deleted file mode 100644
index 6cedb9f8835..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n49.obj
+++ /dev/null
@@ -1,15 +0,0 @@
-v -0.43001399 -0.41061161 0.57060708
-v 0.14059309 0.57770884 0.57060708
-v 0.71120016 -0.41061161 0.57060708
-v -0.43001399 -0.41061161 -0.57060708
-v 0.14059309 0.57770884 -0.57060708
-v 0.71120016 -0.41061161 -0.57060708
-v -0.84355854 0.48702875 -0.00000000
-f 1 4 6 3
-f 1 3 2
-f 1 2 7
-f 1 7 4
-f 2 3 6 5
-f 2 5 7
-f 4 5 6
-f 4 7 5
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n50.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n50.obj
deleted file mode 100644
index f7c4ccbc79b..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n50.obj
+++ /dev/null
@@ -1,19 +0,0 @@
-v -0.53205720 -0.43963661 0.53205720
-v 0.00000000 0.48191351 0.53205720
-v 0.53205720 -0.43963661 0.53205720
-v -0.53205720 -0.43963661 -0.53205720
-v 0.00000000 0.48191351 -0.53205720
-v 0.53205720 -0.43963661 -0.53205720
-v -0.91766294 0.39735971 -0.00000000
-v 0.91766294 0.39735971 -0.00000000
-f 1 4 6 3
-f 1 3 2
-f 1 2 7
-f 1 7 4
-f 2 5 7
-f 2 3 8
-f 2 8 5
-f 3 6 8
-f 4 5 6
-f 4 7 5
-f 5 8 6
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n51.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n51.obj
deleted file mode 100644
index 86483d6de36..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n51.obj
+++ /dev/null
@@ -1,23 +0,0 @@
-v -0.50211798 -0.28989795 0.50211798
-v 0.00000000 0.57979590 0.50211798
-v 0.50211798 -0.28989795 0.50211798
-v -0.50211798 -0.28989795 -0.50211798
-v 0.00000000 0.57979590 -0.50211798
-v 0.50211798 -0.28989795 -0.50211798
-v -0.86602540 0.50000000 -0.00000000
-v 0.86602540 0.50000000 -0.00000000
-v -0.00000000 -1.00000000 -0.00000000
-f 1 3 2
-f 1 2 7
-f 1 7 4
-f 1 4 9
-f 1 9 3
-f 2 5 7
-f 2 3 8
-f 2 8 5
-f 3 6 8
-f 3 9 6
-f 4 7 5
-f 4 5 6
-f 4 6 9
-f 5 8 6
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n52.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n52.obj
deleted file mode 100644
index 8e67dd587b9..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n52.obj
+++ /dev/null
@@ -1,21 +0,0 @@
-v -0.29907545 -0.51164204 0.39418110
-v -0.54269277 0.23813497 0.39418110
-v 0.09510565 0.70152264 0.39418110
-v 0.73290407 0.23813497 0.39418110
-v 0.48928675 -0.51164204 0.39418110
-v -0.29907545 -0.51164204 -0.39418110
-v -0.54269277 0.23813497 -0.39418110
-v 0.09510565 0.70152264 -0.39418110
-v 0.73290407 0.23813497 -0.39418110
-v 0.48928675 -0.51164204 -0.39418110
-v -0.95105652 -0.30901699 -0.00000000
-f 1 6 10 5
-f 1 5 4 3 2
-f 1 2 11
-f 1 11 6
-f 2 3 8 7
-f 2 7 11
-f 3 4 9 8
-f 4 5 10 9
-f 6 7 8 9 10
-f 6 11 7
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n53.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n53.obj
deleted file mode 100644
index cd266e99566..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n53.obj
+++ /dev/null
@@ -1,25 +0,0 @@
-v -0.33296747 -0.54286675 0.36369162
-v -0.55774125 0.14891583 0.36369162
-v 0.03072416 0.57646097 0.36369162
-v 0.61918957 0.14891583 0.36369162
-v 0.39441578 -0.54286675 0.36369162
-v -0.33296747 -0.54286675 -0.36369162
-v -0.55774125 0.14891583 -0.36369162
-v 0.03072416 0.57646097 -0.36369162
-v 0.61918957 0.14891583 -0.36369162
-v 0.39441578 -0.54286675 -0.36369162
-v -0.93451851 -0.35591453 -0.00000000
-v 0.62727693 0.77879628 -0.00000000
-f 1 6 10 5
-f 1 5 4 3 2
-f 1 2 11
-f 1 11 6
-f 2 3 8 7
-f 2 7 11
-f 3 4 12
-f 3 12 8
-f 4 5 10 9
-f 4 9 12
-f 6 7 8 9 10
-f 6 11 7
-f 8 12 9
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n54.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n54.obj
deleted file mode 100644
index 4377b1ff43b..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n54.obj
+++ /dev/null
@@ -1,24 +0,0 @@
-v -0.27215490 -0.55471945 0.34432368
-v -0.61647858 0.04166667 0.34432368
-v -0.27215490 0.63805278 0.34432368
-v 0.41649247 0.63805278 0.34432368
-v 0.76081615 0.04166667 0.34432368
-v 0.41649247 -0.55471945 0.34432368
-v -0.27215490 -0.55471945 -0.34432368
-v -0.61647858 0.04166667 -0.34432368
-v -0.27215490 0.63805278 -0.34432368
-v 0.41649247 0.63805278 -0.34432368
-v 0.76081615 0.04166667 -0.34432368
-v 0.41649247 -0.55471945 -0.34432368
-v -0.86602540 -0.50000000 -0.00000000
-f 1 7 12 6
-f 1 6 5 4 3 2
-f 1 2 13
-f 1 13 7
-f 2 3 9 8
-f 2 8 13
-f 3 4 10 9
-f 4 5 11 10
-f 5 6 12 11
-f 7 8 9 10 11 12
-f 7 13 8
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n55.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n55.obj
deleted file mode 100644
index cfde17fec15..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n55.obj
+++ /dev/null
@@ -1,28 +0,0 @@
-v -0.31783725 -0.55051026 0.31783725
-v -0.63567449 0.00000000 0.31783725
-v -0.31783725 0.55051026 0.31783725
-v 0.31783725 0.55051026 0.31783725
-v 0.63567449 -0.00000000 0.31783725
-v 0.31783725 -0.55051026 0.31783725
-v -0.31783725 -0.55051026 -0.31783725
-v -0.63567449 0.00000000 -0.31783725
-v -0.31783725 0.55051026 -0.31783725
-v 0.31783725 0.55051026 -0.31783725
-v 0.63567449 -0.00000000 -0.31783725
-v 0.31783725 -0.55051026 -0.31783725
-v -0.86602540 -0.50000000 -0.00000000
-v 0.86602540 0.50000000 0.00000000
-f 1 7 12 6
-f 1 6 5 4 3 2
-f 1 2 13
-f 1 13 7
-f 2 3 9 8
-f 2 8 13
-f 3 4 10 9
-f 4 5 14
-f 4 14 10
-f 5 6 12 11
-f 5 11 14
-f 7 8 9 10 11 12
-f 7 13 8
-f 10 14 11
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n56.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n56.obj
deleted file mode 100644
index 7bae79150f0..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n56.obj
+++ /dev/null
@@ -1,28 +0,0 @@
-v -0.26491443 -0.60668951 0.32893287
-v -0.59384731 -0.03696106 0.32893287
-v -0.26491443 0.53276739 0.32893287
-v 0.39295131 0.53276739 0.32893287
-v 0.72188419 -0.03696106 0.32893287
-v 0.39295131 -0.60668951 0.32893287
-v -0.26491443 -0.60668951 -0.32893287
-v -0.59384731 -0.03696106 -0.32893287
-v -0.26491443 0.53276739 -0.32893287
-v 0.39295131 0.53276739 -0.32893287
-v 0.72188419 -0.03696106 -0.32893287
-v 0.39295131 -0.60668951 -0.32893287
-v -0.83223972 -0.55441595 -0.00000000
-v 0.06401844 0.99794872 -0.00000000
-f 1 7 12 6
-f 1 6 5 4 3 2
-f 1 2 13
-f 1 13 7
-f 2 3 9 8
-f 2 8 13
-f 3 4 14
-f 3 14 9
-f 4 5 11 10
-f 4 10 14
-f 5 6 12 11
-f 7 8 9 10 11 12
-f 7 13 8
-f 9 14 10
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n57.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n57.obj
deleted file mode 100644
index 036ae2e3fcd..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n57.obj
+++ /dev/null
@@ -1,32 +0,0 @@
-v -0.31783725 -0.55051026 0.31783725
-v -0.63567449 0.00000000 0.31783725
-v -0.31783725 0.55051026 0.31783725
-v 0.31783725 0.55051026 0.31783725
-v 0.63567449 -0.00000000 0.31783725
-v 0.31783725 -0.55051026 0.31783725
-v -0.31783725 -0.55051026 -0.31783725
-v -0.63567449 0.00000000 -0.31783725
-v -0.31783725 0.55051026 -0.31783725
-v 0.31783725 0.55051026 -0.31783725
-v 0.63567449 -0.00000000 -0.31783725
-v 0.31783725 -0.55051026 -0.31783725
-v -0.86602540 -0.50000000 -0.00000000
-v 0.00000000 1.00000000 -0.00000000
-v 0.86602540 -0.50000000 -0.00000000
-f 1 7 12 6
-f 1 6 5 4 3 2
-f 1 2 13
-f 1 13 7
-f 2 3 9 8
-f 2 8 13
-f 3 4 14
-f 3 14 9
-f 4 5 11 10
-f 4 10 14
-f 5 6 15
-f 5 15 11
-f 6 12 15
-f 7 8 9 10 11 12
-f 7 13 8
-f 9 14 10
-f 11 15 12
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n58.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n58.obj
deleted file mode 100644
index a7350853556..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n58.obj
+++ /dev/null
@@ -1,37 +0,0 @@
-v -0.32026891 -0.44081234 0.66324934
-v 0.32026891 -0.44081234 0.66324934
-v 0.51820598 -0.71324934 0.11837533
-v 0.00000000 -0.88162467 -0.21837533
-v -0.51820598 -0.71324934 0.11837533
-v -0.51820598 0.16837533 0.66324934
-v 0.51820598 0.16837533 0.66324934
-v 0.83847489 -0.27243701 -0.21837533
-v -0.00000000 -0.54487401 -0.76324934
-v -0.83847489 -0.27243701 -0.21837533
-v -0.83847489 0.27243701 0.11837533
-v -0.00000000 0.54487401 0.66324934
-v 0.83847489 0.27243701 0.11837533
-v 0.51820598 -0.16837533 -0.76324934
-v -0.51820598 -0.16837533 -0.76324934
-v -0.51820598 0.71324934 -0.21837533
-v 0.00000000 0.88162467 0.11837533
-v 0.51820598 0.71324934 -0.21837533
-v 0.32026891 0.44081234 -0.76324934
-v -0.32026891 0.44081234 -0.76324934
-v 0.00000000 0.00000000 1.00000000
-f 1 6 11 10 5
-f 1 5 4 3 2
-f 1 2 21
-f 1 21 6
-f 2 3 8 13 7
-f 2 7 21
-f 3 4 9 14 8
-f 4 5 10 15 9
-f 6 12 17 16 11
-f 6 21 12
-f 7 13 18 17 12
-f 7 12 21
-f 8 14 19 18 13
-f 9 15 20 19 14
-f 10 11 16 20 15
-f 16 17 18 19 20
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n59.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n59.obj
deleted file mode 100644
index 9981d0b4143..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n59.obj
+++ /dev/null
@@ -1,42 +0,0 @@
-v -0.30501801 -0.41982127 0.67928509
-v 0.30501801 -0.41982127 0.67928509
-v 0.49352950 -0.67928509 0.16035746
-v 0.00000000 -0.83964254 -0.16035746
-v -0.49352950 -0.67928509 0.16035746
-v -0.49352950 0.16035746 0.67928509
-v 0.49352950 0.16035746 0.67928509
-v 0.79854751 -0.25946382 -0.16035746
-v -0.00000000 -0.51892763 -0.67928509
-v -0.79854751 -0.25946382 -0.16035746
-v -0.79854751 0.25946382 0.16035746
-v -0.00000000 0.51892763 0.67928509
-v 0.79854751 0.25946382 0.16035746
-v 0.49352950 -0.16035746 -0.67928509
-v -0.49352950 -0.16035746 -0.67928509
-v -0.49352950 0.67928509 -0.16035746
-v 0.00000000 0.83964254 0.16035746
-v 0.49352950 0.67928509 -0.16035746
-v 0.30501801 0.41982127 -0.67928509
-v -0.30501801 0.41982127 -0.67928509
-v 0.00000000 0.00000000 1.00000000
-v -0.00000000 0.00000000 -1.00000000
-f 1 6 11 10 5
-f 1 5 4 3 2
-f 1 2 21
-f 1 21 6
-f 2 3 8 13 7
-f 2 7 21
-f 3 4 9 14 8
-f 4 5 10 15 9
-f 6 12 17 16 11
-f 6 21 12
-f 7 13 18 17 12
-f 7 12 21
-f 8 14 19 18 13
-f 9 15 22
-f 9 22 14
-f 10 11 16 20 15
-f 14 22 19
-f 15 20 22
-f 16 17 18 19 20
-f 19 22 20
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n60.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n60.obj
deleted file mode 100644
index 27819bd4eb0..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n60.obj
+++ /dev/null
@@ -1,42 +0,0 @@
-v -0.35223599 -0.44314381 0.67043614
-v 0.27297981 -0.44314381 0.67043614
-v 0.46618212 -0.70906397 0.13859581
-v -0.03962809 -0.87341167 -0.19009959
-v -0.54543830 -0.70906397 0.13859581
-v -0.54543830 0.15147175 0.67043614
-v 0.46618212 0.15147175 0.67043614
-v 0.77879002 -0.27879611 -0.19009959
-v -0.03962809 -0.54471627 -0.72193992
-v -0.85804620 -0.27879611 -0.19009959
-v -0.85804620 0.25304422 0.13859581
-v -0.03962809 0.51896438 0.67043614
-v 0.77879002 0.25304422 0.13859581
-v 0.46618212 -0.17722365 -0.72193992
-v -0.54543830 -0.17722365 -0.72193992
-v -0.54543830 0.68331208 -0.19009959
-v -0.03962809 0.84765978 0.13859581
-v 0.46618212 0.68331208 -0.19009959
-v 0.27297981 0.41739192 -0.72193992
-v -0.35223599 0.41739192 -0.72193992
-v -0.03962809 -0.01287595 0.99913154
-v 0.83218983 0.27039487 -0.48409369
-f 1 6 11 10 5
-f 1 5 4 3 2
-f 1 2 21
-f 1 21 6
-f 2 3 8 13 7
-f 2 7 21
-f 3 4 9 14 8
-f 4 5 10 15 9
-f 6 12 17 16 11
-f 6 21 12
-f 7 13 18 17 12
-f 7 12 21
-f 8 14 22
-f 8 22 13
-f 9 15 20 19 14
-f 10 11 16 20 15
-f 13 22 18
-f 14 19 22
-f 16 17 18 19 20
-f 18 22 19
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n61.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n61.obj
deleted file mode 100644
index 9668c4968fb..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n61.obj
+++ /dev/null
@@ -1,47 +0,0 @@
-v -0.32052320 -0.40210626 0.67760869
-v 0.29214730 -0.40210626 0.67760869
-v 0.48147290 -0.66269059 0.15644003
-v -0.01418795 -0.82374057 -0.16565992
-v -0.50984880 -0.66269059 0.15644003
-v -0.50984880 0.18057801 0.67760869
-v 0.48147290 0.18057801 0.67760869
-v 0.78780815 -0.24105629 -0.16565992
-v -0.01418795 -0.50164062 -0.68682858
-v -0.81618406 -0.24105629 -0.16565992
-v -0.81618406 0.28011237 0.15644003
-v -0.01418795 0.54069670 0.67760869
-v 0.78780815 0.28011237 0.15644003
-v 0.48147290 -0.14152193 -0.68682858
-v -0.50984880 -0.14152193 -0.68682858
-v -0.50984880 0.70174667 -0.16565992
-v -0.01418795 0.86279665 0.15644003
-v 0.48147290 0.70174667 -0.16565992
-v 0.29214730 0.44116234 -0.68682858
-v -0.32052320 0.44116234 -0.68682858
-v -0.01418795 0.01952804 0.99970864
-v 0.84013646 0.29711487 -0.45375487
-v -0.54218948 -0.70720371 -0.45375487
-f 1 6 11 10 5
-f 1 5 4 3 2
-f 1 2 21
-f 1 21 6
-f 2 3 8 13 7
-f 2 7 21
-f 3 4 9 14 8
-f 4 5 23
-f 4 23 9
-f 5 10 23
-f 6 12 17 16 11
-f 6 21 12
-f 7 13 18 17 12
-f 7 12 21
-f 8 14 22
-f 8 22 13
-f 9 15 20 19 14
-f 9 23 15
-f 10 11 16 20 15
-f 10 15 23
-f 13 22 18
-f 14 19 22
-f 16 17 18 19 20
-f 18 22 19
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n62.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n62.obj
deleted file mode 100644
index 270b879b66e..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n62.obj
+++ /dev/null
@@ -1,22 +0,0 @@
-v -0.48194883 -0.71402076 0.32797613
-v 0.00000000 -0.87061543 -0.49196420
-v 0.00000000 -0.05067510 -0.99871519
-v -0.48194883 0.61267056 -0.49196420
-v -0.77980959 0.20270040 0.32797613
-v 0.48194883 -0.71402076 0.32797613
-v 0.77980959 0.20270040 0.32797613
-v 0.48194883 0.61267056 -0.49196420
-v -0.00000000 0.76926523 0.32797613
-v 0.00000000 -0.05067510 0.83472713
-f 1 5 4 3 2
-f 1 2 6
-f 1 6 10
-f 1 10 5
-f 2 3 8 7 6
-f 3 4 8
-f 4 5 9
-f 4 9 8
-f 5 10 9
-f 6 7 10
-f 7 8 9
-f 7 9 10
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n63.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n63.obj
deleted file mode 100644
index ee44b2b3dfe..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n63.obj
+++ /dev/null
@@ -1,17 +0,0 @@
-v -0.50051680 -0.74737722 0.43693274
-v 0.00000000 -0.91000499 -0.41459730
-v -0.00000000 -0.05847495 -0.94087181
-v -0.50051680 0.63042733 -0.41459730
-v -0.80985320 0.20466231 0.43693274
-v 0.50051680 -0.74737722 0.43693274
-v 0.80985320 0.20466231 0.43693274
-v 0.50051680 0.63042733 -0.41459730
-v 0.00000000 0.79305510 0.43693274
-f 1 2 6
-f 1 6 7 9 5
-f 1 5 4 3 2
-f 2 3 8 7 6
-f 3 4 8
-f 4 5 9
-f 4 9 8
-f 7 8 9
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n64.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n64.obj
deleted file mode 100644
index f1aadc5c31c..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n64.obj
+++ /dev/null
@@ -1,20 +0,0 @@
-v -0.34047064 -0.39925597 0.27637473
-v 0.00000000 -0.50988159 -0.30286852
-v -0.00000000 0.06936166 -0.66086054
-v -0.34047064 0.53797929 -0.30286852
-v -0.55089306 0.24835767 0.27637473
-v 0.34047064 -0.39925597 0.27637473
-v 0.55089306 0.24835767 0.27637473
-v 0.34047064 0.53797929 -0.30286852
-v 0.00000000 0.64860491 0.27637473
-v 0.00000000 -0.98224695 0.18759247
-f 1 6 7 9 5
-f 1 5 4 3 2
-f 1 2 10
-f 1 10 6
-f 2 3 8 7 6
-f 2 6 10
-f 3 4 8
-f 4 5 9
-f 4 9 8
-f 7 8 9
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n65.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n65.obj
deleted file mode 100644
index e5e0ba78190..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n65.obj
+++ /dev/null
@@ -1,29 +0,0 @@
-v -0.35007002 -0.41770024 0.49544036
-v -0.70014004 0.18863882 0.49544036
-v -0.35007002 0.79497788 0.49544036
-v 0.35007002 0.79497788 0.49544036
-v 0.70014004 0.18863882 0.49544036
-v 0.35007002 -0.41770024 0.49544036
-v -0.70014004 -0.21558722 -0.07622159
-v 0.00000000 0.99709090 -0.07622159
-v 0.70014004 -0.21558722 -0.07622159
-v -0.35007002 -0.01347420 -0.64788354
-v 0.00000000 0.59286486 -0.64788354
-v 0.35007002 -0.01347420 -0.64788354
-v -0.00000000 -0.88929729 0.11433239
-v -0.35007002 -0.68718427 -0.45732956
-v 0.35007002 -0.68718427 -0.45732956
-f 1 6 5 4 3 2
-f 1 2 7
-f 1 7 14 13
-f 1 13 6
-f 2 3 8 11 10 7
-f 3 4 8
-f 4 5 9 12 11 8
-f 5 6 9
-f 6 13 15 9
-f 7 10 14
-f 9 15 12
-f 10 11 12
-f 10 12 15 14
-f 13 14 15
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n66.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n66.obj
deleted file mode 100644
index 8bcd109eb16..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n66.obj
+++ /dev/null
@@ -1,50 +0,0 @@
-v -0.15528707 -0.51338206 0.61130639
-v -0.51338206 -0.15528707 0.61130639
-v -0.51338206 0.35113572 0.61130639
-v -0.15528707 0.70923071 0.61130639
-v 0.35113572 0.70923071 0.61130639
-v 0.70923071 0.35113572 0.61130639
-v 0.70923071 -0.15528707 0.61130639
-v 0.35113572 -0.51338206 0.61130639
-v 0.09792433 -0.76659346 0.25321140
-v -0.76659346 0.09792433 0.25321140
-v 0.09792433 0.96244211 0.25321140
-v 0.96244211 0.09792433 0.25321140
-v 0.09792433 -0.76659346 -0.25321140
-v -0.76659346 0.09792433 -0.25321140
-v 0.09792433 0.96244211 -0.25321140
-v 0.96244211 0.09792433 -0.25321140
-v -0.15528707 -0.51338206 -0.61130639
-v -0.51338206 -0.15528707 -0.61130639
-v -0.51338206 0.35113572 -0.61130639
-v -0.15528707 0.70923071 -0.61130639
-v 0.35113572 0.70923071 -0.61130639
-v 0.70923071 0.35113572 -0.61130639
-v 0.70923071 -0.15528707 -0.61130639
-v 0.35113572 -0.51338206 -0.61130639
-v -0.33433456 -0.84075736 0.00000000
-v -0.58754596 -0.58754596 0.35809499
-v -0.84075736 -0.33433456 0.00000000
-v -0.58754596 -0.58754596 -0.35809499
-f 1 9 8
-f 1 8 7 6 5 4 3 2
-f 1 2 26
-f 1 26 25 9
-f 2 3 10
-f 2 10 27 26
-f 3 4 11 15 20 19 14 10
-f 4 5 11
-f 5 6 12 16 22 21 15 11
-f 6 7 12
-f 7 8 9 13 24 23 16 12
-f 9 25 13
-f 10 14 27
-f 13 17 24
-f 13 25 28 17
-f 14 19 18
-f 14 18 28 27
-f 15 21 20
-f 16 23 22
-f 17 18 19 20 21 22 23 24
-f 17 28 18
-f 25 26 27 28
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n67.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n67.obj
deleted file mode 100644
index 58572003663..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n67.obj
+++ /dev/null
@@ -1,62 +0,0 @@
-v -0.24502111 -0.59153329 0.59153329
-v -0.59153329 -0.24502111 0.59153329
-v -0.59153329 0.24502111 0.59153329
-v -0.24502111 0.59153329 0.59153329
-v 0.24502111 0.59153329 0.59153329
-v 0.59153329 0.24502111 0.59153329
-v 0.59153329 -0.24502111 0.59153329
-v 0.24502111 -0.59153329 0.59153329
-v 0.00000000 -0.83655440 0.24502111
-v -0.83655441 0.00000000 0.24502111
-v 0.00000000 0.83655440 0.24502111
-v 0.83655441 -0.00000000 0.24502111
-v -0.00000000 -0.83655440 -0.24502111
-v -0.83655441 0.00000000 -0.24502111
-v 0.00000000 0.83655440 -0.24502111
-v 0.83655441 -0.00000000 -0.24502111
-v -0.24502111 -0.59153329 -0.59153329
-v -0.59153329 -0.24502111 -0.59153329
-v -0.59153329 0.24502111 -0.59153329
-v -0.24502111 0.59153329 -0.59153329
-v 0.24502111 0.59153329 -0.59153329
-v 0.59153329 0.24502111 -0.59153329
-v 0.59153329 -0.24502111 -0.59153329
-v 0.24502111 -0.59153329 -0.59153329
-v -0.41827720 -0.90831943 -0.00000000
-v -0.66329831 -0.66329831 0.34651218
-v -0.90831943 -0.41827720 0.00000000
-v -0.66329832 -0.66329831 -0.34651218
-v 0.41827720 0.90831943 -0.00000000
-v 0.66329831 0.66329831 0.34651218
-v 0.90831943 0.41827720 0.00000000
-v 0.66329831 0.66329831 -0.34651218
-f 1 9 8
-f 1 8 7 6 5 4 3 2
-f 1 2 26
-f 1 26 25 9
-f 2 3 10
-f 2 10 27 26
-f 3 4 11 15 20 19 14 10
-f 4 5 11
-f 5 6 30
-f 5 30 29 11
-f 6 7 12
-f 6 12 31 30
-f 7 8 9 13 24 23 16 12
-f 9 25 13
-f 10 14 27
-f 11 29 15
-f 12 16 31
-f 13 17 24
-f 13 25 28 17
-f 14 19 18
-f 14 18 28 27
-f 15 21 20
-f 15 29 32 21
-f 16 23 22
-f 16 22 32 31
-f 17 18 19 20 21 22 23 24
-f 17 28 18
-f 21 32 22
-f 25 26 27 28
-f 29 30 31 32
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n68.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n68.obj
deleted file mode 100644
index fbf46178269..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n68.obj
+++ /dev/null
@@ -1,107 +0,0 @@
-v -0.15790394 -0.48597835 0.71307107
-v -0.41339788 -0.30035114 0.71307107
-v -0.51098788 0.00000000 0.71307107
-v -0.41339788 0.30035114 0.71307107
-v -0.15790394 0.48597835 0.71307107
-v 0.15790394 0.48597835 0.71307107
-v 0.41339788 0.30035114 0.71307107
-v 0.51098788 0.00000000 0.71307107
-v 0.41339788 -0.30035114 0.71307107
-v 0.15790394 -0.48597835 0.71307107
-v -0.00000000 -0.70331448 0.54704104
-v -0.00000000 -0.86934451 0.27839881
-v 0.15790394 -0.92065061 0.00975659
-v 0.41339788 -0.83763559 -0.15627344
-v 0.66889182 -0.65200838 -0.15627344
-v 0.82679576 -0.43467225 0.00975659
-v 0.82679576 -0.26864223 0.27839881
-v 0.66889182 -0.21733613 0.54704104
-v -0.15790394 -0.92065061 0.00975659
-v -0.41339788 -0.83763559 -0.15627344
-v -0.66889182 -0.65200838 -0.15627344
-v -0.82679576 -0.43467225 0.00975659
-v -0.82679576 -0.26864223 0.27839881
-v -0.66889182 -0.21733613 0.54704104
-v -0.92438576 -0.13432111 0.00975659
-v -0.92438576 0.13432111 -0.15627344
-v -0.82679576 0.43467225 -0.15627344
-v -0.66889182 0.65200838 0.00975659
-v -0.51098788 0.70331448 0.27839881
-v -0.41339788 0.56899337 0.54704104
-v -0.41339788 0.83763559 0.00975659
-v -0.15790394 0.92065061 -0.15627344
-v 0.15790394 0.92065060 -0.15627344
-v 0.41339788 0.83763559 0.00975659
-v 0.51098788 0.70331448 0.27839881
-v 0.41339788 0.56899337 0.54704104
-v 0.66889182 0.65200838 0.00975659
-v 0.82679576 0.43467225 -0.15627344
-v 0.92438576 0.13432111 -0.15627344
-v 0.92438576 -0.13432111 0.00975659
-v 0.51098788 -0.70331448 -0.42491566
-v 0.41339788 -0.56899337 -0.69355789
-v 0.15790394 -0.48597835 -0.85958792
-v -0.15790394 -0.48597835 -0.85958792
-v -0.41339788 -0.56899337 -0.69355789
-v -0.51098788 -0.70331448 -0.42491566
-v -0.41339788 -0.30035114 -0.85958792
-v -0.51098788 0.00000000 -0.85958792
-v -0.66889182 0.21733613 -0.69355789
-v -0.82679576 0.26864223 -0.42491566
-v -0.41339788 0.30035114 -0.85958792
-v -0.15790394 0.48597835 -0.85958792
-v 0.00000000 0.70331448 -0.69355789
-v 0.00000000 0.86934451 -0.42491566
-v 0.15790394 0.48597835 -0.85958792
-v 0.41339788 0.30035114 -0.85958792
-v 0.66889182 0.21733613 -0.69355789
-v 0.82679576 0.26864223 -0.42491566
-v 0.51098788 -0.00000000 -0.85958792
-v 0.41339788 -0.30035114 -0.85958792
-v -0.15790394 -0.21733613 0.87910109
-v 0.15790394 -0.21733613 0.87910109
-v 0.25549394 0.08301501 0.87910109
-v 0.00000000 0.26864223 0.87910109
-v -0.25549394 0.08301501 0.87910109
-f 1 2 24 23 22 21 20 19 12 11
-f 1 11 10
-f 1 10 62 61
-f 1 61 2
-f 2 3 24
-f 2 61 65 3
-f 3 4 30 29 28 27 26 25 23 24
-f 3 65 4
-f 4 5 30
-f 4 65 64 5
-f 5 6 36 35 34 33 32 31 29 30
-f 5 64 6
-f 6 7 36
-f 6 64 63 7
-f 7 8 18 17 40 39 38 37 35 36
-f 7 63 8
-f 8 9 18
-f 8 63 62 9
-f 9 10 11 12 13 14 15 16 17 18
-f 9 62 10
-f 12 19 13
-f 13 19 20 46 45 44 43 42 41 14
-f 14 41 15
-f 15 41 42 60 59 57 58 39 40 16
-f 16 40 17
-f 20 21 46
-f 21 22 25 26 50 49 48 47 45 46
-f 22 23 25
-f 26 27 50
-f 27 28 31 32 54 53 52 51 49 50
-f 28 29 31
-f 32 33 54
-f 33 34 37 38 58 57 56 55 53 54
-f 34 35 37
-f 38 39 58
-f 42 43 60
-f 43 44 47 48 51 52 55 56 59 60
-f 44 45 47
-f 48 49 51
-f 52 53 55
-f 56 57 59
-f 61 62 63 64 65
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n69.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n69.obj
deleted file mode 100644
index 2e11a37539b..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n69.obj
+++ /dev/null
@@ -1,122 +0,0 @@
-v -0.15957569 -0.49112347 0.79465447
-v -0.41777458 -0.30353100 0.79465447
-v -0.51639778 0.00000000 0.79465447
-v -0.41777458 0.30353100 0.79465447
-v -0.15957569 0.49112347 0.79465447
-v 0.15957569 0.49112347 0.79465447
-v 0.41777458 0.30353100 0.79465447
-v 0.51639778 0.00000000 0.79465447
-v 0.41777458 -0.30353100 0.79465447
-v 0.15957569 -0.49112347 0.79465447
-v -0.00000000 -0.71076057 0.62686666
-v -0.00000000 -0.87854838 0.35538028
-v 0.15957569 -0.93039766 0.08389390
-v 0.41777458 -0.84650376 -0.08389390
-v 0.67597347 -0.65891128 -0.08389390
-v 0.83554916 -0.43927419 0.08389390
-v 0.83554916 -0.27148638 0.35538028
-v 0.67597347 -0.21963709 0.62686666
-v -0.15957569 -0.93039766 0.08389390
-v -0.41777458 -0.84650376 -0.08389390
-v -0.67597347 -0.65891128 -0.08389390
-v -0.83554916 -0.43927419 0.08389391
-v -0.83554916 -0.27148638 0.35538028
-v -0.67597347 -0.21963709 0.62686666
-v -0.93417236 -0.13574319 0.08389390
-v -0.93417236 0.13574319 -0.08389390
-v -0.83554916 0.43927419 -0.08389390
-v -0.67597347 0.65891128 0.08389390
-v -0.51639778 0.71076057 0.35538028
-v -0.41777458 0.57501738 0.62686666
-v -0.41777458 0.84650376 0.08389390
-v -0.15957569 0.93039766 -0.08389390
-v 0.15957569 0.93039766 -0.08389390
-v 0.41777458 0.84650376 0.08389390
-v 0.51639778 0.71076057 0.35538028
-v 0.41777458 0.57501738 0.62686666
-v 0.67597347 0.65891128 0.08389390
-v 0.83554916 0.43927419 -0.08389390
-v 0.93417236 0.13574319 -0.08389390
-v 0.93417236 -0.13574319 0.08389390
-v 0.51639778 -0.71076057 -0.35538028
-v 0.41777458 -0.57501738 -0.62686666
-v 0.15957569 -0.49112347 -0.79465447
-v -0.15957569 -0.49112347 -0.79465447
-v -0.41777458 -0.57501738 -0.62686666
-v -0.51639778 -0.71076057 -0.35538028
-v -0.41777458 -0.30353100 -0.79465447
-v -0.51639778 0.00000000 -0.79465447
-v -0.67597347 0.21963709 -0.62686666
-v -0.83554916 0.27148638 -0.35538028
-v -0.41777458 0.30353100 -0.79465447
-v -0.15957569 0.49112347 -0.79465447
-v -0.00000000 0.71076057 -0.62686666
-v -0.00000000 0.87854838 -0.35538028
-v 0.15957569 0.49112347 -0.79465447
-v 0.41777458 0.30353100 -0.79465447
-v 0.67597347 0.21963709 -0.62686666
-v 0.83554916 0.27148638 -0.35538028
-v 0.51639778 -0.00000000 -0.79465447
-v 0.41777458 -0.30353100 -0.79465447
-v -0.15957569 -0.21963709 0.96244228
-v 0.15957569 -0.21963709 0.96244228
-v 0.25819889 0.08389390 0.96244228
-v -0.00000000 0.27148638 0.96244228
-v -0.25819889 0.08389390 0.96244228
-v -0.00000000 -0.27148638 -0.96244228
-v -0.25819889 -0.08389390 -0.96244228
-v -0.15957569 0.21963709 -0.96244228
-v 0.15957569 0.21963709 -0.96244228
-v 0.25819889 -0.08389390 -0.96244228
-f 1 2 24 23 22 21 20 19 12 11
-f 1 11 10
-f 1 10 62 61
-f 1 61 2
-f 2 3 24
-f 2 61 65 3
-f 3 4 30 29 28 27 26 25 23 24
-f 3 65 4
-f 4 5 30
-f 4 65 64 5
-f 5 6 36 35 34 33 32 31 29 30
-f 5 64 6
-f 6 7 36
-f 6 64 63 7
-f 7 8 18 17 40 39 38 37 35 36
-f 7 63 8
-f 8 9 18
-f 8 63 62 9
-f 9 10 11 12 13 14 15 16 17 18
-f 9 62 10
-f 12 19 13
-f 13 19 20 46 45 44 43 42 41 14
-f 14 41 15
-f 15 41 42 60 59 57 58 39 40 16
-f 16 40 17
-f 20 21 46
-f 21 22 25 26 50 49 48 47 45 46
-f 22 23 25
-f 26 27 50
-f 27 28 31 32 54 53 52 51 49 50
-f 28 29 31
-f 32 33 54
-f 33 34 37 38 58 57 56 55 53 54
-f 34 35 37
-f 38 39 58
-f 42 43 60
-f 43 44 66
-f 43 66 70 60
-f 44 45 47
-f 44 47 67 66
-f 47 48 67
-f 48 49 51
-f 48 51 68 67
-f 51 52 68
-f 52 53 55
-f 52 55 69 68
-f 55 56 69
-f 56 57 59
-f 56 59 70 69
-f 59 60 70
-f 61 62 63 64 65
-f 66 67 68 69 70
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n70.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n70.obj
deleted file mode 100644
index 62c1da410ca..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n70.obj
+++ /dev/null
@@ -1,122 +0,0 @@
-v -0.21398275 -0.46330675 0.74252390
-v -0.46736036 -0.27921715 0.74252390
-v -0.56414199 0.01864609 0.74252390
-v -0.46736036 0.31650933 0.74252390
-v -0.21398275 0.50059894 0.74252390
-v 0.09920920 0.50059894 0.74252390
-v 0.35258680 0.31650933 0.74252390
-v 0.44936843 0.01864609 0.74252390
-v 0.35258680 -0.27921715 0.74252390
-v 0.09920920 -0.46330675 0.74252390
-v -0.05738678 -0.67884262 0.57786915
-v -0.05738678 -0.84349737 0.31145217
-v 0.09920920 -0.89437848 0.04503519
-v 0.35258680 -0.81205111 -0.11961956
-v 0.60596441 -0.62796150 -0.11961956
-v 0.76256038 -0.41242564 0.04503519
-v 0.76256038 -0.24777089 0.31145217
-v 0.60596441 -0.19688977 0.57786915
-v -0.21398275 -0.89437848 0.04503519
-v -0.46736036 -0.81205111 -0.11961956
-v -0.72073796 -0.62796150 -0.11961956
-v -0.87733393 -0.41242564 0.04503519
-v -0.87733393 -0.24777089 0.31145217
-v -0.72073796 -0.19688977 0.57786915
-v -0.97411557 -0.11456240 0.04503519
-v -0.97411557 0.15185459 -0.11961956
-v -0.87733393 0.44971782 -0.11961956
-v -0.72073796 0.66525369 0.04503519
-v -0.56414199 0.71613481 0.31145217
-v -0.46736036 0.58292632 0.57786915
-v -0.46736036 0.84934330 0.04503519
-v -0.21398275 0.93167067 -0.11961956
-v 0.09920920 0.93167067 -0.11961956
-v 0.35258680 0.84934330 0.04503519
-v 0.44936843 0.71613481 0.31145217
-v 0.35258680 0.58292632 0.57786915
-v 0.60596441 0.66525369 0.04503519
-v 0.76256038 0.44971782 -0.11961956
-v 0.85934201 0.15185458 -0.11961956
-v 0.85934201 -0.11456240 0.04503519
-v 0.44936843 -0.67884262 -0.38603654
-v 0.35258680 -0.54563413 -0.65245352
-v 0.09920920 -0.46330675 -0.81710827
-v -0.21398275 -0.46330675 -0.81710827
-v -0.46736036 -0.54563413 -0.65245352
-v -0.56414199 -0.67884262 -0.38603654
-v -0.46736035 -0.27921715 -0.81710827
-v -0.56414199 0.01864609 -0.81710827
-v -0.72073796 0.23418196 -0.65245352
-v -0.87733393 0.28506308 -0.38603654
-v -0.46736035 0.31650933 -0.81710827
-v -0.21398275 0.50059894 -0.81710827
-v -0.05738678 0.71613481 -0.65245352
-v -0.05738678 0.88078955 -0.38603654
-v 0.09920919 0.50059894 -0.81710827
-v 0.35258680 0.31650933 -0.81710827
-v 0.60596441 0.23418196 -0.65245353
-v 0.76256038 0.28506307 -0.38603654
-v 0.44936843 0.01864609 -0.81710827
-v 0.35258680 -0.27921715 -0.81710827
-v -0.21398275 -0.19688977 0.90717865
-v 0.09920920 -0.19688977 0.90717865
-v 0.19599083 0.10097347 0.90717865
-v -0.05738678 0.28506308 0.90717865
-v -0.31076438 0.10097347 0.90717865
-v 0.78931016 -0.42111717 -0.26689125
-v 0.63271419 -0.47199828 -0.53330823
-v 0.63271419 -0.20558130 -0.69796298
-v 0.78931016 0.00995456 -0.53330823
-v 0.88609180 -0.12325393 -0.26689125
-f 1 2 24 23 22 21 20 19 12 11
-f 1 11 10
-f 1 10 62 61
-f 1 61 2
-f 2 3 24
-f 2 61 65 3
-f 3 4 30 29 28 27 26 25 23 24
-f 3 65 4
-f 4 5 30
-f 4 65 64 5
-f 5 6 36 35 34 33 32 31 29 30
-f 5 64 6
-f 6 7 36
-f 6 64 63 7
-f 7 8 18 17 40 39 38 37 35 36
-f 7 63 8
-f 8 9 18
-f 8 63 62 9
-f 9 10 11 12 13 14 15 16 17 18
-f 9 62 10
-f 12 19 13
-f 13 19 20 46 45 44 43 42 41 14
-f 14 41 15
-f 15 41 67 66
-f 15 66 16
-f 16 40 17
-f 16 66 70 40
-f 20 21 46
-f 21 22 25 26 50 49 48 47 45 46
-f 22 23 25
-f 26 27 50
-f 27 28 31 32 54 53 52 51 49 50
-f 28 29 31
-f 32 33 54
-f 33 34 37 38 58 57 56 55 53 54
-f 34 35 37
-f 38 39 58
-f 39 40 70
-f 39 70 69 58
-f 41 42 67
-f 42 43 60
-f 42 60 68 67
-f 43 44 47 48 51 52 55 56 59 60
-f 44 45 47
-f 48 49 51
-f 52 53 55
-f 56 57 59
-f 57 58 69
-f 57 69 68 59
-f 59 68 60
-f 61 62 63 64 65
-f 66 67 68 69 70
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n71.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n71.obj
deleted file mode 100644
index 331009af021..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n71.obj
+++ /dev/null
@@ -1,137 +0,0 @@
-v -0.17974856 -0.51787354 0.78493349
-v -0.43698164 -0.33098277 0.78493349
-v -0.53523593 -0.02858715 0.78493349
-v -0.43698164 0.27380847 0.78493349
-v -0.17974856 0.46069924 0.78493349
-v 0.13820900 0.46069924 0.78493349
-v 0.39544208 0.27380847 0.78493349
-v 0.49369637 -0.02858715 0.78493349
-v 0.39544208 -0.33098277 0.78493349
-v 0.13820900 -0.51787354 0.78493349
-v -0.02076978 -0.73668906 0.61777331
-v -0.02076978 -0.90384925 0.34730244
-v 0.13820900 -0.95550458 0.07683158
-v 0.39544208 -0.87192449 -0.09032860
-v 0.65267515 -0.68503372 -0.09032860
-v 0.81165394 -0.46621820 0.07683158
-v 0.81165394 -0.29905801 0.34730244
-v 0.65267515 -0.24740267 0.61777331
-v -0.17974856 -0.95550458 0.07683158
-v -0.43698164 -0.87192449 -0.09032860
-v -0.69421472 -0.68503372 -0.09032860
-v -0.85319350 -0.46621820 0.07683158
-v -0.85319350 -0.29905801 0.34730244
-v -0.69421472 -0.24740267 0.61777331
-v -0.95144779 -0.16382258 0.07683158
-v -0.95144779 0.10664828 -0.09032860
-v -0.85319350 0.40904390 -0.09032860
-v -0.69421472 0.62785942 0.07683158
-v -0.53523593 0.67951476 0.34730244
-v -0.43698164 0.54427933 0.61777331
-v -0.43698164 0.81475019 0.07683158
-v -0.17974856 0.89833028 -0.09032860
-v 0.13820900 0.89833028 -0.09032860
-v 0.39544208 0.81475019 0.07683158
-v 0.49369637 0.67951476 0.34730244
-v 0.39544208 0.54427933 0.61777331
-v 0.65267515 0.62785942 0.07683158
-v 0.81165394 0.40904390 -0.09032860
-v 0.90990823 0.10664828 -0.09032860
-v 0.90990823 -0.16382258 0.07683158
-v 0.49369637 -0.73668906 -0.36079947
-v 0.39544208 -0.60145363 -0.63127033
-v 0.13820900 -0.51787354 -0.79843051
-v -0.17974856 -0.51787354 -0.79843051
-v -0.43698164 -0.60145363 -0.63127033
-v -0.53523593 -0.73668906 -0.36079947
-v -0.43698164 -0.33098277 -0.79843051
-v -0.53523593 -0.02858715 -0.79843051
-v -0.69421472 0.19022837 -0.63127033
-v -0.85319350 0.24188371 -0.36079947
-v -0.43698164 0.27380847 -0.79843051
-v -0.17974856 0.46069924 -0.79843051
-v -0.02076978 0.67951476 -0.63127033
-v -0.02076978 0.84667494 -0.36079947
-v 0.13820900 0.46069923 -0.79843051
-v 0.39544208 0.27380847 -0.79843051
-v 0.65267515 0.19022837 -0.63127033
-v 0.81165394 0.24188371 -0.36079947
-v 0.49369637 -0.02858715 -0.79843051
-v 0.39544208 -0.33098277 -0.79843051
-v -0.17974856 -0.24740267 0.95209368
-v 0.13820900 -0.24740267 0.95209368
-v 0.23646329 0.05499294 0.95209368
-v -0.02076978 0.24188371 0.95209368
-v -0.27800286 0.05499294 0.95209368
-v 0.83881076 -0.47504198 -0.23984122
-v 0.67983197 -0.52669732 -0.51031208
-v 0.67983197 -0.25622646 -0.67747227
-v 0.83881076 -0.03741094 -0.51031208
-v 0.93706505 -0.17264637 -0.23984122
-v -0.71099855 0.65096039 -0.23984122
-v -0.45376548 0.83785116 -0.23984122
-v -0.29478669 0.78619582 -0.51031208
-v -0.45376548 0.56738030 -0.67747227
-v -0.71099855 0.48380020 -0.51031208
-f 1 2 24 23 22 21 20 19 12 11
-f 1 11 10
-f 1 10 62 61
-f 1 61 2
-f 2 3 24
-f 2 61 65 3
-f 3 4 30 29 28 27 26 25 23 24
-f 3 65 4
-f 4 5 30
-f 4 65 64 5
-f 5 6 36 35 34 33 32 31 29 30
-f 5 64 6
-f 6 7 36
-f 6 64 63 7
-f 7 8 18 17 40 39 38 37 35 36
-f 7 63 8
-f 8 9 18
-f 8 63 62 9
-f 9 10 11 12 13 14 15 16 17 18
-f 9 62 10
-f 12 19 13
-f 13 19 20 46 45 44 43 42 41 14
-f 14 41 15
-f 15 41 67 66
-f 15 66 16
-f 16 40 17
-f 16 66 70 40
-f 20 21 46
-f 21 22 25 26 50 49 48 47 45 46
-f 22 23 25
-f 26 27 50
-f 27 28 71
-f 27 71 75 50
-f 28 29 31
-f 28 31 72 71
-f 31 32 72
-f 32 33 54
-f 32 54 73 72
-f 33 34 37 38 58 57 56 55 53 54
-f 34 35 37
-f 38 39 58
-f 39 40 70
-f 39 70 69 58
-f 41 42 67
-f 42 43 60
-f 42 60 68 67
-f 43 44 47 48 51 52 55 56 59 60
-f 44 45 47
-f 48 49 51
-f 49 50 75
-f 49 75 74 51
-f 51 74 52
-f 52 53 55
-f 52 74 73 53
-f 53 73 54
-f 56 57 59
-f 57 58 69
-f 57 69 68 59
-f 59 68 60
-f 61 62 63 64 65
-f 66 67 68 69 70
-f 71 72 73 74 75
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n72.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n72.obj
deleted file mode 100644
index ad80a06df80..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n72.obj
+++ /dev/null
@@ -1,122 +0,0 @@
-v -0.22391898 -0.68915176 0.68915176
-v -0.58622750 -0.42591921 0.68915176
-v -0.72461704 0.00000000 0.68915176
-v -0.58622750 0.42591921 0.68915176
-v -0.22391898 0.68915176 0.68915176
-v 0.22391898 0.68915176 0.68915176
-v 0.58622750 0.42591921 0.68915176
-v 0.72461704 0.00000000 0.68915176
-v 0.58622750 -0.42591921 0.68915176
-v 0.22391898 -0.68915176 0.68915176
-v -0.22391898 -0.92459411 0.30819804
-v -0.81014648 -0.49867490 0.30819804
-v -0.94853602 -0.07275569 0.30819804
-v -0.72461704 0.61639607 0.30819804
-v -0.36230852 0.87962862 0.30819804
-v 0.36230852 0.87962862 0.30819804
-v 0.72461704 0.61639607 0.30819804
-v 0.94853602 -0.07275569 0.30819804
-v 0.81014648 -0.49867490 0.30819804
-v 0.22391898 -0.92459411 0.30819804
-v 0.00000000 -0.99734979 -0.07275569
-v -0.58622750 -0.80687293 0.07275569
-v -0.94853602 0.30819804 0.07275569
-v 0.00000000 0.99734979 0.07275569
-v 0.94853602 0.30819804 0.07275569
-v 0.58622750 -0.80687293 0.07275569
-v -0.36230852 -0.87962862 -0.30819804
-v -0.22391898 -0.68915176 -0.68915176
-v -0.22391898 -0.30819804 -0.92459411
-v -0.36230852 0.11772117 -0.92459411
-v -0.58622750 0.42591921 -0.68915176
-v -0.81014648 0.49867490 -0.30819804
-v 0.36230852 -0.87962862 -0.30819804
-v 0.22391898 -0.68915176 -0.68915176
-v 0.22391898 -0.30819804 -0.92459411
-v 0.36230852 0.11772117 -0.92459411
-v 0.58622750 0.42591921 -0.68915176
-v 0.81014648 0.49867490 -0.30819804
-v -0.00000000 0.38095372 -0.92459410
-v -0.22391898 0.68915176 -0.68915176
-v 0.22391898 0.68915176 -0.68915176
-v -0.22391898 0.92459411 -0.30819804
-v 0.22391898 0.92459411 -0.30819804
-v 0.58622750 0.80687293 -0.07275569
-v -0.58622750 0.80687293 -0.07275569
-v 0.00000000 -0.38095372 0.92459411
-v 0.36230852 -0.11772117 0.92459411
-v 0.22391898 0.30819804 0.92459411
-v -0.22391898 0.30819804 0.92459411
-v -0.36230852 -0.11772117 0.92459411
-v -0.94853602 -0.30819803 -0.07275569
-v -0.94853602 0.07275569 -0.30819804
-v -0.72461704 0.00000000 -0.68915176
-v -0.58622750 -0.42591921 -0.68915176
-v -0.72461704 -0.61639607 -0.30819804
-v 0.98678595 -0.08518384 -0.13783035
-v 0.84839641 -0.51110305 -0.13783035
-v 0.62447743 -0.58385874 -0.51878407
-v 0.62447743 -0.20290502 -0.75422642
-v 0.84839641 0.10529302 -0.51878407
-f 1 2 12 22 11
-f 1 11 20 10
-f 1 10 46
-f 1 46 50 2
-f 2 3 13 12
-f 2 50 3
-f 3 4 14 23 13
-f 3 50 49 4
-f 4 5 15 14
-f 4 49 5
-f 5 6 16 24 15
-f 5 49 48 6
-f 6 7 17 16
-f 6 48 7
-f 7 8 18 25 17
-f 7 48 47 8
-f 8 9 19 18
-f 8 47 9
-f 9 10 20 26 19
-f 9 47 46 10
-f 11 22 27 21
-f 11 21 20
-f 12 13 51
-f 12 51 55 22
-f 13 23 52 51
-f 14 15 45
-f 14 45 32 23
-f 15 24 42 45
-f 16 17 44
-f 16 44 43 24
-f 17 25 38 44
-f 18 19 57 56
-f 18 56 25
-f 19 26 57
-f 20 21 33 26
-f 21 27 28 34 33
-f 22 55 27
-f 23 32 52
-f 24 43 42
-f 25 56 60 38
-f 26 33 58 57
-f 27 55 54 28
-f 28 29 35 34
-f 28 54 29
-f 29 30 39 36 35
-f 29 54 53 30
-f 30 31 40 39
-f 30 53 31
-f 31 32 45 42 40
-f 31 53 52 32
-f 33 34 58
-f 34 35 59 58
-f 35 36 59
-f 36 39 41 37
-f 36 37 60 59
-f 37 41 43 44 38
-f 37 38 60
-f 39 40 41
-f 40 42 43 41
-f 46 47 48 49 50
-f 51 52 53 54 55
-f 56 57 58 59 60
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n73.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n73.obj
deleted file mode 100644
index d65e44cac8d..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n73.obj
+++ /dev/null
@@ -1,122 +0,0 @@
-v -0.22391898 -0.68915175 0.68915175
-v -0.58622750 -0.42591921 0.68915175
-v -0.72461704 -0.00000000 0.68915175
-v -0.58622750 0.42591921 0.68915175
-v -0.22391898 0.68915175 0.68915175
-v 0.22391898 0.68915175 0.68915175
-v 0.58622749 0.42591921 0.68915175
-v 0.72461703 -0.00000000 0.68915175
-v 0.58622749 -0.42591921 0.68915175
-v 0.22391898 -0.68915175 0.68915175
-v -0.22391898 -0.92459410 0.30819803
-v -0.81014648 -0.49867489 0.30819803
-v -0.94853602 -0.07275569 0.30819803
-v -0.72461704 0.61639607 0.30819803
-v -0.36230852 0.87962861 0.30819803
-v 0.36230852 0.87962861 0.30819803
-v 0.72461703 0.61639607 0.30819803
-v 0.94853601 -0.07275569 0.30819803
-v 0.81014647 -0.49867489 0.30819803
-v 0.22391898 -0.92459410 0.30819803
-v -0.00000000 -0.99734979 -0.07275569
-v -0.58622750 -0.80687293 0.07275569
-v -0.94853602 -0.30819803 -0.07275569
-v -0.94853602 0.30819803 0.07275569
-v -0.58622750 0.80687293 -0.07275569
-v -0.00000000 0.99734979 0.07275569
-v 0.58622749 0.80687293 -0.07275569
-v 0.94853601 0.30819803 0.07275569
-v 0.94853601 -0.30819803 -0.07275569
-v 0.58622749 -0.80687293 0.07275569
-v 0.36230852 -0.87962861 -0.30819803
-v -0.36230852 -0.87962861 -0.30819803
-v -0.72461704 -0.61639607 -0.30819803
-v -0.94853601 0.07275569 -0.30819803
-v -0.81014648 0.49867489 -0.30819803
-v -0.22391898 0.92459410 -0.30819803
-v 0.22391898 0.92459410 -0.30819803
-v 0.81014647 0.49867489 -0.30819803
-v 0.94853601 0.07275569 -0.30819803
-v 0.72461703 -0.61639607 -0.30819803
-v -0.22391898 -0.68915175 -0.68915175
-v -0.58622750 -0.42591921 -0.68915175
-v -0.72461703 0.00000000 -0.68915175
-v -0.58622748 0.42591921 -0.68915175
-v -0.22391896 0.68915175 -0.68915175
-v 0.22391899 0.68915175 -0.68915175
-v 0.58622751 0.42591921 -0.68915175
-v 0.72461704 0.00000000 -0.68915175
-v 0.58622750 -0.42591921 -0.68915175
-v 0.22391898 -0.68915175 -0.68915175
-v -0.22391898 -0.30819803 0.92459410
-v 0.22391898 -0.30819803 0.92459410
-v 0.36230852 0.11772117 0.92459410
-v -0.00000000 0.38095372 0.92459410
-v -0.36230852 0.11772117 0.92459410
-v 0.00000000 -0.38095372 -0.92459410
-v -0.36230851 -0.11772117 -0.92459410
-v -0.22391897 0.30819803 -0.92459410
-v 0.22391899 0.30819803 -0.92459410
-v 0.36230852 -0.11772117 -0.92459410
-f 1 2 12 22 11
-f 1 11 20 10
-f 1 10 52 51
-f 1 51 2
-f 2 3 13 12
-f 2 51 55 3
-f 3 4 14 24 13
-f 3 55 4
-f 4 5 15 14
-f 4 55 54 5
-f 5 6 16 26 15
-f 5 54 6
-f 6 7 17 16
-f 6 54 53 7
-f 7 8 18 28 17
-f 7 53 8
-f 8 9 19 18
-f 8 53 52 9
-f 9 10 20 30 19
-f 9 52 10
-f 11 22 32 21
-f 11 21 20
-f 12 13 23
-f 12 23 33 22
-f 13 24 34 23
-f 14 15 25
-f 14 25 35 24
-f 15 26 36 25
-f 16 17 27
-f 16 27 37 26
-f 17 28 38 27
-f 18 19 29
-f 18 29 39 28
-f 19 30 40 29
-f 20 21 31 30
-f 21 32 41 50 31
-f 22 33 32
-f 23 34 43 42 33
-f 24 35 34
-f 25 36 45 44 35
-f 26 37 36
-f 27 38 47 46 37
-f 28 39 38
-f 29 40 49 48 39
-f 30 31 40
-f 31 50 49 40
-f 32 33 42 41
-f 34 35 44 43
-f 36 37 46 45
-f 38 39 48 47
-f 41 42 57 56
-f 41 56 50
-f 42 43 57
-f 43 44 58 57
-f 44 45 58
-f 45 46 59 58
-f 46 47 59
-f 47 48 60 59
-f 48 49 60
-f 49 50 56 60
-f 51 52 53 54 55
-f 56 57 58 59 60
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n74.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n74.obj
deleted file mode 100644
index b0a6ff58e90..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n74.obj
+++ /dev/null
@@ -1,122 +0,0 @@
-v -0.22391898 -0.68915176 0.68915176
-v -0.58622750 -0.42591921 0.68915176
-v -0.72461704 -0.00000000 0.68915176
-v -0.58622750 0.42591921 0.68915176
-v -0.22391898 0.68915176 0.68915176
-v 0.22391898 0.68915176 0.68915176
-v 0.58622750 0.42591921 0.68915176
-v 0.72461704 -0.00000000 0.68915176
-v 0.58622750 -0.42591921 0.68915176
-v 0.22391898 -0.68915176 0.68915176
-v -0.22391898 -0.92459411 0.30819804
-v -0.81014648 -0.49867490 0.30819804
-v -0.94853602 -0.07275569 0.30819804
-v -0.72461704 0.61639607 0.30819804
-v -0.36230852 0.87962862 0.30819804
-v 0.36230852 0.87962862 0.30819804
-v 0.72461704 0.61639607 0.30819804
-v 0.94853602 -0.07275569 0.30819804
-v 0.81014648 -0.49867490 0.30819804
-v 0.22391898 -0.92459411 0.30819804
-v 0.00000000 -0.99734979 -0.07275569
-v -0.58622750 -0.80687293 0.07275569
-v -0.94853602 0.30819804 0.07275569
-v 0.00000000 0.99734979 0.07275569
-v 0.94853602 0.30819803 0.07275569
-v 0.58622750 -0.80687293 0.07275569
-v -0.36230852 -0.87962862 -0.30819804
-v -0.22391898 -0.68915176 -0.68915176
-v -0.22391898 -0.30819803 -0.92459411
-v -0.36230852 0.11772118 -0.92459411
-v -0.58622750 0.42591921 -0.68915176
-v -0.81014648 0.49867490 -0.30819804
-v 0.36230852 -0.87962862 -0.30819804
-v 0.22391898 -0.68915176 -0.68915176
-v 0.22391898 -0.30819804 -0.92459411
-v 0.36230852 0.11772117 -0.92459411
-v 0.58622750 0.42591921 -0.68915176
-v 0.81014648 0.49867490 -0.30819804
-v -0.00000000 0.38095372 -0.92459410
-v -0.22391898 0.68915176 -0.68915176
-v 0.22391898 0.68915176 -0.68915176
-v -0.22391898 0.92459411 -0.30819804
-v 0.22391898 0.92459411 -0.30819804
-v 0.58622750 0.80687293 -0.07275569
-v -0.58622750 0.80687293 -0.07275569
-v 0.00000000 -0.38095372 0.92459411
-v 0.36230852 -0.11772117 0.92459411
-v 0.22391898 0.30819804 0.92459411
-v -0.22391898 0.30819804 0.92459411
-v -0.36230852 -0.11772117 0.92459411
-v -0.84839641 -0.51110305 -0.13783035
-v -0.98678595 -0.08518384 -0.13783035
-v -0.84839641 0.10529302 -0.51878407
-v -0.62447743 -0.20290502 -0.75422642
-v -0.62447743 -0.58385874 -0.51878407
-v 0.98678595 -0.08518384 -0.13783035
-v 0.84839641 -0.51110305 -0.13783035
-v 0.62447743 -0.58385874 -0.51878407
-v 0.62447743 -0.20290502 -0.75422642
-v 0.84839641 0.10529302 -0.51878407
-f 1 2 12 22 11
-f 1 11 20 10
-f 1 10 46
-f 1 46 50 2
-f 2 3 13 12
-f 2 50 3
-f 3 4 14 23 13
-f 3 50 49 4
-f 4 5 15 14
-f 4 49 5
-f 5 6 16 24 15
-f 5 49 48 6
-f 6 7 17 16
-f 6 48 7
-f 7 8 18 25 17
-f 7 48 47 8
-f 8 9 19 18
-f 8 47 9
-f 9 10 20 26 19
-f 9 47 46 10
-f 11 22 27 21
-f 11 21 20
-f 12 13 52 51
-f 12 51 22
-f 13 23 52
-f 14 15 45
-f 14 45 32 23
-f 15 24 42 45
-f 16 17 44
-f 16 44 43 24
-f 17 25 38 44
-f 18 19 57 56
-f 18 56 25
-f 19 26 57
-f 20 21 33 26
-f 21 27 28 34 33
-f 22 51 55 27
-f 23 32 53 52
-f 24 43 42
-f 25 56 60 38
-f 26 33 58 57
-f 27 55 28
-f 28 29 35 34
-f 28 55 54 29
-f 29 30 39 36 35
-f 29 54 30
-f 30 31 40 39
-f 30 54 53 31
-f 31 32 45 42 40
-f 31 53 32
-f 33 34 58
-f 34 35 59 58
-f 35 36 59
-f 36 39 41 37
-f 36 37 60 59
-f 37 41 43 44 38
-f 37 38 60
-f 39 40 41
-f 40 42 43 41
-f 46 47 48 49 50
-f 51 52 53 54 55
-f 56 57 58 59 60
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n75.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n75.obj
deleted file mode 100644
index a6eca5582e1..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n75.obj
+++ /dev/null
@@ -1,122 +0,0 @@
-v -0.22391898 -0.68915176 0.68915176
-v -0.58622750 -0.42591921 0.68915176
-v -0.72461704 -0.00000000 0.68915176
-v -0.58622750 0.42591921 0.68915176
-v -0.22391898 0.68915176 0.68915176
-v 0.22391898 0.68915176 0.68915176
-v 0.58622750 0.42591921 0.68915176
-v 0.72461704 -0.00000000 0.68915176
-v 0.58622750 -0.42591921 0.68915176
-v 0.22391898 -0.68915176 0.68915176
-v -0.22391898 -0.92459411 0.30819804
-v -0.81014648 -0.49867490 0.30819804
-v -0.94853602 -0.07275569 0.30819804
-v -0.72461704 0.61639607 0.30819804
-v -0.36230852 0.87962862 0.30819804
-v 0.36230852 0.87962862 0.30819804
-v 0.72461704 0.61639607 0.30819804
-v 0.94853602 -0.07275569 0.30819804
-v 0.81014648 -0.49867490 0.30819804
-v 0.22391898 -0.92459411 0.30819804
-v -0.00000000 -0.99734979 -0.07275569
-v -0.58622750 -0.80687293 0.07275569
-v -0.94853602 0.30819804 0.07275569
-v 0.00000000 0.99734979 0.07275569
-v 0.94853602 0.30819804 0.07275569
-v 0.58622750 -0.80687293 0.07275569
-v -0.36230852 -0.87962862 -0.30819804
-v -0.22391898 -0.68915176 -0.68915176
-v -0.22391898 -0.30819803 -0.92459411
-v -0.36230852 0.11772118 -0.92459411
-v -0.58622750 0.42591921 -0.68915176
-v -0.81014648 0.49867490 -0.30819804
-v 0.36230852 -0.87962862 -0.30819804
-v 0.22391898 -0.68915176 -0.68915176
-v 0.22391898 -0.30819804 -0.92459411
-v 0.36230852 0.11772117 -0.92459411
-v 0.58622750 0.42591921 -0.68915176
-v 0.81014648 0.49867490 -0.30819804
-v -0.00000000 0.38095372 -0.92459410
-v -0.22391898 0.68915176 -0.68915176
-v 0.22391898 0.68915176 -0.68915176
-v -0.22391898 0.92459411 -0.30819804
-v 0.22391898 0.92459411 -0.30819804
-v 0.58622750 0.80687293 -0.07275569
-v -0.58622750 0.80687293 -0.07275569
-v -0.22391898 -0.30819804 0.92459411
-v 0.22391898 -0.30819804 0.92459411
-v 0.36230852 0.11772117 0.92459411
-v 0.00000000 0.38095372 0.92459411
-v -0.36230852 0.11772117 0.92459411
-v -0.84839641 -0.51110305 -0.13783035
-v -0.98678595 -0.08518384 -0.13783035
-v -0.84839641 0.10529302 -0.51878407
-v -0.62447743 -0.20290502 -0.75422642
-v -0.62447743 -0.58385874 -0.51878407
-v 0.98678595 -0.08518384 -0.13783035
-v 0.84839641 -0.51110305 -0.13783035
-v 0.62447743 -0.58385874 -0.51878407
-v 0.62447743 -0.20290502 -0.75422642
-v 0.84839641 0.10529302 -0.51878407
-f 1 2 12 22 11
-f 1 11 20 10
-f 1 10 47 46
-f 1 46 2
-f 2 3 13 12
-f 2 46 50 3
-f 3 4 14 23 13
-f 3 50 4
-f 4 5 15 14
-f 4 50 49 5
-f 5 6 16 24 15
-f 5 49 6
-f 6 7 17 16
-f 6 49 48 7
-f 7 8 18 25 17
-f 7 48 8
-f 8 9 19 18
-f 8 48 47 9
-f 9 10 20 26 19
-f 9 47 10
-f 11 22 27 21
-f 11 21 20
-f 12 13 52 51
-f 12 51 22
-f 13 23 52
-f 14 15 45
-f 14 45 32 23
-f 15 24 42 45
-f 16 17 44
-f 16 44 43 24
-f 17 25 38 44
-f 18 19 57 56
-f 18 56 25
-f 19 26 57
-f 20 21 33 26
-f 21 27 28 34 33
-f 22 51 55 27
-f 23 32 53 52
-f 24 43 42
-f 25 56 60 38
-f 26 33 58 57
-f 27 55 28
-f 28 29 35 34
-f 28 55 54 29
-f 29 30 39 36 35
-f 29 54 30
-f 30 31 40 39
-f 30 54 53 31
-f 31 32 45 42 40
-f 31 53 32
-f 33 34 58
-f 34 35 59 58
-f 35 36 59
-f 36 39 41 37
-f 36 37 60 59
-f 37 41 43 44 38
-f 37 38 60
-f 39 40 41
-f 40 42 43 41
-f 46 47 48 49 50
-f 51 52 53 54 55
-f 56 57 58 59 60
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n76.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n76.obj
deleted file mode 100644
index 6ae6abe061a..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n76.obj
+++ /dev/null
@@ -1,107 +0,0 @@
-v -0.14383464 -0.67226446 0.61486772
-v -0.48573906 -0.42385636 0.61486772
-v -0.61633492 -0.02192360 0.61486772
-v -0.48573906 0.38000915 0.61486772
-v -0.14383464 0.62841725 0.61486772
-v 0.27878247 0.62841725 0.61486772
-v 0.62068689 0.38000915 0.61486772
-v 0.75128276 -0.02192360 0.61486772
-v 0.62068689 -0.42385636 0.61486772
-v 0.27878247 -0.67226446 0.61486772
-v -0.14383464 -0.89444742 0.25536813
-v -0.69704761 -0.49251467 0.25536813
-v -0.82764348 -0.09058192 0.25536813
-v -0.61633492 0.55975894 0.25536813
-v -0.27443050 0.80816704 0.25536813
-v 0.40937834 0.80816704 0.25536813
-v 0.75128276 0.55975894 0.25536813
-v 0.96259131 -0.09058192 0.25536813
-v 0.83199544 -0.49251467 0.25536813
-v 0.27878247 -0.89444742 0.25536813
-v 0.06747392 -0.96310573 -0.10413145
-v -0.48573906 -0.78335594 0.03318517
-v -0.82764348 0.26891767 0.03318517
-v 0.06747392 0.91925852 0.03318517
-v 0.96259131 0.26891767 0.03318517
-v 0.62068689 -0.78335594 0.03318517
-v -0.27443050 -0.85201425 -0.32631441
-v -0.14383464 -0.67226446 -0.68581399
-v -0.14383464 -0.31276488 -0.90799695
-v -0.27443050 0.08916788 -0.90799695
-v -0.48573906 0.38000915 -0.68581399
-v -0.69704761 0.44866746 -0.32631441
-v 0.40937834 -0.85201425 -0.32631441
-v 0.27878247 -0.67226446 -0.68581399
-v 0.27878247 -0.31276488 -0.90799695
-v 0.40937834 0.08916788 -0.90799695
-v 0.62068689 0.38000915 -0.68581399
-v 0.83199544 0.44866746 -0.32631441
-v 0.06747392 0.33757598 -0.90799695
-v -0.14383464 0.62841725 -0.68581399
-v 0.27878247 0.62841725 -0.68581399
-v -0.14383464 0.85060021 -0.32631441
-v 0.27878247 0.85060021 -0.32631441
-v 0.62068689 0.73950873 -0.10413145
-v -0.48573906 0.73950873 -0.10413145
-v 0.06747392 -0.38142319 0.83705068
-v 0.40937834 -0.13301509 0.83705068
-v 0.27878247 0.26891767 0.83705068
-v -0.14383464 0.26891767 0.83705068
-v -0.27443050 -0.13301508 0.83705068
-v -0.82764348 -0.31276488 -0.10413145
-v -0.82764348 0.04673471 -0.32631441
-v -0.61633492 -0.02192360 -0.68581399
-v -0.48573906 -0.42385636 -0.68581399
-v -0.61633492 -0.60360615 -0.32631441
-f 1 2 12 22 11
-f 1 11 20 10
-f 1 10 46
-f 1 46 50 2
-f 2 3 13 12
-f 2 50 3
-f 3 4 14 23 13
-f 3 50 49 4
-f 4 5 15 14
-f 4 49 5
-f 5 6 16 24 15
-f 5 49 48 6
-f 6 7 17 16
-f 6 48 7
-f 7 8 18 25 17
-f 7 48 47 8
-f 8 9 19 18
-f 8 47 9
-f 9 10 20 26 19
-f 9 47 46 10
-f 11 22 27 21
-f 11 21 20
-f 12 13 51
-f 12 51 55 22
-f 13 23 52 51
-f 14 15 45
-f 14 45 32 23
-f 15 24 42 45
-f 16 17 44
-f 16 44 43 24
-f 17 25 38 44
-f 18 19 26 33 34 35 36 37 38 25
-f 20 21 33 26
-f 21 27 28 34 33
-f 22 55 27
-f 23 32 52
-f 24 43 42
-f 27 55 54 28
-f 28 29 35 34
-f 28 54 29
-f 29 30 39 36 35
-f 29 54 53 30
-f 30 31 40 39
-f 30 53 31
-f 31 32 45 42 40
-f 31 53 52 32
-f 36 39 41 37
-f 37 41 43 44 38
-f 39 40 41
-f 40 42 43 41
-f 46 47 48 49 50
-f 51 52 53 54 55
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n77.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n77.obj
deleted file mode 100644
index 14c23ffda6d..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n77.obj
+++ /dev/null
@@ -1,107 +0,0 @@
-v -0.21130855 -0.65034085 0.57102051
-v -0.55321297 -0.40193275 0.57102051
-v -0.68380884 -0.00000000 0.57102051
-v -0.55321297 0.40193275 0.57102051
-v -0.21130855 0.65034085 0.57102051
-v 0.21130855 0.65034085 0.57102051
-v 0.55321297 0.40193275 0.57102051
-v 0.68380884 -0.00000000 0.57102051
-v 0.55321297 -0.40193275 0.57102051
-v 0.21130855 -0.65034085 0.57102051
-v -0.21130855 -0.87252381 0.21152092
-v -0.76452153 -0.47059106 0.21152092
-v -0.89511739 -0.06865831 0.21152092
-v -0.68380884 0.58168254 0.21152092
-v -0.34190442 0.83009064 0.21152092
-v 0.34190442 0.83009064 0.21152092
-v 0.68380884 0.58168254 0.21152092
-v 0.89511739 -0.06865831 0.21152092
-v 0.76452152 -0.47059106 0.21152092
-v 0.21130855 -0.87252381 0.21152092
-v -0.00000000 -0.94118212 -0.14797866
-v -0.55321297 -0.76143233 -0.01066204
-v -0.89511739 -0.29084127 -0.14797866
-v -0.89511739 0.29084127 -0.01066204
-v -0.55321297 0.76143233 -0.14797866
-v -0.00000000 0.94118212 -0.01066204
-v 0.55321297 0.76143233 -0.14797866
-v 0.89511739 0.29084127 -0.01066204
-v 0.89511739 -0.29084127 -0.14797866
-v 0.55321297 -0.76143233 -0.01066204
-v 0.34190442 -0.83009064 -0.37016162
-v -0.34190442 -0.83009064 -0.37016162
-v -0.68380884 -0.58168254 -0.37016162
-v -0.89511739 0.06865831 -0.37016162
-v -0.76452153 0.47059106 -0.37016162
-v -0.21130855 0.87252381 -0.37016162
-v 0.21130855 0.87252381 -0.37016162
-v 0.76452153 0.47059106 -0.37016162
-v 0.89511739 0.06865831 -0.37016162
-v 0.68380884 -0.58168254 -0.37016162
-v -0.21130855 -0.65034085 -0.72966120
-v -0.55321297 -0.40193275 -0.72966120
-v -0.68380884 0.00000000 -0.72966120
-v -0.55321297 0.40193275 -0.72966120
-v -0.21130855 0.65034085 -0.72966120
-v 0.21130855 0.65034085 -0.72966120
-v 0.55321297 0.40193275 -0.72966120
-v 0.68380884 -0.00000000 -0.72966120
-v 0.55321297 -0.40193275 -0.72966120
-v 0.21130855 -0.65034085 -0.72966120
-v -0.21130855 -0.29084127 0.79320347
-v 0.21130855 -0.29084127 0.79320347
-v 0.34190442 0.11109148 0.79320347
-v -0.00000000 0.35949958 0.79320347
-v -0.34190442 0.11109148 0.79320347
-f 1 2 12 22 11
-f 1 11 20 10
-f 1 10 52 51
-f 1 51 2
-f 2 3 13 12
-f 2 51 55 3
-f 3 4 14 24 13
-f 3 55 4
-f 4 5 15 14
-f 4 55 54 5
-f 5 6 16 26 15
-f 5 54 6
-f 6 7 17 16
-f 6 54 53 7
-f 7 8 18 28 17
-f 7 53 8
-f 8 9 19 18
-f 8 53 52 9
-f 9 10 20 30 19
-f 9 52 10
-f 11 22 32 21
-f 11 21 20
-f 12 13 23
-f 12 23 33 22
-f 13 24 34 23
-f 14 15 25
-f 14 25 35 24
-f 15 26 36 25
-f 16 17 27
-f 16 27 37 26
-f 17 28 38 27
-f 18 19 29
-f 18 29 39 28
-f 19 30 40 29
-f 20 21 31 30
-f 21 32 41 50 31
-f 22 33 32
-f 23 34 43 42 33
-f 24 35 34
-f 25 36 45 44 35
-f 26 37 36
-f 27 38 47 46 37
-f 28 39 38
-f 29 40 49 48 39
-f 30 31 40
-f 31 50 49 40
-f 32 33 42 41
-f 34 35 44 43
-f 36 37 46 45
-f 38 39 48 47
-f 41 42 43 44 45 46 47 48 49 50
-f 51 52 53 54 55
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n78.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n78.obj
deleted file mode 100644
index 7693437abfa..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n78.obj
+++ /dev/null
@@ -1,107 +0,0 @@
-v -0.14383464 -0.67226446 0.61486772
-v -0.48573906 -0.42385636 0.61486772
-v -0.61633492 -0.02192360 0.61486772
-v -0.48573906 0.38000915 0.61486772
-v -0.14383464 0.62841725 0.61486772
-v 0.27878247 0.62841725 0.61486772
-v 0.62068689 0.38000915 0.61486772
-v 0.75128276 -0.02192360 0.61486772
-v 0.62068689 -0.42385636 0.61486772
-v 0.27878247 -0.67226446 0.61486772
-v -0.14383464 -0.89444742 0.25536813
-v -0.69704761 -0.49251467 0.25536813
-v -0.82764348 -0.09058192 0.25536813
-v -0.61633492 0.55975894 0.25536813
-v -0.27443050 0.80816704 0.25536813
-v 0.40937834 0.80816704 0.25536813
-v 0.75128276 0.55975894 0.25536813
-v 0.96259131 -0.09058192 0.25536813
-v 0.83199544 -0.49251467 0.25536813
-v 0.27878247 -0.89444742 0.25536813
-v 0.06747392 -0.96310573 -0.10413145
-v -0.48573906 -0.78335594 0.03318517
-v -0.82764348 0.26891767 0.03318517
-v 0.06747392 0.91925852 0.03318517
-v 0.96259131 0.26891767 0.03318517
-v 0.62068689 -0.78335594 0.03318517
-v -0.27443050 -0.85201425 -0.32631441
-v -0.14383464 -0.67226446 -0.68581399
-v -0.14383464 -0.31276488 -0.90799695
-v -0.27443050 0.08916788 -0.90799695
-v -0.48573906 0.38000915 -0.68581399
-v -0.69704761 0.44866746 -0.32631441
-v 0.40937834 -0.85201425 -0.32631441
-v 0.27878247 -0.67226446 -0.68581399
-v 0.27878247 -0.31276488 -0.90799695
-v 0.40937834 0.08916788 -0.90799695
-v 0.62068689 0.38000915 -0.68581399
-v 0.83199544 0.44866746 -0.32631441
-v 0.06747392 0.33757598 -0.90799695
-v -0.14383464 0.62841725 -0.68581399
-v 0.27878247 0.62841725 -0.68581399
-v -0.14383464 0.85060021 -0.32631441
-v 0.27878247 0.85060021 -0.32631441
-v 0.62068689 0.73950873 -0.10413145
-v -0.48573906 0.73950873 -0.10413145
-v 0.06747392 -0.38142319 0.83705068
-v 0.40937834 -0.13301509 0.83705068
-v 0.27878247 0.26891767 0.83705068
-v -0.14383464 0.26891767 0.83705068
-v -0.27443050 -0.13301509 0.83705068
-v -0.73314342 -0.50424291 -0.16554131
-v -0.86373929 -0.10231015 -0.16554131
-v -0.73314342 0.07743964 -0.52504089
-v -0.52183487 -0.21340164 -0.74722385
-v -0.52183487 -0.57290122 -0.52504089
-f 1 2 12 22 11
-f 1 11 20 10
-f 1 10 46
-f 1 46 50 2
-f 2 3 13 12
-f 2 50 3
-f 3 4 14 23 13
-f 3 50 49 4
-f 4 5 15 14
-f 4 49 5
-f 5 6 16 24 15
-f 5 49 48 6
-f 6 7 17 16
-f 6 48 7
-f 7 8 18 25 17
-f 7 48 47 8
-f 8 9 19 18
-f 8 47 9
-f 9 10 20 26 19
-f 9 47 46 10
-f 11 22 27 21
-f 11 21 20
-f 12 13 52 51
-f 12 51 22
-f 13 23 52
-f 14 15 45
-f 14 45 32 23
-f 15 24 42 45
-f 16 17 44
-f 16 44 43 24
-f 17 25 38 44
-f 18 19 26 33 34 35 36 37 38 25
-f 20 21 33 26
-f 21 27 28 34 33
-f 22 51 55 27
-f 23 32 53 52
-f 24 43 42
-f 27 55 28
-f 28 29 35 34
-f 28 55 54 29
-f 29 30 39 36 35
-f 29 54 30
-f 30 31 40 39
-f 30 54 53 31
-f 31 32 45 42 40
-f 31 53 32
-f 36 39 41 37
-f 37 41 43 44 38
-f 39 40 41
-f 40 42 43 41
-f 46 47 48 49 50
-f 51 52 53 54 55
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n79.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n79.obj
deleted file mode 100644
index 5923c3005db..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n79.obj
+++ /dev/null
@@ -1,107 +0,0 @@
-v -0.14383464 -0.67226446 0.61486772
-v -0.48573906 -0.42385636 0.61486772
-v -0.61633492 -0.02192360 0.61486772
-v -0.48573906 0.38000915 0.61486772
-v -0.14383464 0.62841725 0.61486772
-v 0.27878247 0.62841725 0.61486772
-v 0.62068689 0.38000915 0.61486772
-v 0.75128276 -0.02192360 0.61486772
-v 0.62068689 -0.42385636 0.61486772
-v 0.27878247 -0.67226446 0.61486772
-v -0.14383464 -0.89444742 0.25536813
-v -0.69704761 -0.49251467 0.25536813
-v -0.82764348 -0.09058192 0.25536813
-v -0.61633492 0.55975894 0.25536813
-v -0.27443050 0.80816704 0.25536813
-v 0.40937834 0.80816704 0.25536813
-v 0.75128276 0.55975894 0.25536813
-v 0.96259131 -0.09058192 0.25536813
-v 0.83199544 -0.49251467 0.25536813
-v 0.27878247 -0.89444742 0.25536813
-v 0.06747392 -0.96310573 -0.10413145
-v -0.48573906 -0.78335594 0.03318517
-v -0.82764348 0.26891767 0.03318517
-v 0.06747392 0.91925852 0.03318517
-v 0.96259131 0.26891767 0.03318517
-v 0.62068689 -0.78335594 0.03318517
-v -0.27443050 -0.85201425 -0.32631441
-v -0.14383464 -0.67226446 -0.68581399
-v -0.14383464 -0.31276488 -0.90799695
-v -0.27443050 0.08916788 -0.90799695
-v -0.48573906 0.38000915 -0.68581399
-v -0.69704761 0.44866746 -0.32631441
-v 0.40937834 -0.85201425 -0.32631441
-v 0.27878247 -0.67226446 -0.68581399
-v 0.27878247 -0.31276488 -0.90799695
-v 0.40937834 0.08916788 -0.90799695
-v 0.62068689 0.38000915 -0.68581399
-v 0.83199544 0.44866746 -0.32631441
-v 0.06747392 0.33757598 -0.90799695
-v -0.14383464 0.62841725 -0.68581399
-v 0.27878247 0.62841725 -0.68581399
-v -0.14383464 0.85060021 -0.32631441
-v 0.27878247 0.85060021 -0.32631441
-v 0.62068689 0.73950873 -0.10413145
-v -0.48573906 0.73950873 -0.10413145
-v -0.14383464 -0.31276488 0.83705068
-v 0.27878247 -0.31276488 0.83705068
-v 0.40937834 0.08916788 0.83705068
-v 0.06747392 0.33757598 0.83705068
-v -0.27443050 0.08916788 0.83705068
-v -0.73314342 -0.50424291 -0.16554131
-v -0.86373929 -0.10231015 -0.16554131
-v -0.73314342 0.07743964 -0.52504089
-v -0.52183487 -0.21340164 -0.74722385
-v -0.52183487 -0.57290122 -0.52504089
-f 1 2 12 22 11
-f 1 11 20 10
-f 1 10 47 46
-f 1 46 2
-f 2 3 13 12
-f 2 46 50 3
-f 3 4 14 23 13
-f 3 50 4
-f 4 5 15 14
-f 4 50 49 5
-f 5 6 16 24 15
-f 5 49 6
-f 6 7 17 16
-f 6 49 48 7
-f 7 8 18 25 17
-f 7 48 8
-f 8 9 19 18
-f 8 48 47 9
-f 9 10 20 26 19
-f 9 47 10
-f 11 22 27 21
-f 11 21 20
-f 12 13 52 51
-f 12 51 22
-f 13 23 52
-f 14 15 45
-f 14 45 32 23
-f 15 24 42 45
-f 16 17 44
-f 16 44 43 24
-f 17 25 38 44
-f 18 19 26 33 34 35 36 37 38 25
-f 20 21 33 26
-f 21 27 28 34 33
-f 22 51 55 27
-f 23 32 53 52
-f 24 43 42
-f 27 55 28
-f 28 29 35 34
-f 28 55 54 29
-f 29 30 39 36 35
-f 29 54 30
-f 30 31 40 39
-f 30 54 53 31
-f 31 32 45 42 40
-f 31 53 32
-f 36 39 41 37
-f 37 41 43 44 38
-f 39 40 41
-f 40 42 43 41
-f 46 47 48 49 50
-f 51 52 53 54 55
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n80.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n80.obj
deleted file mode 100644
index c6797f3dd87..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n80.obj
+++ /dev/null
@@ -1,92 +0,0 @@
-v -0.22391898 -0.68915176 0.68915176
-v -0.58622750 -0.42591921 0.68915176
-v -0.72461704 -0.00000000 0.68915176
-v -0.58622750 0.42591921 0.68915176
-v -0.22391898 0.68915176 0.68915176
-v 0.22391898 0.68915176 0.68915176
-v 0.58622750 0.42591921 0.68915176
-v 0.72461704 -0.00000000 0.68915176
-v 0.58622750 -0.42591921 0.68915176
-v 0.22391898 -0.68915176 0.68915176
-v -0.22391898 -0.92459411 0.30819803
-v -0.81014648 -0.49867490 0.30819803
-v -0.94853602 -0.07275569 0.30819803
-v -0.72461704 0.61639607 0.30819803
-v -0.36230852 0.87962862 0.30819803
-v 0.36230852 0.87962862 0.30819803
-v 0.72461704 0.61639607 0.30819803
-v 0.94853602 -0.07275569 0.30819803
-v 0.81014648 -0.49867490 0.30819803
-v 0.22391898 -0.92459411 0.30819803
-v -0.00000000 -0.99734979 -0.07275569
-v -0.58622750 -0.80687293 0.07275569
-v -0.94853602 -0.30819803 -0.07275569
-v -0.94853602 0.30819803 0.07275569
-v -0.58622750 0.80687293 -0.07275569
-v -0.00000000 0.99734979 0.07275569
-v 0.58622750 0.80687293 -0.07275569
-v 0.94853602 0.30819803 0.07275569
-v 0.94853602 -0.30819804 -0.07275569
-v 0.58622750 -0.80687293 0.07275569
-v 0.36230852 -0.87962862 -0.30819803
-v -0.36230852 -0.87962862 -0.30819803
-v -0.72461704 -0.61639607 -0.30819803
-v -0.94853602 0.07275569 -0.30819803
-v -0.81014648 0.49867490 -0.30819803
-v -0.22391898 0.92459411 -0.30819803
-v 0.22391898 0.92459410 -0.30819803
-v 0.81014648 0.49867490 -0.30819803
-v 0.94853602 0.07275569 -0.30819803
-v 0.72461704 -0.61639607 -0.30819803
-v -0.22391898 -0.68915176 -0.68915176
-v -0.58622750 -0.42591921 -0.68915176
-v -0.72461703 0.00000000 -0.68915176
-v -0.58622750 0.42591921 -0.68915176
-v -0.22391898 0.68915176 -0.68915176
-v 0.22391898 0.68915176 -0.68915176
-v 0.58622750 0.42591921 -0.68915176
-v 0.72461704 -0.00000000 -0.68915176
-v 0.58622750 -0.42591921 -0.68915176
-v 0.22391898 -0.68915176 -0.68915176
-f 1 2 12 22 11
-f 1 11 20 10
-f 1 10 9 8 7 6 5 4 3 2
-f 2 3 13 12
-f 3 4 14 24 13
-f 4 5 15 14
-f 5 6 16 26 15
-f 6 7 17 16
-f 7 8 18 28 17
-f 8 9 19 18
-f 9 10 20 30 19
-f 11 22 32 21
-f 11 21 20
-f 12 13 23
-f 12 23 33 22
-f 13 24 34 23
-f 14 15 25
-f 14 25 35 24
-f 15 26 36 25
-f 16 17 27
-f 16 27 37 26
-f 17 28 38 27
-f 18 19 29
-f 18 29 39 28
-f 19 30 40 29
-f 20 21 31 30
-f 21 32 41 50 31
-f 22 33 32
-f 23 34 43 42 33
-f 24 35 34
-f 25 36 45 44 35
-f 26 37 36
-f 27 38 47 46 37
-f 28 39 38
-f 29 40 49 48 39
-f 30 31 40
-f 31 50 49 40
-f 32 33 42 41
-f 34 35 44 43
-f 36 37 46 45
-f 38 39 48 47
-f 41 42 43 44 45 46 47 48 49 50
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n81.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n81.obj
deleted file mode 100644
index e249e287110..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n81.obj
+++ /dev/null
@@ -1,92 +0,0 @@
-v -0.20493237 -0.67749353 0.55503095
-v -0.53651992 -0.43658108 0.55503095
-v -0.66317509 -0.04677654 0.55503095
-v -0.53651992 0.34302799 0.55503095
-v -0.20493237 0.58394044 0.55503095
-v 0.20493237 0.58394044 0.55503095
-v 0.53651992 0.34302799 0.55503095
-v 0.66317509 -0.04677654 0.55503095
-v 0.53651992 -0.43658108 0.55503095
-v 0.20493237 -0.67749353 0.55503095
-v -0.20493237 -0.89297218 0.20637917
-v -0.74145229 -0.50316764 0.20637917
-v -0.86810746 -0.11336311 0.20637917
-v -0.66317509 0.51735388 0.20637917
-v -0.33158754 0.75826633 0.20637917
-v 0.33158754 0.75826633 0.20637917
-v 0.66317509 0.51735388 0.20637917
-v 0.86810746 -0.11336311 0.20637917
-v 0.74145229 -0.50316764 0.20637917
-v 0.20493237 -0.89297218 0.20637917
-v 0.00000000 -0.95955874 -0.14227260
-v -0.53651992 -0.78523286 -0.00909947
-v -0.86810746 0.23528867 -0.00909947
-v 0.00000000 0.86600566 -0.00909947
-v 0.86810746 0.23528867 -0.00909947
-v 0.53651992 -0.78523286 -0.00909947
-v -0.33158754 -0.85181942 -0.35775125
-v -0.20493237 -0.67749353 -0.70640303
-v -0.20493237 -0.32884176 -0.92188167
-v -0.33158754 0.06096278 -0.92188167
-v -0.53651992 0.34302799 -0.70640302
-v -0.74145229 0.40961456 -0.35775125
-v 0.33158754 -0.85181942 -0.35775125
-v 0.20493237 -0.67749353 -0.70640303
-v 0.20493237 -0.32884176 -0.92188167
-v 0.33158754 0.06096278 -0.92188167
-v 0.53651992 0.34302799 -0.70640303
-v 0.74145229 0.40961456 -0.35775125
-v -0.00000000 0.30187523 -0.92188167
-v -0.20493237 0.58394044 -0.70640302
-v 0.20493237 0.58394044 -0.70640303
-v -0.20493237 0.79941909 -0.35775125
-v 0.20493237 0.79941909 -0.35775125
-v 0.53651992 0.69167977 -0.14227260
-v -0.53651992 0.69167977 -0.14227260
-v 0.00000000 -0.39542832 0.77050960
-v 0.33158754 -0.15451587 0.77050960
-v 0.20493237 0.23528867 0.77050960
-v -0.20493237 0.23528867 0.77050960
-v -0.33158754 -0.15451587 0.77050960
-f 1 2 12 22 11
-f 1 11 20 10
-f 1 10 46
-f 1 46 50 2
-f 2 3 13 12
-f 2 50 3
-f 3 4 14 23 13
-f 3 50 49 4
-f 4 5 15 14
-f 4 49 5
-f 5 6 16 24 15
-f 5 49 48 6
-f 6 7 17 16
-f 6 48 7
-f 7 8 18 25 17
-f 7 48 47 8
-f 8 9 19 18
-f 8 47 9
-f 9 10 20 26 19
-f 9 47 46 10
-f 11 22 27 21
-f 11 21 20
-f 12 13 23 32 31 30 29 28 27 22
-f 14 15 45
-f 14 45 32 23
-f 15 24 42 45
-f 16 17 44
-f 16 44 43 24
-f 17 25 38 44
-f 18 19 26 33 34 35 36 37 38 25
-f 20 21 33 26
-f 21 27 28 34 33
-f 24 43 42
-f 28 29 35 34
-f 29 30 39 36 35
-f 30 31 40 39
-f 31 32 45 42 40
-f 36 39 41 37
-f 37 41 43 44 38
-f 39 40 41
-f 40 42 43 41
-f 46 47 48 49 50
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n82.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n82.obj
deleted file mode 100644
index bec40fa759b..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n82.obj
+++ /dev/null
@@ -1,92 +0,0 @@
-v -0.20493237 -0.67749353 0.55503095
-v -0.53651992 -0.43658108 0.55503095
-v -0.66317509 -0.04677654 0.55503095
-v -0.53651992 0.34302799 0.55503095
-v -0.20493237 0.58394044 0.55503095
-v 0.20493237 0.58394044 0.55503095
-v 0.53651992 0.34302799 0.55503095
-v 0.66317509 -0.04677654 0.55503095
-v 0.53651992 -0.43658108 0.55503095
-v 0.20493237 -0.67749353 0.55503095
-v -0.20493237 -0.89297218 0.20637917
-v -0.74145229 -0.50316764 0.20637917
-v -0.86810746 -0.11336311 0.20637917
-v -0.66317509 0.51735388 0.20637917
-v -0.33158754 0.75826633 0.20637917
-v 0.33158754 0.75826633 0.20637917
-v 0.66317509 0.51735388 0.20637917
-v 0.86810746 -0.11336311 0.20637917
-v 0.74145229 -0.50316764 0.20637917
-v 0.20493237 -0.89297218 0.20637917
-v 0.00000000 -0.95955874 -0.14227260
-v -0.53651992 -0.78523286 -0.00909947
-v -0.86810746 0.23528867 -0.00909947
-v 0.00000000 0.86600566 -0.00909947
-v 0.86810746 0.23528867 -0.00909947
-v 0.53651992 -0.78523286 -0.00909947
-v -0.33158754 -0.85181942 -0.35775125
-v -0.20493237 -0.67749353 -0.70640303
-v -0.20493237 -0.32884176 -0.92188167
-v -0.33158754 0.06096278 -0.92188167
-v -0.53651992 0.34302799 -0.70640302
-v -0.74145229 0.40961456 -0.35775125
-v 0.33158754 -0.85181942 -0.35775125
-v 0.20493237 -0.67749353 -0.70640303
-v 0.20493237 -0.32884176 -0.92188167
-v 0.33158754 0.06096278 -0.92188167
-v 0.53651992 0.34302799 -0.70640303
-v 0.74145229 0.40961456 -0.35775125
-v -0.00000000 0.30187523 -0.92188167
-v -0.20493237 0.58394044 -0.70640302
-v 0.20493237 0.58394044 -0.70640303
-v -0.20493237 0.79941909 -0.35775125
-v 0.20493237 0.79941909 -0.35775125
-v 0.53651992 0.69167977 -0.14227260
-v -0.53651992 0.69167977 -0.14227260
-v -0.20493237 -0.32884176 0.77050960
-v 0.20493237 -0.32884176 0.77050960
-v 0.33158754 0.06096278 0.77050960
-v 0.00000000 0.30187523 0.77050960
-v -0.33158754 0.06096278 0.77050960
-f 1 2 12 22 11
-f 1 11 20 10
-f 1 10 47 46
-f 1 46 2
-f 2 3 13 12
-f 2 46 50 3
-f 3 4 14 23 13
-f 3 50 4
-f 4 5 15 14
-f 4 50 49 5
-f 5 6 16 24 15
-f 5 49 6
-f 6 7 17 16
-f 6 49 48 7
-f 7 8 18 25 17
-f 7 48 8
-f 8 9 19 18
-f 8 48 47 9
-f 9 10 20 26 19
-f 9 47 10
-f 11 22 27 21
-f 11 21 20
-f 12 13 23 32 31 30 29 28 27 22
-f 14 15 45
-f 14 45 32 23
-f 15 24 42 45
-f 16 17 44
-f 16 44 43 24
-f 17 25 38 44
-f 18 19 26 33 34 35 36 37 38 25
-f 20 21 33 26
-f 21 27 28 34 33
-f 24 43 42
-f 28 29 35 34
-f 29 30 39 36 35
-f 30 31 40 39
-f 31 32 45 42 40
-f 36 39 41 37
-f 37 41 43 44 38
-f 39 40 41
-f 40 42 43 41
-f 46 47 48 49 50
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n83.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n83.obj
deleted file mode 100644
index 40656942c5b..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n83.obj
+++ /dev/null
@@ -1,77 +0,0 @@
-v -0.21205343 -0.70641331 0.66290442
-v -0.55516310 -0.45712955 0.66290442
-v -0.68621933 -0.05377995 0.66290442
-v -0.55516310 0.34956965 0.66290442
-v -0.21205343 0.59885342 0.66290442
-v 0.21205343 0.59885342 0.66290442
-v 0.55516310 0.34956965 0.66290442
-v 0.68621933 -0.05377995 0.66290442
-v 0.55516310 -0.45712955 0.66290442
-v 0.21205343 -0.70641331 0.66290442
-v -0.21205343 -0.92937949 0.30213757
-v -0.76721653 -0.52602989 0.30213757
-v -0.89827276 -0.12268028 0.30213757
-v -0.68621933 0.52995308 0.30213757
-v -0.34310966 0.77923684 0.30213757
-v 0.34310966 0.77923684 0.30213757
-v 0.68621933 0.52995308 0.30213757
-v 0.89827276 -0.12268028 0.30213757
-v 0.76721653 -0.52602989 0.30213757
-v 0.21205343 -0.92937949 0.30213757
-v 0.00000000 -0.99827982 -0.05862928
-v -0.55516310 -0.81789640 0.07917139
-v -0.89827276 0.23808657 0.07917139
-v 0.00000000 0.89071993 0.07917139
-v 0.89827276 0.23808657 0.07917139
-v 0.55516310 -0.81789640 0.07917139
-v -0.34310966 -0.88679674 -0.28159546
-v -0.21205343 -0.70641331 -0.64236231
-v -0.21205343 -0.34564646 -0.86532848
-v -0.34310967 0.05770314 -0.86532848
-v -0.55516310 0.34956965 -0.64236231
-v -0.76721653 0.41846999 -0.28159546
-v 0.34310966 -0.88679674 -0.28159546
-v 0.21205343 -0.70641331 -0.64236231
-v 0.21205343 -0.34564646 -0.86532848
-v 0.34310966 0.05770314 -0.86532848
-v 0.55516310 0.34956965 -0.64236231
-v 0.76721653 0.41846999 -0.28159546
-v -0.00000000 0.30698691 -0.86532848
-v -0.21205344 0.59885342 -0.64236231
-v 0.21205343 0.59885342 -0.64236231
-v -0.21205343 0.82181959 -0.28159546
-v 0.21205343 0.82181959 -0.28159546
-v 0.55516310 0.71033651 -0.05862928
-v -0.55516310 0.71033650 -0.05862928
-f 1 2 12 22 11
-f 1 11 20 10
-f 1 10 9 8 7 6 5 4 3 2
-f 2 3 13 12
-f 3 4 14 23 13
-f 4 5 15 14
-f 5 6 16 24 15
-f 6 7 17 16
-f 7 8 18 25 17
-f 8 9 19 18
-f 9 10 20 26 19
-f 11 22 27 21
-f 11 21 20
-f 12 13 23 32 31 30 29 28 27 22
-f 14 15 45
-f 14 45 32 23
-f 15 24 42 45
-f 16 17 44
-f 16 44 43 24
-f 17 25 38 44
-f 18 19 26 33 34 35 36 37 38 25
-f 20 21 33 26
-f 21 27 28 34 33
-f 24 43 42
-f 28 29 35 34
-f 29 30 39 36 35
-f 30 31 40 39
-f 31 32 45 42 40
-f 36 39 41 37
-f 37 41 43 44 38
-f 39 40 41
-f 40 42 43 41
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n84.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n84.obj
deleted file mode 100644
index 99140d2cd66..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n84.obj
+++ /dev/null
@@ -1,20 +0,0 @@
-v -0.75649990 -0.43676533 0.48676866
-v -0.21875602 -0.92678633 -0.30530764
-v -0.21875602 0.49463440 0.48676866
-v -0.57471845 0.07921625 -0.43918622
-v 0.47448656 -0.13708534 -0.53435131
-v 0.14100681 0.88189762 -0.44985925
-v 0.31898787 -0.43676533 0.48676866
-v 0.83424915 0.48165406 0.26839843
-f 1 2 7
-f 1 7 3
-f 1 3 4
-f 1 4 2
-f 2 4 5
-f 2 5 7
-f 3 7 8
-f 3 8 6
-f 3 6 4
-f 4 6 5
-f 5 6 8
-f 5 8 7
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n85.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n85.obj
deleted file mode 100644
index 88e6e2d9ff8..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n85.obj
+++ /dev/null
@@ -1,42 +0,0 @@
-v -0.40739095 -0.40739110 0.55150049
-v -0.40739095 0.40739118 0.55150049
-v 0.40739133 0.40739118 0.55150049
-v 0.40739133 -0.40739110 0.55150049
-v -0.69897385 -0.69897400 -0.15122917
-v -0.98849816 0.00000004 0.15122929
-v -0.69897385 0.69897408 -0.15122917
-v 0.00000019 0.98849838 0.15122929
-v 0.69897423 0.69897408 -0.15122917
-v 0.98849853 0.00000004 0.15122929
-v 0.69897423 -0.69897400 -0.15122917
-v 0.00000019 -0.98849831 0.15122929
-v -0.57613626 0.00000004 -0.55149955
-v -0.00000043 0.57614036 -0.55150182
-v 0.57613486 -0.00000057 -0.55149925
-v -0.00000043 -0.57614028 -0.55150182
-f 1 2 6
-f 1 6 5
-f 1 5 12
-f 1 12 4
-f 1 4 3 2
-f 2 3 8
-f 2 8 7
-f 2 7 6
-f 3 4 10
-f 3 10 9
-f 3 9 8
-f 4 12 11
-f 4 11 10
-f 5 6 13
-f 5 13 16
-f 5 16 12
-f 6 7 13
-f 7 8 14
-f 7 14 13
-f 8 9 14
-f 9 10 15
-f 9 15 14
-f 10 11 15
-f 11 12 16
-f 11 16 15
-f 13 14 15 16
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n86.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n86.obj
deleted file mode 100644
index 0c12e8e490a..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n86.obj
+++ /dev/null
@@ -1,24 +0,0 @@
-v 0.15389145 -0.79063961 -0.25122195
-v 0.15389145 0.79063935 -0.25122195
-v -0.08683237 0.00000121 -0.81691859
-v 0.76720476 -0.00000013 -0.29376075
-v -0.34687634 -0.50076793 0.56626173
-v -0.34687634 0.50076766 0.56626173
-v 0.65465925 -0.50076793 0.56626173
-v 0.65465925 0.50076766 0.56626173
-v -0.80186056 -0.50076793 -0.32596185
-v -0.80186056 0.50076766 -0.32596185
-f 1 3 4
-f 1 4 7
-f 1 7 5
-f 1 5 9
-f 1 9 3
-f 2 3 10
-f 2 10 6
-f 2 6 8
-f 2 8 4
-f 2 4 3
-f 3 9 10
-f 4 8 7
-f 5 7 8 6
-f 5 6 10 9
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n87.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n87.obj
deleted file mode 100644
index d6f957ec1aa..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n87.obj
+++ /dev/null
@@ -1,28 +0,0 @@
-v 0.11988005 -0.67749119 -0.31454842
-v 0.11988005 0.67749098 -0.31454842
-v -0.08639380 0.00000104 -0.79928823
-v 0.64542211 -0.00000010 -0.35099950
-v -0.30922289 -0.42910304 0.38594519
-v -0.30922289 0.42910283 0.38594519
-v 0.54898298 -0.42910304 0.38594519
-v 0.54898298 0.42910283 0.38594519
-v -0.69909432 -0.42910304 -0.37859230
-v -0.69909432 0.42910283 -0.37859230
-v 0.11988005 -0.00000010 0.99278838
-f 1 3 4
-f 1 4 7
-f 1 7 5
-f 1 5 9
-f 1 9 3
-f 2 3 10
-f 2 10 6
-f 2 6 8
-f 2 8 4
-f 2 4 3
-f 3 9 10
-f 4 8 7
-f 5 6 10 9
-f 5 7 11
-f 5 11 6
-f 6 11 8
-f 7 8 11
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n88.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n88.obj
deleted file mode 100644
index 6b72d3ca6e7..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n88.obj
+++ /dev/null
@@ -1,30 +0,0 @@
-v 0.38077489 -0.65068035 -0.28161977
-v 0.23971953 -0.00000007 -0.65071787
-v 0.69238902 0.00000073 -0.03866788
-v -0.17227827 -0.97677286 0.12741658
-v -0.55290763 -0.38062943 0.40892884
-v -0.55290763 0.38062930 0.40892884
-v -0.17227827 0.97677272 0.12741658
-v 0.38077489 0.65068022 -0.28161977
-v -0.32999437 -0.38062943 -0.31896162
-v -0.32999437 0.38062930 -0.31896162
-v 0.20835110 -0.38062943 0.40892884
-v 0.20835110 0.38062930 0.40892884
-f 1 2 3
-f 1 3 11
-f 1 11 4
-f 1 4 9
-f 1 9 2
-f 2 9 10
-f 2 10 8
-f 2 8 3
-f 3 8 12
-f 3 12 11
-f 4 11 5
-f 4 5 9
-f 5 11 12 6
-f 5 6 10 9
-f 6 12 7
-f 6 7 10
-f 7 12 8
-f 7 8 10
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n89.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n89.obj
deleted file mode 100644
index 0b5c21602f5..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n89.obj
+++ /dev/null
@@ -1,35 +0,0 @@
-v -0.44436584 -0.44436584 0.75893037
-v -0.44436584 0.44436584 0.75893037
-v 0.44436584 0.44436584 0.75893037
-v 0.44436584 -0.44436584 0.75893037
-v -0.97875646 0.00000000 0.20502633
-v 0.97875646 -0.00000000 0.20502633
-v -0.44436584 -0.63708304 -0.10865484
-v 0.44436584 -0.63708304 -0.10865484
-v -0.44436584 0.63708304 -0.10865484
-v 0.44436584 0.63708304 -0.10865484
-v -0.74267577 0.00000000 -0.65177582
-v 0.74267577 -0.00000000 -0.65177582
-v -0.00000000 -0.44436731 -0.85380157
-v 0.00000000 0.44436731 -0.85380157
-f 1 2 5
-f 1 5 7
-f 1 7 8 4
-f 1 4 3 2
-f 2 3 10 9
-f 2 9 5
-f 3 4 6
-f 3 6 10
-f 4 8 6
-f 5 9 11
-f 5 11 7
-f 6 8 12
-f 6 12 10
-f 7 11 13
-f 7 13 8
-f 8 13 12
-f 9 10 14
-f 9 14 11
-f 10 12 14
-f 11 14 13
-f 12 13 14
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n90.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n90.obj
deleted file mode 100644
index 12cea9c9fda..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n90.obj
+++ /dev/null
@@ -1,40 +0,0 @@
-v -0.41242387 -0.58439230 0.69885062
-v 0.41242321 -0.58439230 0.69885062
-v -0.41242387 0.24045478 0.69885062
-v 0.41242321 0.24045478 0.69885062
-v -0.41242387 -0.73037469 -0.11297563
-v 0.41242321 -0.73037469 -0.11297563
-v -0.92917625 -0.17196876 0.20565034
-v 0.92917559 -0.17196876 0.20565034
-v -0.63276502 0.56134326 -0.02837223
-v 0.63276436 0.56134326 -0.02837223
-v -0.63276502 -0.07142283 -0.55750338
-v 0.63276436 -0.07142283 -0.55750338
-v -0.00000033 -0.54083237 -0.80170870
-v 0.00000232 0.26800856 -0.96341536
-v 0.00000232 0.90077466 -0.43428421
-v -0.00000033 0.88477025 0.39040759
-f 1 2 4 3
-f 1 3 7
-f 1 7 5
-f 1 5 6 2
-f 2 6 8
-f 2 8 4
-f 3 4 16
-f 3 16 9
-f 3 9 7
-f 4 8 10
-f 4 10 16
-f 5 7 11
-f 5 11 13
-f 5 13 6
-f 6 13 12
-f 6 12 8
-f 7 9 11
-f 8 12 10
-f 9 16 15
-f 9 15 14 11
-f 10 12 14 15
-f 10 15 16
-f 11 14 13
-f 12 13 14
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n91.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n91.obj
deleted file mode 100644
index 8fa9e15a0e7..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n91.obj
+++ /dev/null
@@ -1,28 +0,0 @@
-v -0.35682209 -0.79465447 0.49112347
-v 0.35682209 -0.79465447 0.49112347
-v 0.57735027 -0.49112347 -0.11593853
-v -0.00000000 -0.30353100 -0.49112347
-v -0.57735027 -0.49112347 -0.11593853
-v -0.57735027 -0.11593852 0.49112347
-v 0.57735027 -0.11593853 0.49112347
-v 0.57735027 0.11593853 -0.49112347
-v -0.57735027 0.11593853 -0.49112347
-v 0.00000000 0.30353100 0.49112347
-v 0.57735027 0.49112347 0.11593853
-v 0.35682209 0.79465447 -0.49112347
-v -0.35682209 0.79465447 -0.49112347
-v -0.57735027 0.49112347 0.11593852
-f 1 2 7 10 6
-f 1 6 5
-f 1 5 4 3 2
-f 2 3 7
-f 3 4 8
-f 3 8 11 7
-f 4 5 9
-f 4 9 13 12 8
-f 5 6 14 9
-f 6 10 14
-f 7 11 10
-f 8 12 11
-f 9 14 13
-f 10 11 12 13 14
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n92.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n92.obj
deleted file mode 100644
index 1f85374b4f4..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/n92.obj
+++ /dev/null
@@ -1,38 +0,0 @@
-v -0.33030437 -0.57210395 -0.43569542
-v 0.33030437 -0.57210395 -0.43569542
-v 0.66060874 0.00000000 -0.43569542
-v 0.33030437 0.57210395 -0.43569542
-v -0.33030437 0.57210395 -0.43569542
-v -0.66060874 -0.00000000 -0.43569542
-v -0.53444370 -0.68996385 0.18142700
-v 0.00000000 -0.99852506 -0.05429279
-v 0.53444370 -0.68996385 0.18142700
-v 0.86474807 -0.11785990 0.18142700
-v 0.86474807 0.49926253 -0.05429279
-v 0.33030437 0.80782374 0.18142700
-v -0.33030437 0.80782374 0.18142700
-v -0.86474807 0.49926253 -0.05429279
-v -0.86474807 -0.11785990 0.18142700
-v -0.33030437 -0.19070132 0.56282964
-v 0.33030437 -0.19070132 0.56282964
-v 0.00000000 0.38140263 0.56282964
-f 1 2 8
-f 1 8 7
-f 1 7 15 6
-f 1 6 5 4 3 2
-f 2 3 10 9
-f 2 9 8
-f 3 4 11
-f 3 11 10
-f 4 5 13 12
-f 4 12 11
-f 5 6 14
-f 5 14 13
-f 6 15 14
-f 7 8 9 17 16
-f 7 16 15
-f 9 10 17
-f 10 11 12 18 17
-f 12 13 18
-f 13 14 15 16 18
-f 16 17 18
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p03.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p03.obj
deleted file mode 100644
index 2dfa26043f4..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p03.obj
+++ /dev/null
@@ -1,11 +0,0 @@
-v -0.65465367 -0.37796447 0.65465367
-v 0.00000000 0.75592895 0.65465367
-v 0.65465367 -0.37796447 0.65465367
-v -0.65465367 -0.37796447 -0.65465367
-v 0.00000000 0.75592895 -0.65465367
-v 0.65465367 -0.37796447 -0.65465367
-f 1 2 5 4
-f 1 4 6 3
-f 1 3 2
-f 2 3 6 5
-f 4 5 6
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p04.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p04.obj
deleted file mode 100644
index c42c1d1f6e0..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p04.obj
+++ /dev/null
@@ -1,14 +0,0 @@
-v -0.57735027 -0.57735027 0.57735027
-v -0.57735027 0.57735027 0.57735027
-v 0.57735027 0.57735027 0.57735027
-v 0.57735027 -0.57735027 0.57735027
-v -0.57735027 -0.57735027 -0.57735027
-v -0.57735027 0.57735027 -0.57735027
-v 0.57735027 0.57735027 -0.57735027
-v 0.57735027 -0.57735027 -0.57735027
-f 1 2 6 5
-f 1 5 8 4
-f 1 4 3 2
-f 2 3 7 6
-f 3 4 8 7
-f 5 6 7 8
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p05.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p05.obj
deleted file mode 100644
index e77318099b5..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p05.obj
+++ /dev/null
@@ -1,17 +0,0 @@
-v -0.50673185 -0.69745656 0.50673185
-v -0.81990936 0.26640470 0.50673185
-v 0.00000000 0.86210372 0.50673185
-v 0.81990936 0.26640470 0.50673185
-v 0.50673185 -0.69745656 0.50673185
-v -0.50673185 -0.69745656 -0.50673185
-v -0.81990936 0.26640470 -0.50673185
-v 0.00000000 0.86210372 -0.50673185
-v 0.81990936 0.26640470 -0.50673185
-v 0.50673185 -0.69745656 -0.50673185
-f 1 2 7 6
-f 1 6 10 5
-f 1 5 4 3 2
-f 2 3 8 7
-f 3 4 9 8
-f 4 5 10 9
-f 6 7 8 9 10
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p06.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p06.obj
deleted file mode 100644
index 6b1fc4e728b..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p06.obj
+++ /dev/null
@@ -1,20 +0,0 @@
-v -0.44721360 -0.77459667 0.44721360
-v -0.89442719 0.00000000 0.44721360
-v -0.44721360 0.77459667 0.44721360
-v 0.44721360 0.77459667 0.44721360
-v 0.89442719 -0.00000000 0.44721360
-v 0.44721360 -0.77459667 0.44721360
-v -0.44721360 -0.77459667 -0.44721360
-v -0.89442719 0.00000000 -0.44721360
-v -0.44721360 0.77459667 -0.44721360
-v 0.44721360 0.77459667 -0.44721360
-v 0.89442719 -0.00000000 -0.44721360
-v 0.44721360 -0.77459667 -0.44721360
-f 1 2 8 7
-f 1 7 12 6
-f 1 6 5 4 3 2
-f 2 3 9 8
-f 3 4 10 9
-f 4 5 11 10
-f 5 6 12 11
-f 7 8 9 10 11 12
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p07.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p07.obj
deleted file mode 100644
index b11e3f11d8a..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p07.obj
+++ /dev/null
@@ -1,23 +0,0 @@
-v -0.39803250 -0.82652300 0.39803250
-v -0.89437090 -0.20413432 0.39803250
-v -0.71722978 0.57197166 0.39803250
-v 0.00000000 0.91737132 0.39803250
-v 0.71722978 0.57197166 0.39803250
-v 0.89437090 -0.20413432 0.39803250
-v 0.39803250 -0.82652300 0.39803250
-v -0.39803250 -0.82652300 -0.39803250
-v -0.89437090 -0.20413432 -0.39803250
-v -0.71722978 0.57197166 -0.39803250
-v 0.00000000 0.91737132 -0.39803250
-v 0.71722978 0.57197166 -0.39803250
-v 0.89437090 -0.20413432 -0.39803250
-v 0.39803250 -0.82652300 -0.39803250
-f 1 2 9 8
-f 1 8 14 7
-f 1 7 6 5 4 3 2
-f 2 3 10 9
-f 3 4 11 10
-f 4 5 12 11
-f 5 6 13 12
-f 6 7 14 13
-f 8 9 10 11 12 13 14
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p08.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p08.obj
deleted file mode 100644
index 3b99bc23668..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p08.obj
+++ /dev/null
@@ -1,26 +0,0 @@
-v -0.35740674 -0.86285621 0.35740674
-v -0.86285621 -0.35740674 0.35740674
-v -0.86285621 0.35740674 0.35740674
-v -0.35740674 0.86285621 0.35740674
-v 0.35740674 0.86285621 0.35740674
-v 0.86285621 0.35740674 0.35740674
-v 0.86285621 -0.35740674 0.35740674
-v 0.35740674 -0.86285621 0.35740674
-v -0.35740674 -0.86285621 -0.35740674
-v -0.86285621 -0.35740674 -0.35740674
-v -0.86285621 0.35740674 -0.35740674
-v -0.35740674 0.86285621 -0.35740674
-v 0.35740674 0.86285621 -0.35740674
-v 0.86285621 0.35740674 -0.35740674
-v 0.86285621 -0.35740674 -0.35740674
-v 0.35740674 -0.86285621 -0.35740674
-f 1 2 10 9
-f 1 9 16 8
-f 1 8 7 6 5 4 3 2
-f 2 3 11 10
-f 3 4 12 11
-f 4 5 13 12
-f 5 6 14 13
-f 6 7 15 14
-f 7 8 16 15
-f 9 10 11 12 13 14 15 16
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p09.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p09.obj
deleted file mode 100644
index e00153ab2be..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p09.obj
+++ /dev/null
@@ -1,29 +0,0 @@
-v -0.32361558 -0.88912649 0.32361558
-v -0.81942341 -0.47309432 0.32361558
-v -0.93181392 0.16430393 0.32361558
-v -0.60819834 0.72482256 0.32361558
-v 0.00000000 0.94618865 0.32361558
-v 0.60819834 0.72482256 0.32361558
-v 0.93181392 0.16430393 0.32361558
-v 0.81942341 -0.47309432 0.32361558
-v 0.32361558 -0.88912649 0.32361558
-v -0.32361558 -0.88912649 -0.32361558
-v -0.81942341 -0.47309432 -0.32361558
-v -0.93181392 0.16430393 -0.32361558
-v -0.60819834 0.72482256 -0.32361558
-v 0.00000000 0.94618865 -0.32361558
-v 0.60819834 0.72482256 -0.32361558
-v 0.93181392 0.16430393 -0.32361558
-v 0.81942341 -0.47309432 -0.32361558
-v 0.32361558 -0.88912649 -0.32361558
-f 1 2 11 10
-f 1 10 18 9
-f 1 9 8 7 6 5 4 3 2
-f 2 3 12 11
-f 3 4 13 12
-f 4 5 14 13
-f 5 6 15 14
-f 6 7 16 15
-f 7 8 17 16
-f 8 9 18 17
-f 10 11 12 13 14 15 16 17 18
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p10.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p10.obj
deleted file mode 100644
index 31941eda6a4..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/p10.obj
+++ /dev/null
@@ -1,32 +0,0 @@
-v -0.29524181 -0.90866085 0.29524181
-v -0.77295309 -0.56158329 0.29524181
-v -0.95542256 0.00000000 0.29524181
-v -0.77295309 0.56158329 0.29524181
-v -0.29524181 0.90866085 0.29524181
-v 0.29524181 0.90866085 0.29524181
-v 0.77295309 0.56158329 0.29524181
-v 0.95542256 -0.00000000 0.29524181
-v 0.77295309 -0.56158329 0.29524181
-v 0.29524181 -0.90866085 0.29524181
-v -0.29524181 -0.90866085 -0.29524181
-v -0.77295309 -0.56158329 -0.29524181
-v -0.95542256 0.00000000 -0.29524181
-v -0.77295309 0.56158329 -0.29524181
-v -0.29524181 0.90866085 -0.29524181
-v 0.29524181 0.90866085 -0.29524181
-v 0.77295309 0.56158329 -0.29524181
-v 0.95542256 -0.00000000 -0.29524181
-v 0.77295309 -0.56158329 -0.29524181
-v 0.29524181 -0.90866085 -0.29524181
-f 1 2 12 11
-f 1 11 20 10
-f 1 10 9 8 7 6 5 4 3 2
-f 2 3 13 12
-f 3 4 14 13
-f 4 5 15 14
-f 5 6 16 15
-f 6 7 17 16
-f 7 8 18 17
-f 8 9 19 18
-f 9 10 20 19
-f 11 12 13 14 15 16 17 18 19 20
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/r01.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/r01.obj
deleted file mode 100644
index 2edf33c599d..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/r01.obj
+++ /dev/null
@@ -1,8 +0,0 @@
-v -0.81649658 -0.47140452 0.33333333
-v 0.81649658 -0.47140452 0.33333333
-v 0.00000000 0.00000000 -1.00000000
-v 0.00000000 0.94280904 0.33333333
-f 1 2 4
-f 1 4 3
-f 1 3 2
-f 2 3 4
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/r02.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/r02.obj
deleted file mode 100644
index 85bbede8b6f..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/r02.obj
+++ /dev/null
@@ -1,14 +0,0 @@
-v -0.70710678 -0.70710678 0.00000000
-v -0.70710678 0.70710678 0.00000000
-v 0.70710678 0.70710678 0.00000000
-v 0.70710678 -0.70710678 0.00000000
-v 0.00000000 0.00000000 -1.00000000
-v 0.00000000 0.00000000 1.00000000
-f 1 2 5
-f 1 5 4
-f 1 4 6
-f 1 6 2
-f 2 3 5
-f 2 6 3
-f 3 4 5
-f 3 6 4
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/r03.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/r03.obj
deleted file mode 100644
index c42c1d1f6e0..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/r03.obj
+++ /dev/null
@@ -1,14 +0,0 @@
-v -0.57735027 -0.57735027 0.57735027
-v -0.57735027 0.57735027 0.57735027
-v 0.57735027 0.57735027 0.57735027
-v 0.57735027 -0.57735027 0.57735027
-v -0.57735027 -0.57735027 -0.57735027
-v -0.57735027 0.57735027 -0.57735027
-v 0.57735027 0.57735027 -0.57735027
-v 0.57735027 -0.57735027 -0.57735027
-f 1 2 6 5
-f 1 5 8 4
-f 1 4 3 2
-f 2 3 7 6
-f 3 4 8 7
-f 5 6 7 8
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/r04.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/r04.obj
deleted file mode 100644
index 56a0c40c7a9..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/r04.obj
+++ /dev/null
@@ -1,32 +0,0 @@
-v -0.35682209 -0.49112347 0.79465447
-v 0.35682209 -0.49112347 0.79465447
-v 0.57735027 -0.79465447 0.18759247
-v 0.00000000 -0.98224695 -0.18759247
-v -0.57735027 -0.79465447 0.18759247
-v -0.57735027 0.18759247 0.79465447
-v 0.57735027 0.18759247 0.79465447
-v 0.93417236 -0.30353100 -0.18759247
-v -0.00000000 -0.60706200 -0.79465447
-v -0.93417236 -0.30353100 -0.18759247
-v -0.93417236 0.30353100 0.18759247
-v 0.00000000 0.60706200 0.79465447
-v 0.93417236 0.30353100 0.18759247
-v 0.57735027 -0.18759247 -0.79465447
-v -0.57735027 -0.18759247 -0.79465447
-v -0.57735027 0.79465447 -0.18759247
-v 0.00000000 0.98224695 0.18759247
-v 0.57735027 0.79465447 -0.18759247
-v 0.35682209 0.49112347 -0.79465447
-v -0.35682209 0.49112347 -0.79465447
-f 1 2 7 12 6
-f 1 6 11 10 5
-f 1 5 4 3 2
-f 2 3 8 13 7
-f 3 4 9 14 8
-f 4 5 10 15 9
-f 6 12 17 16 11
-f 7 13 18 17 12
-f 8 14 19 18 13
-f 9 15 20 19 14
-f 10 11 16 20 15
-f 16 17 18 19 20
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/r05.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/r05.obj
deleted file mode 100644
index fd013dc2506..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/r05.obj
+++ /dev/null
@@ -1,32 +0,0 @@
-v -0.52573111 -0.72360680 0.44721360
-v -0.85065081 0.27639320 0.44721360
-v -0.00000000 0.89442719 0.44721360
-v 0.85065081 0.27639320 0.44721360
-v 0.52573111 -0.72360680 0.44721360
-v 0.00000000 -0.89442719 -0.44721360
-v -0.85065081 -0.27639320 -0.44721360
-v -0.52573111 0.72360680 -0.44721360
-v 0.52573111 0.72360680 -0.44721360
-v 0.85065081 -0.27639320 -0.44721360
-v 0.00000000 0.00000000 1.00000000
-v -0.00000000 0.00000000 -1.00000000
-f 1 2 7
-f 1 7 6
-f 1 6 5
-f 1 5 11
-f 1 11 2
-f 2 3 8
-f 2 8 7
-f 2 11 3
-f 3 4 9
-f 3 9 8
-f 3 11 4
-f 4 5 10
-f 4 10 9
-f 4 11 5
-f 5 6 10
-f 6 7 12
-f 6 12 10
-f 7 8 12
-f 8 9 12
-f 9 10 12
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s01.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s01.obj
deleted file mode 100644
index f493d9c7aa9..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s01.obj
+++ /dev/null
@@ -1,26 +0,0 @@
-v -0.50000000 -0.86602540 -0.00000000
-v -1.00000000 0.00000000 -0.00000000
-v -0.50000000 0.86602540 -0.00000000
-v 0.50000000 0.86602540 -0.00000000
-v 1.00000000 0.00000000 -0.00000000
-v 0.50000000 -0.86602540 -0.00000000
-v -0.50000000 -0.28867513 -0.81649658
-v 0.00000000 0.57735027 -0.81649658
-v 0.50000000 -0.28867513 -0.81649658
-v 0.00000000 -0.57735027 0.81649658
-v 0.50000000 0.28867513 0.81649658
-v -0.50000000 0.28867513 0.81649658
-f 1 2 7
-f 1 7 9 6
-f 1 6 10
-f 1 10 12 2
-f 2 3 8 7
-f 2 12 3
-f 3 4 8
-f 3 12 11 4
-f 4 5 9 8
-f 4 11 5
-f 5 6 9
-f 5 11 10 6
-f 7 8 9
-f 10 11 12
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s02.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s02.obj
deleted file mode 100644
index cc2dc6cb5c5..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s02.obj
+++ /dev/null
@@ -1,62 +0,0 @@
-v -0.30901699 -0.95105652 -0.00000000
-v -0.80901699 -0.58778525 -0.00000000
-v -1.00000000 0.00000000 -0.00000000
-v -0.80901699 0.58778525 -0.00000000
-v -0.30901700 0.95105652 -0.00000000
-v 0.30901699 0.95105652 -0.00000000
-v 0.80901699 0.58778525 -0.00000000
-v 1.00000000 0.00000000 -0.00000000
-v 0.80901699 -0.58778525 -0.00000000
-v 0.30901699 -0.95105652 -0.00000000
-v 0.00000000 -0.85065081 -0.52573111
-v -0.80901699 -0.26286556 -0.52573111
-v -0.50000000 0.68819096 -0.52573111
-v 0.50000000 0.68819096 -0.52573111
-v 0.80901699 -0.26286556 -0.52573111
-v -0.30901699 -0.42532540 -0.85065081
-v -0.50000000 0.16245985 -0.85065081
-v 0.00000000 0.52573111 -0.85065081
-v 0.50000000 0.16245985 -0.85065081
-v 0.30901699 -0.42532540 -0.85065081
-v -0.50000000 -0.68819096 0.52573111
-v 0.50000000 -0.68819096 0.52573111
-v 0.80901699 0.26286556 0.52573111
-v -0.00000000 0.85065081 0.52573111
-v -0.80901699 0.26286556 0.52573111
-v 0.00000000 -0.52573111 0.85065081
-v 0.50000000 -0.16245985 0.85065081
-v 0.30901699 0.42532540 0.85065081
-v -0.30901699 0.42532540 0.85065081
-v -0.50000000 -0.16245985 0.85065081
-f 1 2 12 16 11
-f 1 11 10
-f 1 10 22 26 21
-f 1 21 2
-f 2 3 12
-f 2 21 30 25 3
-f 3 4 13 17 12
-f 3 25 4
-f 4 5 13
-f 4 25 29 24 5
-f 5 6 14 18 13
-f 5 24 6
-f 6 7 14
-f 6 24 28 23 7
-f 7 8 15 19 14
-f 7 23 8
-f 8 9 15
-f 8 23 27 22 9
-f 9 10 11 20 15
-f 9 22 10
-f 11 16 20
-f 12 17 16
-f 13 18 17
-f 14 19 18
-f 15 20 19
-f 16 17 18 19 20
-f 21 26 30
-f 22 27 26
-f 23 28 27
-f 24 29 28
-f 25 30 29
-f 26 27 28 29 30
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s03.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s03.obj
deleted file mode 100644
index 0663c724770..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s03.obj
+++ /dev/null
@@ -1,20 +0,0 @@
-v -0.42640143 -0.73854895 0.52223297
-v -0.85280287 0.00000000 0.52223297
-v -0.42640143 0.73854895 0.52223297
-v 0.42640143 0.73854895 0.52223297
-v 0.85280287 -0.00000000 0.52223297
-v 0.42640143 -0.73854895 0.52223297
-v -0.85280287 -0.49236596 -0.17407766
-v 0.00000000 0.98473193 -0.17407766
-v 0.85280287 -0.49236596 -0.17407766
-v -0.42640143 -0.24618298 -0.87038828
-v 0.00000000 0.49236596 -0.87038828
-v 0.42640143 -0.24618298 -0.87038828
-f 1 2 7
-f 1 7 10 12 9 6
-f 1 6 5 4 3 2
-f 2 3 8 11 10 7
-f 3 4 8
-f 4 5 9 12 11 8
-f 5 6 9
-f 10 11 12
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s04.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s04.obj
deleted file mode 100644
index 58e0fa0c3b0..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s04.obj
+++ /dev/null
@@ -1,38 +0,0 @@
-v -0.31622777 -0.54772256 0.77459667
-v -0.63245553 0.00000000 0.77459667
-v -0.31622777 0.54772256 0.77459667
-v 0.31622777 0.54772256 0.77459667
-v 0.63245553 -0.00000000 0.77459667
-v 0.31622777 -0.54772256 0.77459667
-v -0.31622777 -0.91287093 0.25819889
-v -0.94868330 0.18257419 0.25819889
-v -0.63245553 0.73029674 0.25819889
-v 0.63245553 0.73029674 0.25819889
-v 0.94868330 0.18257419 0.25819889
-v 0.31622777 -0.91287093 0.25819889
-v -0.63245553 -0.73029674 -0.25819889
-v -0.94868330 -0.18257419 -0.25819889
-v -0.31622777 0.91287093 -0.25819889
-v 0.31622777 0.91287093 -0.25819889
-v 0.94868330 -0.18257419 -0.25819889
-v 0.63245553 -0.73029674 -0.25819889
-v -0.31622777 -0.54772256 -0.77459667
-v -0.63245553 0.00000000 -0.77459667
-v -0.31622777 0.54772256 -0.77459667
-v 0.31622777 0.54772256 -0.77459667
-v 0.63245553 -0.00000000 -0.77459667
-v 0.31622777 -0.54772256 -0.77459667
-f 1 7 12 6
-f 1 6 5 4 3 2
-f 1 2 8 14 13 7
-f 2 3 9 8
-f 3 4 10 16 15 9
-f 4 5 11 10
-f 5 6 12 18 17 11
-f 7 13 19 24 18 12
-f 8 9 15 21 20 14
-f 10 11 17 23 22 16
-f 13 14 20 19
-f 15 16 22 21
-f 17 18 24 23
-f 19 20 21 22 23 24
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s05.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s05.obj
deleted file mode 100644
index a2ec5ff166d..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s05.obj
+++ /dev/null
@@ -1,38 +0,0 @@
-v -0.28108464 -0.67859834 0.67859834
-v -0.67859834 -0.28108464 0.67859834
-v -0.67859834 0.28108464 0.67859834
-v -0.28108464 0.67859834 0.67859834
-v 0.28108464 0.67859834 0.67859834
-v 0.67859834 0.28108464 0.67859834
-v 0.67859834 -0.28108464 0.67859834
-v 0.28108464 -0.67859834 0.67859834
-v 0.00000000 -0.95968298 0.28108464
-v -0.95968298 0.00000000 0.28108464
-v 0.00000000 0.95968298 0.28108464
-v 0.95968298 -0.00000000 0.28108464
-v -0.00000000 -0.95968298 -0.28108464
-v -0.95968298 0.00000000 -0.28108464
-v 0.00000000 0.95968298 -0.28108464
-v 0.95968298 -0.00000000 -0.28108464
-v -0.28108464 -0.67859834 -0.67859834
-v -0.67859834 -0.28108464 -0.67859834
-v -0.67859834 0.28108464 -0.67859834
-v -0.28108464 0.67859834 -0.67859834
-v 0.28108464 0.67859834 -0.67859834
-v 0.67859834 0.28108464 -0.67859834
-v 0.67859834 -0.28108464 -0.67859834
-v 0.28108464 -0.67859834 -0.67859834
-f 1 2 10 14 18 17 13 9
-f 1 9 8
-f 1 8 7 6 5 4 3 2
-f 2 3 10
-f 3 4 11 15 20 19 14 10
-f 4 5 11
-f 5 6 12 16 22 21 15 11
-f 6 7 12
-f 7 8 9 13 24 23 16 12
-f 13 17 24
-f 14 19 18
-f 15 21 20
-f 16 23 22
-f 17 18 19 20 21 22 23 24
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s06.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s06.obj
deleted file mode 100644
index 4167cae1827..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s06.obj
+++ /dev/null
@@ -1,92 +0,0 @@
-v -0.20177411 -0.27771823 0.93923362
-v -0.40354821 -0.55543646 0.72707577
-v -0.20177411 -0.83315470 0.51491792
-v 0.20177411 -0.83315470 0.51491792
-v 0.40354821 -0.55543646 0.72707577
-v 0.20177411 -0.27771823 0.93923362
-v -0.32647736 0.10607893 0.93923362
-v -0.65295472 0.21215785 0.72707577
-v -0.85472883 -0.06556038 0.51491792
-v -0.73002557 -0.44935754 0.51491792
-v -0.73002557 -0.66151539 0.17163931
-v -0.40354821 -0.89871508 0.17163931
-v -0.20177411 -0.96427546 -0.17163931
-v 0.20177411 -0.96427546 -0.17163931
-v 0.40354821 -0.89871508 0.17163931
-v 0.73002557 -0.66151539 0.17163931
-v 0.73002557 -0.44935754 0.51491792
-v 0.85472883 -0.06556038 0.51491792
-v 0.65295472 0.21215785 0.72707577
-v 0.32647736 0.10607893 0.93923362
-v -0.00000000 0.34327861 0.93923362
-v -0.65295472 0.55543646 0.51491792
-v -0.85472883 0.48987608 0.17163931
-v -0.97943209 0.10607893 0.17163931
-v -0.97943209 -0.10607892 -0.17163931
-v -0.85472883 -0.48987608 -0.17163931
-v -0.65295472 -0.55543646 -0.51491792
-v -0.32647736 -0.79263615 -0.51491792
-v -0.00000000 -0.68655723 -0.72707577
-v 0.32647736 -0.79263615 -0.51491792
-v 0.65295472 -0.55543646 -0.51491792
-v 0.85472883 -0.48987608 -0.17163931
-v 0.97943209 -0.10607893 -0.17163931
-v 0.97943209 0.10607893 0.17163931
-v 0.85472883 0.48987608 0.17163931
-v 0.65295472 0.55543646 0.51491792
-v 0.32647736 0.79263615 0.51491792
-v 0.00000000 0.68655723 0.72707577
-v -0.32647736 0.79263615 0.51491792
-v -0.73002557 0.66151539 -0.17163931
-v -0.73002557 0.44935754 -0.51491792
-v -0.85472883 0.06556038 -0.51491792
-v -0.65295472 -0.21215785 -0.72707577
-v -0.32647736 -0.10607892 -0.93923362
-v 0.00000000 -0.34327861 -0.93923362
-v 0.32647736 -0.10607892 -0.93923362
-v 0.65295472 -0.21215785 -0.72707577
-v 0.85472883 0.06556038 -0.51491792
-v 0.73002557 0.44935754 -0.51491792
-v 0.73002557 0.66151539 -0.17163931
-v 0.40354821 0.89871508 -0.17163931
-v 0.20177411 0.96427546 0.17163931
-v -0.20177411 0.96427546 0.17163931
-v -0.40354821 0.89871508 -0.17163931
-v -0.20177411 0.83315469 -0.51491792
-v -0.40354821 0.55543646 -0.72707577
-v -0.20177411 0.27771823 -0.93923362
-v 0.20177410 0.27771823 -0.93923362
-v 0.40354821 0.55543646 -0.72707577
-v 0.20177411 0.83315469 -0.51491792
-f 1 6 20 21 7
-f 1 7 8 9 10 2
-f 1 2 3 4 5 6
-f 2 10 11 12 3
-f 3 12 13 14 15 4
-f 4 15 16 17 5
-f 5 17 18 19 20 6
-f 7 21 38 39 22 8
-f 8 22 23 24 9
-f 9 24 25 26 11 10
-f 11 26 27 28 13 12
-f 13 28 29 30 14
-f 14 30 31 32 16 15
-f 16 32 33 34 18 17
-f 18 34 35 36 19
-f 19 36 37 38 21 20
-f 22 39 53 54 40 23
-f 23 40 41 42 25 24
-f 25 42 43 27 26
-f 27 43 44 45 29 28
-f 29 45 46 47 31 30
-f 31 47 48 33 32
-f 33 48 49 50 35 34
-f 35 50 51 52 37 36
-f 37 52 53 39 38
-f 40 54 55 56 41
-f 41 56 57 44 43 42
-f 44 57 58 46 45
-f 46 58 59 49 48 47
-f 49 59 60 51 50
-f 51 60 55 54 53 52
-f 55 60 59 58 57 56
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s07.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s07.obj
deleted file mode 100644
index 5820f529479..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s07.obj
+++ /dev/null
@@ -1,92 +0,0 @@
-v -0.16838141 -0.51822468 0.83850515
-v -0.44082824 -0.32028047 0.83850515
-v -0.54489368 0.00000000 0.83850515
-v -0.44082824 0.32028047 0.83850515
-v -0.16838141 0.51822468 0.83850515
-v 0.16838141 0.51822468 0.83850515
-v 0.44082824 0.32028047 0.83850515
-v 0.54489368 0.00000000 0.83850515
-v 0.44082824 -0.32028047 0.83850515
-v 0.16838141 -0.51822468 0.83850515
-v 0.00000000 -0.74998180 0.66145846
-v -0.00000000 -0.92702849 0.37499090
-v 0.16838141 -0.98173893 0.08852334
-v 0.44082824 -0.89321558 -0.08852334
-v 0.71327508 -0.69527137 -0.08852334
-v 0.88165649 -0.46351425 0.08852334
-v 0.88165649 -0.28646756 0.37499090
-v 0.71327508 -0.23175712 0.66145846
-v -0.16838141 -0.98173893 0.08852334
-v -0.44082824 -0.89321558 -0.08852334
-v -0.71327508 -0.69527137 -0.08852334
-v -0.88165649 -0.46351425 0.08852334
-v -0.88165649 -0.28646756 0.37499090
-v -0.71327508 -0.23175712 0.66145846
-v -0.98572192 -0.14323378 0.08852334
-v -0.98572192 0.14323378 -0.08852334
-v -0.88165649 0.46351425 -0.08852334
-v -0.71327508 0.69527137 0.08852334
-v -0.54489368 0.74998180 0.37499090
-v -0.44082824 0.60674802 0.66145846
-v -0.44082824 0.89321558 0.08852334
-v -0.16838141 0.98173893 -0.08852334
-v 0.16838141 0.98173893 -0.08852334
-v 0.44082824 0.89321558 0.08852334
-v 0.54489368 0.74998180 0.37499090
-v 0.44082824 0.60674802 0.66145846
-v 0.71327508 0.69527137 0.08852334
-v 0.88165649 0.46351425 -0.08852334
-v 0.98572192 0.14323378 -0.08852334
-v 0.98572192 -0.14323378 0.08852334
-v 0.54489368 -0.74998180 -0.37499090
-v 0.44082824 -0.60674802 -0.66145846
-v 0.16838141 -0.51822468 -0.83850515
-v -0.16838141 -0.51822468 -0.83850515
-v -0.44082824 -0.60674802 -0.66145846
-v -0.54489368 -0.74998180 -0.37499090
-v -0.44082824 -0.32028047 -0.83850515
-v -0.54489367 0.00000000 -0.83850515
-v -0.71327508 0.23175712 -0.66145846
-v -0.88165649 0.28646756 -0.37499090
-v -0.44082824 0.32028047 -0.83850515
-v -0.16838141 0.51822468 -0.83850515
-v 0.00000000 0.74998180 -0.66145846
-v 0.00000000 0.92702849 -0.37499090
-v 0.16838141 0.51822468 -0.83850515
-v 0.44082824 0.32028047 -0.83850515
-v 0.71327508 0.23175712 -0.66145846
-v 0.88165649 0.28646756 -0.37499090
-v 0.54489368 -0.00000000 -0.83850515
-v 0.44082824 -0.32028047 -0.83850515
-f 1 2 24 23 22 21 20 19 12 11
-f 1 11 10
-f 1 10 9 8 7 6 5 4 3 2
-f 2 3 24
-f 3 4 30 29 28 27 26 25 23 24
-f 4 5 30
-f 5 6 36 35 34 33 32 31 29 30
-f 6 7 36
-f 7 8 18 17 40 39 38 37 35 36
-f 8 9 18
-f 9 10 11 12 13 14 15 16 17 18
-f 12 19 13
-f 13 19 20 46 45 44 43 42 41 14
-f 14 41 15
-f 15 41 42 60 59 57 58 39 40 16
-f 16 40 17
-f 20 21 46
-f 21 22 25 26 50 49 48 47 45 46
-f 22 23 25
-f 26 27 50
-f 27 28 31 32 54 53 52 51 49 50
-f 28 29 31
-f 32 33 54
-f 33 34 37 38 58 57 56 55 53 54
-f 34 35 37
-f 38 39 58
-f 42 43 60
-f 43 44 47 48 51 52 55 56 59 60
-f 44 45 47
-f 48 49 51
-f 52 53 55
-f 56 57 59
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s08.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s08.obj
deleted file mode 100644
index 8441f42cb42..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s08.obj
+++ /dev/null
@@ -1,50 +0,0 @@
-v -0.35740674 -0.86285621 0.35740674
-v -0.86285621 -0.35740674 0.35740674
-v -0.86285621 0.35740674 0.35740674
-v -0.35740674 0.86285621 0.35740674
-v 0.35740674 0.86285621 0.35740674
-v 0.86285621 0.35740674 0.35740674
-v 0.86285621 -0.35740674 0.35740674
-v 0.35740674 -0.86285621 0.35740674
-v -0.35740674 -0.86285621 -0.35740674
-v -0.86285621 -0.35740674 -0.35740674
-v -0.86285621 0.35740674 -0.35740674
-v -0.35740674 0.86285621 -0.35740674
-v 0.35740674 0.86285621 -0.35740674
-v 0.86285621 0.35740674 -0.35740674
-v 0.86285621 -0.35740674 -0.35740674
-v 0.35740674 -0.86285621 -0.35740674
-v -0.35740674 -0.35740674 0.86285621
-v 0.35740674 -0.35740674 0.86285621
-v 0.35740674 0.35740674 0.86285621
-v -0.35740674 0.35740674 0.86285621
-v -0.35740674 -0.35740674 -0.86285621
-v -0.35740674 0.35740674 -0.86285621
-v 0.35740674 0.35740674 -0.86285621
-v 0.35740674 -0.35740674 -0.86285621
-f 1 2 10 9
-f 1 9 16 8
-f 1 8 18 17
-f 1 17 2
-f 2 3 11 10
-f 2 17 20 3
-f 3 4 12 11
-f 3 20 4
-f 4 5 13 12
-f 4 20 19 5
-f 5 6 14 13
-f 5 19 6
-f 6 7 15 14
-f 6 19 18 7
-f 7 8 16 15
-f 7 18 8
-f 9 10 21
-f 9 21 24 16
-f 10 11 22 21
-f 11 12 22
-f 12 13 23 22
-f 13 14 23
-f 14 15 24 23
-f 15 16 24
-f 17 18 19 20
-f 21 22 23 24
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s09.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s09.obj
deleted file mode 100644
index 40f8fdd86f2..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s09.obj
+++ /dev/null
@@ -1,122 +0,0 @@
-v -0.22391898 -0.68915176 0.68915176
-v -0.58622750 -0.42591921 0.68915176
-v -0.72461704 -0.00000000 0.68915176
-v -0.58622750 0.42591921 0.68915176
-v -0.22391898 0.68915176 0.68915176
-v 0.22391898 0.68915176 0.68915176
-v 0.58622750 0.42591921 0.68915176
-v 0.72461704 -0.00000000 0.68915176
-v 0.58622750 -0.42591921 0.68915176
-v 0.22391898 -0.68915176 0.68915176
-v -0.22391898 -0.92459411 0.30819804
-v -0.81014648 -0.49867490 0.30819804
-v -0.94853602 -0.07275569 0.30819804
-v -0.72461704 0.61639607 0.30819804
-v -0.36230852 0.87962862 0.30819804
-v 0.36230852 0.87962862 0.30819804
-v 0.72461704 0.61639607 0.30819804
-v 0.94853602 -0.07275569 0.30819804
-v 0.81014648 -0.49867490 0.30819804
-v 0.22391898 -0.92459411 0.30819804
-v 0.00000000 -0.99734979 -0.07275569
-v -0.58622750 -0.80687293 0.07275569
-v -0.94853602 0.30819804 0.07275569
-v 0.00000000 0.99734979 0.07275569
-v 0.94853602 0.30819803 0.07275569
-v 0.58622750 -0.80687293 0.07275569
-v -0.36230852 -0.87962862 -0.30819804
-v -0.22391898 -0.68915176 -0.68915176
-v -0.22391898 -0.30819804 -0.92459411
-v -0.36230852 0.11772117 -0.92459411
-v -0.58622750 0.42591921 -0.68915176
-v -0.81014648 0.49867490 -0.30819804
-v 0.36230852 -0.87962862 -0.30819804
-v 0.22391898 -0.68915176 -0.68915176
-v 0.22391898 -0.30819803 -0.92459411
-v 0.36230852 0.11772117 -0.92459411
-v 0.58622750 0.42591921 -0.68915176
-v 0.81014648 0.49867490 -0.30819804
-v -0.00000000 0.38095372 -0.92459410
-v -0.22391898 0.68915176 -0.68915176
-v 0.22391898 0.68915176 -0.68915176
-v -0.22391898 0.92459411 -0.30819804
-v 0.22391898 0.92459411 -0.30819804
-v 0.58622750 0.80687293 -0.07275569
-v -0.58622750 0.80687293 -0.07275569
-v 0.00000000 -0.38095372 0.92459411
-v 0.36230852 -0.11772117 0.92459411
-v 0.22391898 0.30819804 0.92459411
-v -0.22391898 0.30819804 0.92459411
-v -0.36230852 -0.11772117 0.92459411
-v -0.94853602 -0.30819804 -0.07275569
-v -0.94853602 0.07275569 -0.30819804
-v -0.72461704 -0.00000000 -0.68915176
-v -0.58622750 -0.42591921 -0.68915176
-v -0.72461704 -0.61639607 -0.30819804
-v 0.94853602 -0.30819804 -0.07275569
-v 0.72461704 -0.61639607 -0.30819804
-v 0.58622750 -0.42591921 -0.68915176
-v 0.72461704 0.00000000 -0.68915176
-v 0.94853602 0.07275569 -0.30819804
-f 1 2 12 22 11
-f 1 11 20 10
-f 1 10 46
-f 1 46 50 2
-f 2 3 13 12
-f 2 50 3
-f 3 4 14 23 13
-f 3 50 49 4
-f 4 5 15 14
-f 4 49 5
-f 5 6 16 24 15
-f 5 49 48 6
-f 6 7 17 16
-f 6 48 7
-f 7 8 18 25 17
-f 7 48 47 8
-f 8 9 19 18
-f 8 47 9
-f 9 10 20 26 19
-f 9 47 46 10
-f 11 22 27 21
-f 11 21 20
-f 12 13 51
-f 12 51 55 22
-f 13 23 52 51
-f 14 15 45
-f 14 45 32 23
-f 15 24 42 45
-f 16 17 44
-f 16 44 43 24
-f 17 25 38 44
-f 18 19 56
-f 18 56 60 25
-f 19 26 57 56
-f 20 21 33 26
-f 21 27 28 34 33
-f 22 55 27
-f 23 32 52
-f 24 43 42
-f 25 60 38
-f 26 33 57
-f 27 55 54 28
-f 28 29 35 34
-f 28 54 29
-f 29 30 39 36 35
-f 29 54 53 30
-f 30 31 40 39
-f 30 53 31
-f 31 32 45 42 40
-f 31 53 52 32
-f 33 34 58 57
-f 34 35 58
-f 35 36 59 58
-f 36 39 41 37
-f 36 37 59
-f 37 41 43 44 38
-f 37 38 60 59
-f 39 40 41
-f 40 42 43 41
-f 46 47 48 49 50
-f 51 52 53 54 55
-f 56 57 58 59 60
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s10.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s10.obj
deleted file mode 100644
index c9027972997..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s10.obj
+++ /dev/null
@@ -1,74 +0,0 @@
-v -0.21573941 -0.52084100 0.82594259
-v -0.52084100 -0.21573941 0.82594259
-v -0.52084100 0.21573941 0.82594259
-v -0.21573941 0.52084100 0.82594259
-v 0.21573941 0.52084100 0.82594259
-v 0.52084100 0.21573941 0.82594259
-v 0.52084100 -0.21573941 0.82594259
-v 0.21573941 -0.52084100 0.82594259
-v -0.21573941 -0.82594259 0.52084100
-v -0.82594259 -0.21573941 0.52084100
-v -0.82594259 0.21573941 0.52084100
-v -0.21573941 0.82594259 0.52084100
-v 0.21573941 0.82594259 0.52084100
-v 0.82594259 0.21573941 0.52084100
-v 0.82594259 -0.21573941 0.52084100
-v 0.21573941 -0.82594259 0.52084100
-v -0.52084100 -0.82594259 0.21573941
-v -0.82594259 -0.52084100 0.21573941
-v -0.82594259 0.52084100 0.21573941
-v -0.52084100 0.82594259 0.21573941
-v 0.52084100 0.82594259 0.21573941
-v 0.82594259 0.52084100 0.21573941
-v 0.82594259 -0.52084100 0.21573941
-v 0.52084100 -0.82594259 0.21573941
-v 0.52084100 -0.82594259 -0.21573941
-v 0.21573940 -0.82594259 -0.52084100
-v -0.21573941 -0.82594259 -0.52084100
-v -0.52084100 -0.82594259 -0.21573941
-v -0.82594259 -0.52084100 -0.21573941
-v -0.82594259 -0.21573941 -0.52084100
-v -0.82594259 0.21573941 -0.52084100
-v -0.82594259 0.52084100 -0.21573941
-v -0.52084100 0.82594259 -0.21573941
-v -0.21573941 0.82594259 -0.52084100
-v 0.21573941 0.82594259 -0.52084100
-v 0.52084100 0.82594259 -0.21573941
-v 0.82594259 0.52084100 -0.21573941
-v 0.82594259 0.21573941 -0.52084100
-v 0.82594259 -0.21573941 -0.52084100
-v 0.82594259 -0.52084100 -0.21573941
-v 0.52084100 -0.21573941 -0.82594259
-v 0.52084100 0.21573941 -0.82594259
-v 0.21573941 0.52084100 -0.82594259
-v -0.21573941 0.52084100 -0.82594259
-v -0.52084100 0.21573941 -0.82594259
-v -0.52084100 -0.21573941 -0.82594259
-v -0.21573941 -0.52084100 -0.82594259
-v 0.21573940 -0.52084100 -0.82594259
-f 1 2 10 18 17 9
-f 1 9 16 8
-f 1 8 7 6 5 4 3 2
-f 2 3 11 10
-f 3 4 12 20 19 11
-f 4 5 13 12
-f 5 6 14 22 21 13
-f 6 7 15 14
-f 7 8 16 24 23 15
-f 9 17 28 27 26 25 24 16
-f 10 11 19 32 31 30 29 18
-f 12 13 21 36 35 34 33 20
-f 14 15 23 40 39 38 37 22
-f 17 18 29 28
-f 19 20 33 32
-f 21 22 37 36
-f 23 24 25 40
-f 25 26 48 41 39 40
-f 26 27 47 48
-f 27 28 29 30 46 47
-f 30 31 45 46
-f 31 32 33 34 44 45
-f 34 35 43 44
-f 35 36 37 38 42 43
-f 38 39 41 42
-f 41 48 47 46 45 44 43 42
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s11.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s11.obj
deleted file mode 100644
index 496cd08e1a5..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s11.obj
+++ /dev/null
@@ -1,182 +0,0 @@
-v -0.13149606 -0.40470333 0.90494412
-v -0.34426119 -0.25012042 0.90494412
-v -0.42553024 -0.00000001 0.90494412
-v -0.34426119 0.25012040 0.90494412
-v -0.13149606 0.40470332 0.90494412
-v 0.13149611 0.40470332 0.90494412
-v 0.34426124 0.25012040 0.90494412
-v 0.42553028 -0.00000001 0.90494412
-v 0.34426124 -0.25012042 0.90494412
-v 0.13149611 -0.40470333 0.90494412
-v -0.13149606 -0.62841783 0.76668096
-v -0.34426119 -0.69754941 0.62841780
-v -0.42553024 -0.80940666 0.40470330
-v -0.34426119 -0.92126391 0.18098881
-v -0.13149606 -0.99039549 0.04272564
-v 0.13149611 -0.99039549 0.04272564
-v 0.34426124 -0.92126391 0.18098881
-v 0.42553028 -0.80940666 0.40470330
-v 0.34426124 -0.69754941 0.62841780
-v 0.13149611 -0.62841783 0.76668096
-v -0.55702632 -0.54296650 0.62841780
-v -0.55702632 -0.31925200 0.76668096
-v -0.63829537 -0.06913159 0.76668096
-v -0.76979145 0.11185724 0.62841780
-v -0.90128753 0.15458291 0.40470330
-v -0.98255658 0.04272566 0.18098880
-v -0.98255658 -0.18098884 0.04272564
-v -0.90128753 -0.43110925 0.04272564
-v -0.76979145 -0.61209808 0.18098881
-v -0.63829537 -0.65482375 0.40470330
-v -0.82001848 0.54296648 0.18098881
-v -0.82001848 0.40470332 0.40470330
-v -0.68852240 0.36197765 0.62841780
-v -0.47575727 0.43110923 0.76668096
-v -0.26299214 0.58569215 0.76668096
-v -0.13149606 0.76668098 0.62841780
-v -0.13149606 0.90494414 0.40470330
-v -0.26299214 0.94766981 0.18098881
-v -0.47575727 0.87853823 0.04272564
-v -0.68852240 0.72395531 0.04272564
-v 0.47575732 0.87853821 0.04272564
-v 0.26299219 0.94766979 0.18098880
-v 0.13149611 0.90494413 0.40470330
-v 0.13149611 0.76668098 0.62841780
-v 0.26299219 0.58569215 0.76668096
-v 0.47575732 0.43110923 0.76668096
-v 0.68852245 0.36197765 0.62841780
-v 0.82001853 0.40470330 0.40470331
-v 0.82001853 0.54296646 0.18098881
-v 0.68852245 0.72395529 0.04272564
-v 0.63829541 -0.65482375 0.40470330
-v 0.76979150 -0.61209808 0.18098881
-v 0.90128758 -0.43110925 0.04272564
-v 0.98255663 -0.18098884 0.04272564
-v 0.98255647 0.04272561 0.18098879
-v 0.90128750 0.15458288 0.40470331
-v 0.76979150 0.11185724 0.62841780
-v 0.63829541 -0.06913159 0.76668096
-v 0.55702637 -0.31925200 0.76668096
-v 0.55702637 -0.54296650 0.62841780
-v -0.47575727 -0.87853824 -0.04272569
-v -0.68852240 -0.72395533 -0.04272569
-v -0.82001848 -0.54296650 -0.18098886
-v -0.82001848 -0.40470333 -0.40470335
-v -0.68852240 -0.36197767 -0.62841785
-v -0.47575727 -0.43110925 -0.76668101
-v -0.26299214 -0.58569216 -0.76668101
-v -0.13149605 -0.76668099 -0.62841784
-v -0.13149606 -0.90494416 -0.40470335
-v -0.26299214 -0.94766982 -0.18098885
-v -0.90128753 -0.15458292 -0.40470335
-v -0.98255658 -0.04272567 -0.18098885
-v -0.98255658 0.18098882 -0.04272569
-v -0.90128753 0.43110923 -0.04272569
-v -0.76979145 0.61209806 -0.18098885
-v -0.63829536 0.65482373 -0.40470335
-v -0.55702632 0.54296648 -0.62841785
-v -0.55702632 0.31925199 -0.76668101
-v -0.63829537 0.06913157 -0.76668101
-v -0.76979145 -0.11185726 -0.62841785
-v -0.13149606 0.62841781 -0.76668101
-v -0.34426119 0.69754940 -0.62841785
-v -0.42553023 0.80940665 -0.40470335
-v -0.34426119 0.92126389 -0.18098885
-v -0.13149606 0.99039547 -0.04272569
-v 0.13149611 0.99039546 -0.04272569
-v 0.34426124 0.92126387 -0.18098886
-v 0.42553028 0.80940661 -0.40470335
-v 0.34426124 0.69754939 -0.62841785
-v 0.13149611 0.62841781 -0.76668101
-v 0.76979153 -0.11185725 -0.62841782
-v 0.63829541 0.06913155 -0.76668097
-v 0.55702634 0.31925197 -0.76668097
-v 0.55702635 0.54296649 -0.62841782
-v 0.63829541 0.65482370 -0.40470335
-v 0.76979149 0.61209803 -0.18098885
-v 0.90128750 0.43110919 -0.04272571
-v 0.98255648 0.18098877 -0.04272572
-v 0.98255640 -0.04272561 -0.18098874
-v 0.90128711 -0.15458281 -0.40470320
-v 0.26299219 -0.94766982 -0.18098885
-v 0.13149611 -0.90494416 -0.40470335
-v 0.13149611 -0.76668098 -0.62841784
-v 0.26299219 -0.58569215 -0.76668099
-v 0.47575682 -0.43110886 -0.76668009
-v 0.68852237 -0.36197738 -0.62841730
-v 0.82001805 -0.40470325 -0.40470322
-v 0.82001853 -0.54296650 -0.18098885
-v 0.68852245 -0.72395533 -0.04272569
-v 0.47575732 -0.87853824 -0.04272569
-v -0.13149606 -0.40470333 -0.90494417
-v -0.34426119 -0.25012042 -0.90494417
-v -0.42553024 -0.00000000 -0.90494417
-v -0.34426119 0.25012040 -0.90494417
-v -0.13149606 0.40470332 -0.90494417
-v 0.13149611 0.40470332 -0.90494417
-v 0.34426120 0.25012038 -0.90494414
-v 0.42553027 -0.00000003 -0.90494414
-v 0.34426060 -0.25012001 -0.90494332
-v 0.13149611 -0.40470332 -0.90494416
-f 1 2 22 21 12 11
-f 1 11 20 10
-f 1 10 9 8 7 6 5 4 3 2
-f 2 3 23 22
-f 3 4 34 33 24 23
-f 4 5 35 34
-f 5 6 45 44 36 35
-f 6 7 46 45
-f 7 8 58 57 47 46
-f 8 9 59 58
-f 9 10 20 19 60 59
-f 11 12 13 14 15 16 17 18 19 20
-f 12 21 30 13
-f 13 30 29 62 61 14
-f 14 61 70 15
-f 15 70 69 102 101 16
-f 16 101 110 17
-f 17 110 109 52 51 18
-f 18 51 60 19
-f 21 22 23 24 25 26 27 28 29 30
-f 24 33 32 25
-f 25 32 31 74 73 26
-f 26 73 72 27
-f 27 72 71 64 63 28
-f 28 63 62 29
-f 31 32 33 34 35 36 37 38 39 40
-f 31 40 75 74
-f 36 44 43 37
-f 37 43 42 86 85 38
-f 38 85 84 39
-f 39 84 83 76 75 40
-f 41 42 43 44 45 46 47 48 49 50
-f 41 50 96 95 88 87
-f 41 87 86 42
-f 47 57 56 48
-f 48 56 55 98 97 49
-f 49 97 96 50
-f 51 52 53 54 55 56 57 58 59 60
-f 52 109 108 53
-f 53 108 107 100 99 54
-f 54 99 98 55
-f 61 62 63 64 65 66 67 68 69 70
-f 64 71 80 65
-f 65 80 79 113 112 66
-f 66 112 111 67
-f 67 111 120 104 103 68
-f 68 103 102 69
-f 71 72 73 74 75 76 77 78 79 80
-f 76 83 82 77
-f 77 82 81 115 114 78
-f 78 114 113 79
-f 81 82 83 84 85 86 87 88 89 90
-f 81 90 116 115
-f 88 95 94 89
-f 89 94 93 117 116 90
-f 91 92 93 94 95 96 97 98 99 100
-f 91 100 107 106
-f 91 106 105 119 118 92
-f 92 118 117 93
-f 101 102 103 104 105 106 107 108 109 110
-f 104 120 119 105
-f 111 112 113 114 115 116 117 118 119 120
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s12L.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s12L.obj
deleted file mode 100644
index aaee84e575c..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s12L.obj
+++ /dev/null
@@ -1,62 +0,0 @@
-v -0.37210275 -0.37210283 0.85033943
-v -0.37210275 0.37210284 0.85033943
-v 0.37210291 0.37210284 0.85033943
-v 0.37210291 -0.37210283 0.85033943
-v -0.68440375 -0.68440382 0.25135842
-v -0.88671195 0.00000000 0.46232019
-v -0.68440375 0.68440383 0.25135842
-v 0.00000008 0.88671203 0.46232019
-v 0.68440391 0.68440383 0.25135842
-v 0.88671211 0.00000000 0.46232019
-v 0.68440391 -0.68440382 0.25135842
-v 0.00000008 -0.88671202 0.46232019
-v -0.74420553 -0.48209560 -0.46232023
-v -0.94651373 0.20230822 -0.25135846
-v -0.48209559 0.74420581 -0.46232023
-v 0.20230824 0.94651401 -0.25135846
-v 0.74420550 0.48209553 -0.46232032
-v 0.94651368 -0.20230824 -0.25135852
-v 0.48209586 -0.74420614 -0.46232018
-v -0.20230823 -0.94651406 -0.25135841
-v -0.51460872 0.10999275 -0.85033925
-v 0.10999269 0.51461005 -0.85033999
-v 0.51460748 -0.10999294 -0.85033865
-v -0.10999264 -0.51460945 -0.85033947
-f 1 2 6
-f 1 6 5
-f 1 5 12
-f 1 12 4
-f 1 4 3 2
-f 2 3 8
-f 2 8 7
-f 2 7 6
-f 3 4 10
-f 3 10 9
-f 3 9 8
-f 4 12 11
-f 4 11 10
-f 5 6 14 13
-f 5 13 20
-f 5 20 12
-f 6 7 14
-f 7 8 16 15
-f 7 15 14
-f 8 9 16
-f 9 17 16
-f 9 10 18 17
-f 10 11 18
-f 11 12 20 19
-f 11 19 18
-f 13 14 21
-f 13 21 24
-f 13 24 20
-f 14 15 21
-f 15 16 22
-f 15 22 21
-f 16 17 22
-f 17 23 22
-f 17 18 23
-f 18 19 23
-f 19 20 24
-f 19 24 23
-f 21 22 23 24
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s12R.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s12R.obj
deleted file mode 100644
index 8cdb06b64ed..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s12R.obj
+++ /dev/null
@@ -1,62 +0,0 @@
-v -0.37210283 -0.37210275 0.85033943
-v 0.37210284 -0.37210275 0.85033943
-v 0.37210284 0.37210291 0.85033943
-v -0.37210283 0.37210291 0.85033943
-v -0.68440382 -0.68440374 0.25135842
-v 0.00000000 -0.88671194 0.46232019
-v 0.68440383 -0.68440374 0.25135842
-v 0.88671203 0.00000008 0.46232019
-v 0.68440383 0.68440391 0.25135842
-v 0.00000001 0.88671211 0.46232019
-v -0.68440382 0.68440391 0.25135842
-v -0.88671202 0.00000008 0.46232019
-v -0.48209560 -0.74420553 -0.46232022
-v 0.20230822 -0.94651373 -0.25135846
-v 0.74420581 -0.48209559 -0.46232022
-v 0.94651401 0.20230824 -0.25135846
-v 0.48209553 0.74420550 -0.46232032
-v -0.20230824 0.94651368 -0.25135852
-v -0.74420614 0.48209586 -0.46232018
-v -0.94651406 -0.20230823 -0.25135841
-v 0.10999275 -0.51460872 -0.85033925
-v 0.51461005 0.10999269 -0.85033999
-v -0.10999294 0.51460747 -0.85033864
-v -0.51460944 -0.10999264 -0.85033947
-f 1 4 12
-f 1 12 5
-f 1 5 6
-f 1 6 2
-f 1 2 3 4
-f 2 6 7
-f 2 7 8
-f 2 8 3
-f 3 8 9
-f 3 9 10
-f 3 10 4
-f 4 10 11
-f 4 11 12
-f 5 12 20
-f 5 20 13
-f 5 13 14 6
-f 6 14 7
-f 7 14 15
-f 7 15 16 8
-f 8 16 9
-f 9 16 17
-f 9 17 18 10
-f 10 18 11
-f 11 18 19
-f 11 19 20 12
-f 13 20 24
-f 13 24 21
-f 13 21 14
-f 14 21 15
-f 15 21 22
-f 15 22 16
-f 16 22 17
-f 17 22 23
-f 17 23 18
-f 18 23 19
-f 19 23 24
-f 19 24 20
-f 21 24 23 22
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s13L.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s13L.obj
deleted file mode 100644
index fe10910d912..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s13L.obj
+++ /dev/null
@@ -1,152 +0,0 @@
-v -0.23192831 -0.31922195 0.91886098
-v -0.37526789 0.12193192 0.91886098
-v 0.00000001 0.39458001 0.91886098
-v 0.37526790 0.12193192 0.91886098
-v 0.23192832 -0.31922195 0.91886098
-v -0.64379514 -0.20918173 0.73605007
-v -0.72920227 0.23693218 0.64197045
-v -0.39788728 0.54764486 0.73605007
-v 0.00000001 0.76672864 0.64197045
-v 0.39788729 0.54764486 0.73605007
-v 0.72920229 0.23693218 0.64197045
-v 0.64379516 -0.20918173 0.73605007
-v 0.45067180 -0.62029652 0.64197045
-v 0.00000001 -0.67692629 0.73605007
-v -0.45067179 -0.62029652 0.64197045
-v -0.80031956 -0.46310151 0.38082081
-v -0.68774804 0.61804289 0.38082081
-v 0.37526790 0.84507302 0.38082081
-v 0.91967637 -0.09575906 0.38082081
-v 0.19312336 -0.90425538 0.38082081
-v -0.53607892 -0.81262648 0.22859680
-v -0.80975412 -0.58290795 -0.06719747
-v -0.98246410 -0.17391866 0.06719745
-v -0.93851120 0.25872595 0.22859680
-v -0.80460617 0.58999346 -0.06719747
-v -0.46900456 0.88063506 0.06719744
-v -0.04395289 0.97252791 0.22859680
-v 0.31248017 0.94754396 -0.06719747
-v 0.69260335 0.71818105 0.06719745
-v 0.91134683 0.34232934 0.22859680
-v 0.99772955 -0.00437911 -0.06719747
-v 0.89705698 -0.43677477 0.06719744
-v 0.60719621 -0.76095675 0.22859680
-v 0.30415062 -0.95025041 -0.06719747
-v -0.13819163 -0.98812271 0.06719745
-v -0.46900456 -0.85309854 -0.22859683
-v -0.89001331 -0.25070046 -0.38082083
-v -0.95627530 0.18242790 -0.22859683
-v -0.51345952 0.76898225 -0.38082083
-v -0.12200607 0.96584518 -0.22859683
-v 0.57267787 0.72595761 -0.38082083
-v 0.88087142 0.41449724 -0.22859683
-v 0.86739393 -0.32031578 -0.38082083
-v 0.66641454 -0.70967180 -0.22859683
-v -0.03659893 -0.92392370 -0.38082084
-v -0.33866894 -0.68787802 -0.64197048
-v -0.59886666 -0.31557553 -0.73605009
-v -0.75886533 0.10952730 -0.64197048
-v -0.48519013 0.47203783 -0.73605009
-v -0.13033561 0.75556961 -0.64197047
-v 0.29900267 0.60731094 -0.73605008
-v 0.67831351 0.35744039 -0.64197048
-v 0.66998396 -0.09669904 -0.73605009
-v 0.54955640 -0.53465933 -0.64197049
-v 0.11507018 -0.66707429 -0.73605010
-v -0.17428848 -0.35400123 -0.91886092
-v -0.39053340 0.05636580 -0.91886108
-v -0.06707427 0.38883710 -0.91886080
-v 0.34907940 0.18394910 -0.91886141
-v 0.28281632 -0.27515023 -0.91886006
-f 1 2 6
-f 1 6 15
-f 1 15 14
-f 1 14 5
-f 1 5 4 3 2
-f 2 3 8
-f 2 8 7
-f 2 7 6
-f 3 4 10
-f 3 10 9
-f 3 9 8
-f 4 5 12
-f 4 12 11
-f 4 11 10
-f 5 14 13
-f 5 13 12
-f 6 7 24 23 16
-f 6 16 15
-f 7 8 17
-f 7 17 24
-f 8 9 27 26 17
-f 9 10 18
-f 9 18 27
-f 10 11 30 29 18
-f 11 12 19
-f 11 19 30
-f 12 13 33 32 19
-f 13 14 20
-f 13 20 33
-f 14 15 21 35 20
-f 15 16 21
-f 16 23 22
-f 16 22 21
-f 17 26 25
-f 17 25 24
-f 18 29 28
-f 18 28 27
-f 19 32 31
-f 19 31 30
-f 20 35 34
-f 20 34 33
-f 21 22 36
-f 21 36 35
-f 22 23 37
-f 22 37 47 46 36
-f 23 24 38
-f 23 38 37
-f 24 25 38
-f 25 26 39
-f 25 39 49 48 38
-f 26 27 40
-f 26 40 39
-f 27 28 40
-f 28 29 41
-f 28 41 51 50 40
-f 29 30 42
-f 29 42 41
-f 30 31 42
-f 31 43 53 52 42
-f 31 32 43
-f 32 44 43
-f 32 33 44
-f 33 34 44
-f 34 35 45
-f 34 45 55 54 44
-f 35 36 45
-f 36 46 45
-f 37 38 48
-f 37 48 47
-f 39 40 50
-f 39 50 49
-f 41 42 52
-f 41 52 51
-f 43 44 54
-f 43 54 53
-f 45 46 55
-f 46 47 56
-f 46 56 55
-f 47 48 57
-f 47 57 56
-f 48 49 57
-f 49 50 58
-f 49 58 57
-f 50 51 58
-f 51 59 58
-f 51 52 59
-f 52 53 59
-f 53 54 60
-f 53 60 59
-f 54 55 60
-f 55 56 60
-f 56 57 58 59 60
diff --git a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s13R.obj b/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s13R.obj
deleted file mode 100644
index fa9be1b3a95..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/data/polyhedrons_obj/s13R.obj
+++ /dev/null
@@ -1,152 +0,0 @@
-v -0.23192837 -0.31922203 0.91886124
-v 0.23192838 -0.31922203 0.91886124
-v 0.37526800 0.12193196 0.91886124
-v 0.00000000 0.39458012 0.91886124
-v -0.37526799 0.12193196 0.91886124
-v 0.00000000 -0.67692647 0.73605027
-v 0.45067192 -0.62029668 0.64197064
-v 0.64379533 -0.20918178 0.73605027
-v 0.72920248 0.23693225 0.64197064
-v 0.39788740 0.54764501 0.73605027
-v 0.00000000 0.76672886 0.64197064
-v -0.39788739 0.54764501 0.73605027
-v -0.72920248 0.23693225 0.64197064
-v -0.64379532 -0.20918178 0.73605027
-v -0.45067191 -0.62029668 0.64197064
-v -0.19312341 -0.90425562 0.38082092
-v 0.80031978 -0.46310163 0.38082092
-v 0.68774824 0.61804307 0.38082092
-v -0.37526799 0.84507325 0.38082092
-v -0.91967661 -0.09575908 0.38082092
-v -0.60719637 -0.76095695 0.22859687
-v -0.30415069 -0.95025066 -0.06719748
-v 0.13819168 -0.98812298 0.06719747
-v 0.53607907 -0.81262670 0.22859687
-v 0.80975434 -0.58290810 -0.06719748
-v 0.98246437 -0.17391870 0.06719747
-v 0.93851146 0.25872603 0.22859687
-v 0.80460641 0.58999364 -0.06719748
-v 0.46900470 0.88063531 0.06719747
-v 0.04395291 0.97252818 0.22859687
-v -0.31248024 0.94754422 -0.06719748
-v -0.69260352 0.71818125 0.06719747
-v -0.91134706 0.34232943 0.22859687
-v -0.99772981 -0.00437910 -0.06719748
-v -0.89705721 -0.43677489 0.06719747
-v -0.66641472 -0.70967199 -0.22859688
-v 0.03659896 -0.92392391 -0.38082093
-v 0.46900470 -0.85309878 -0.22859688
-v 0.89001354 -0.25070051 -0.38082093
-v 0.95627558 0.18242795 -0.22859688
-v 0.51345966 0.76898245 -0.38082093
-v 0.12200611 0.96584547 -0.22859688
-v -0.57267800 0.72595780 -0.38082093
-v -0.88087165 0.41449736 -0.22859688
-v -0.86739415 -0.32031586 -0.38082093
-v -0.54955655 -0.53465945 -0.64197064
-v -0.11507021 -0.66707442 -0.73605028
-v 0.33866904 -0.68787822 -0.64197064
-v 0.59886681 -0.31557561 -0.73605027
-v 0.75886555 0.10952733 -0.64197063
-v 0.48519026 0.47203794 -0.73605027
-v 0.13033567 0.75556984 -0.64197064
-v -0.29900272 0.60731111 -0.73605027
-v -0.67831368 0.35744049 -0.64197064
-v -0.66998413 -0.09669906 -0.73605027
-v -0.28281717 -0.27515070 -0.91886123
-v 0.17428857 -0.35400135 -0.91886120
-v 0.39053348 0.05636583 -0.91886122
-v 0.06707433 0.38883729 -0.91886104
-v -0.34907938 0.18394906 -0.91886143
-f 1 5 14
-f 1 14 15
-f 1 15 6
-f 1 6 2
-f 1 2 3 4 5
-f 2 6 7
-f 2 7 8
-f 2 8 3
-f 3 8 9
-f 3 9 10
-f 3 10 4
-f 4 10 11
-f 4 11 12
-f 4 12 5
-f 5 12 13
-f 5 13 14
-f 6 15 16
-f 6 16 23 24 7
-f 7 24 17
-f 7 17 8
-f 8 17 26 27 9
-f 9 27 18
-f 9 18 10
-f 10 18 29 30 11
-f 11 30 19
-f 11 19 12
-f 12 19 32 33 13
-f 13 33 20
-f 13 20 14
-f 14 20 35 21 15
-f 15 21 16
-f 16 21 22
-f 16 22 23
-f 17 24 25
-f 17 25 26
-f 18 27 28
-f 18 28 29
-f 19 30 31
-f 19 31 32
-f 20 33 34
-f 20 34 35
-f 21 35 36
-f 21 36 22
-f 22 36 46 47 37
-f 22 37 23
-f 23 37 38
-f 23 38 24
-f 24 38 25
-f 25 38 48 49 39
-f 25 39 26
-f 26 39 40
-f 26 40 27
-f 27 40 28
-f 28 41 29
-f 28 40 50 51 41
-f 29 42 30
-f 29 41 42
-f 30 42 31
-f 31 42 52 53 43
-f 31 43 32
-f 32 43 44
-f 32 44 33
-f 33 44 34
-f 34 44 54 55 45
-f 34 45 35
-f 35 45 36
-f 36 45 46
-f 37 47 48
-f 37 48 38
-f 39 49 50
-f 39 50 40
-f 41 52 42
-f 41 51 52
-f 43 53 54
-f 43 54 44
-f 45 55 46
-f 46 56 47
-f 46 55 56
-f 47 56 57
-f 47 57 48
-f 48 57 49
-f 49 58 50
-f 49 57 58
-f 50 58 51
-f 51 58 59
-f 51 59 52
-f 52 59 53
-f 53 59 60
-f 53 60 54
-f 54 60 55
-f 55 60 56
-f 56 60 59 58 57
diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1r.cs b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1r.cs
index 024f9df129b..9dcb76c6d09 100644
--- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1r.cs
+++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1r.cs
@@ -14,7 +14,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>
//
-println("KeTCindy V.3.2.1(20180614)");
+println("KeTCindy V.3.2.1(20180615)");
println(ketjavaversion());
println("ketcindylibbasic1(20180613) loaded");
diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2r.cs b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2r.cs
index 859b46f749f..13b4bd28869 100644
--- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2r.cs
+++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2r.cs
@@ -1,5231 +1,5231 @@
-// Copyright (C) 2014 Setsuo Takato, KETCindy Japan project team
-//
-//This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>
-//
-
-println("ketcindybasic2(20180610) loaded");
-
-//help:start();
-
-Dispchoice():=(
- if(islist(Ch),
- if(!isreal(ChNum),ChNum=1);
- drawtext(mouse().xy,"Ch="+text(Ch)+" N="+text(ChNum),size->24,color->[0,0,1]);
- );
-);
-
-Datetime():=(
-//help:Datetime();
- regional(names,dt,tmp);
- tmp=getdatetime();
- dt=tokenize(tmp," ");
- dt=apply(dt,if(!isstring(#),text(#),#));
- names=["Jan","Feb","Mar","Apr","May","Jun",
- "Jul","Aug","Sep","Oct","Nov","Dec"];
- tmp=select(1..12,names_#==dt_2);
- tmp=text(tmp_1);
- tmp=[dt_6+"/"+tmp+"/"+dt_3,dt_4];
-);
-
-Rotatepoint(point,Theta,ctr):=(
-//help:Rotatepoint(A,2*pi/3,B);
- regional(X1,X2,Y1,Y2,Cx,Cy,tmp);
- tmp=Lcrd(point);
- X1=tmp_1; Y1=tmp_2;
- tmp=Lcrd(ctr);
- Cx=tmp_1; Cy=tmp_2;
- X2=Cx+(X1-Cx)*cos(Theta)-(Y1-Cy)*sin(Theta);
- Y2=Cy+(X1-Cx)*sin(Theta)+(Y1-Cy)*cos(Theta);
- [X2,Y2];
-);
-
-Translatepoint(point,mov):=(
-//help:Translatepoint(A,[2,3]);
- regional(X1,X2,Y1,Y2,Cx,Cy,tmp);
- tmp=Lcrd(point);
- X1=tmp_1; Y1=tmp_2;
- tmp=Lcrd(mov);
- Cx=tmp_1; Cy=tmp_2;
- X2=X1+Cx;
- Y2=Y1+Cy;
- [X2,Y2];
-);
-
-Scalepoint(point,ratio,center):=(
-//help:Scalepoint(A,[3,2],[0,0]);
- regional(X1,X2,Y1,Y2,Cx,Cy,tmp);
- tmp=Lcrd(point);
- X1=tmp_1; Y1=tmp_2;
- tmp=Lcrd(center);
- Cx=tmp_1; Cy=tmp_2;
- X2=Cx+ratio_1*(X1-Cx);
- Y2=Cy+ratio_2*(Y1-Cy);
- [X2,Y2];
-);
-
-Reflectpoint(point,symL):=(
-//help:Reflectpoint(A,B);
-//help:Reflectpoint(A,[[2,3]]);
-//help:Reflectpoint(A,[C,E]);
- regional(X1,X2,Y1,Y2,Us,Vs,Pt1,Pt2,Cx,Cy,tmp);
- tmp=Lcrd(point);
- X1=tmp_1; Y1=tmp_2;
- Pt1=Lcrd(symL_1);
- if(length(symL)==1,
- Pt2=Pt1;
- ,
- Pt2=Lcrd(symL_2);
- );
- Us=Pt2_1-Pt1_1;
- Vs=Pt2_2-Pt1_2;
- if(Pt1==Pt2,
- X2=2*Pt1_1-X1;
- Y2=2*Pt1_2-Y1;
- ,
- X2=(Us^2-Vs^2)/(Us^2+Vs^2)*X1+2*Us*Vs/(Us^2+Vs^2)*Y1
- -2*Vs*(Us*Pt1_2-Vs*Pt1_1)/(Us^2+Vs^2);
- Y2=2*Us*Vs/(Us^2+Vs^2)*X1-(Us^2-Vs^2)/(Us^2+Vs^2)*Y1
- +2*Us*(Us*Pt1_2-Vs*Pt1_1)/(Us^2+Vs^2);
- );
- [X2,Y2];
-);
-
-Rotatedata(nm,plist,Theta):=Rotatedata(nm,plist,Theta,[]);
-Rotatedata(nm,plist,angle,options):=(
-//help:Rotatedata("1",["crAB","pt1"],pi/3,[[1,5],"dr,2"]);
-//help:Rotatedata("1",[[A.xy],[B.xy]],pi/3,[[1,5],"dr,2"]);
- regional(tmp,tmp1,tmp2,pdata,Theta,Pt,Cx,Cy,PdLL,PdL,
- opcindy,Nj,Njj,Kj,Mj,X1,Y1,X2,Y2,Ltype,Noflg,name,color);
- name="rt"+nm;
- Pt=[0,0];
- tmp=Divoptions(options);
- Ltype=tmp_1;
- Noflg=tmp_2;
- color=tmp_(length(tmp)-2);
- opcindy=tmp_(length(tmp));
- tmp1=tmp_6;
- if(length(tmp1)>0,Pt=Lcrd(tmp1_1));
- pdata=plist;
- if(isstring(pdata),pdata=[pdata]);
- if(!isstring(pdata_1) & MeasureDepth(pdata)==1,
- pdata=[pdata];
- );
- if(isstring(angle),Theta=parse(angle),Theta=angle);
- Cx=Pt_1; Cy=Pt_2;
- PdL=[];
- forall(pdata,Njj,
- if(isstring(Njj),Kj=parse(Njj),Kj=Njj);
- if(MeasureDepth(Kj)==0,Kj=[Kj]); //17.11.24
- if(MeasureDepth(Kj)==1,Kj=[Kj]);
- tmp2=[];
- forall(Kj,Nj,
- tmp1=[];
- forall(Nj,
- tmp=LLcrd(#);
- X1=tmp_1;
- Y1=tmp_2;
- X2=Cx+(X1-Cx)*cos(Theta)-(Y1-Cy)*sin(Theta);
- Y2=Cy+(X1-Cx)*sin(Theta)+(Y1-Cy)*cos(Theta);
- tmp1=concat(tmp1,[[X2,Y2]]);
- );
- tmp2=concat(tmp2,[tmp1]);
- );
- PdL=concat(PdL,tmp2);
- );
- if(Noflg<3,
- println("generate Rotatedata "+name);
- tmp1=[];
- forall(PdL,tmp2,
- tmp=apply(tmp2,Pcrd(#));
- tmp1=append(tmp1,tmp);
- );
- if(length(tmp1)==1,tmp1=tmp1_1);
- tmp=name+"="+textformat(tmp1,5);
- parse(tmp);
- tmp1=text(plist);
- tmp1=RSform(tmp1,1);// 180602
- tmp=name+"=Rotatedata("+tmp1+","
- +textformat(angle,5)+","+RSform(textformat(Pt,5))+")"; //17.12.23
- GLIST=append(GLIST,tmp);
- );
- if(Noflg<2,
- if(isstring(Ltype),
- if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
- Ltype=GetLinestyle(text(Noflg)+Ltype,name);
- if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+text(KCOLOR)+")"));
- ,
- if(Noflg==1,Ltype=0);
- );
- GCLIST=append(GCLIST,[name,Ltype,opcindy]);
- );
- PdL;
-);
-
-Translatedata(nm,plist,mov):=Translatedata(nm,plist,mov,[]);
-Translatedata(nm,plist,mov,options):=(
-//help:Translatedata("1",["gr1","pt1"],[1,2]);
- regional(tmp,tmp1,tmp2,pdata,Cx,Cy,PdL,Nj,Njj,Kj,
- opcindy,X2,Y2,Ltype,Noflg,name,color,leveL);
- name="tr"+nm;
- tmp=Divoptions(options);
- Ltype=tmp_1;
- Noflg=tmp_2;
- color=tmp_(length(tmp)-2);
- opcindy=tmp_(length(tmp));
- pdata=plist;
- if(isstring(pdata),pdata=[pdata]);
- if(!isstring(pdata_1) & MeasureDepth(pdata)==1,
- pdata=[pdata];
- );
- tmp=Lcrd(mov);
- Cx=tmp_1; Cy=tmp_2;
- PdL=[];
- forall(pdata,Njj,
- if(isstring(Njj),Kj=parse(Njj),Kj=Njj);
- if(MeasureDepth(Kj)==1,Kj=[Kj]);
- tmp2=[];
- forall(Kj,Nj,
- tmp1=[];
- forall(Nj,
- tmp=LLcrd(#);
- X2=tmp_1+Cx;
- Y2=tmp_2+Cy;
- tmp1=concat(tmp1,[[X2,Y2]]);
- );
- tmp2=concat(tmp2,[tmp1]);
- );
- PdL=concat(PdL,tmp2);
- );
- if(Noflg<3,
- println("generate Translatedata "+name);
- tmp1=[];
- forall(PdL,tmp2,
- tmp=apply(tmp2,Pcrd(#));
- tmp1=append(tmp1,tmp);
- );
- if(length(tmp1)==1,tmp1=tmp1_1);
- tmp=name+"="+textformat(tmp1,5);
- parse(tmp);
- tmp1=text(plist);
- tmp1=RSform(tmp1,1);// 180602
- tmp=name+"=Translatedata("+tmp1+","+RSform(textformat(mov,5))+")";
- GLIST=append(GLIST,tmp);
- );
- if(Noflg<2,
- if(isstring(Ltype),
- if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
- Ltype=GetLinestyle(text(Noflg)+Ltype,name);
- if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+text(KCOLOR)+")"));
- ,
- if(Noflg==1,Ltype=0);
- );
- GCLIST=append(GCLIST,[name,Ltype,opcindy]);
- );
- PdL;
-);
-
-Scaledata(nm,plist,ratioV):=(
- regional(tmp);
- tmp=ratioV; //180603from
- if(!islist(tmp),tmp=[tmp,tmp]);
- tmp=Lcrd(tmp);//180603to
- Scaledata(nm,plist,tmp_1,tmp_2,[]);
-);
-Scaledata(nm,plist,Arg1,Arg2):=(
-//help:Scaledata("1",["crAB","pt1"],3,2,[[0,0]]);
-//help:Scaledata("1",["crAB","pt1"],2,[[0,0]]);
- regional(tmp,options);
- if(islist(Arg2),
- tmp=Arg1;//180603(2lines)
- if(!islist(tmp),tmp=[tmp,tmp]);
- tmp=Lcrd(tmp);
- options=Arg2;
- Scaledata(nm,plist,tmp_1,tmp_2,options);
- ,
- Scaledata(nm,plist,Arg1,Arg2,[]);
- );
-);
-Scaledata(nm,plist,rx,ry,options):=(
- regional(tmp,tmp1,tmp2,pdata,Theta,Pt,Cx,Cy,PdL,
- opcindy,Nj,Njj,Kj,X2,Y2,Ltype,Noflg,name,color);
- name="sc"+nm;
- Pt=[0,0];
- tmp=Divoptions(options);
- Ltype=tmp_1;
- Noflg=tmp_2;
- color=tmp_(length(tmp)-2);
- opcindy=tmp_(length(tmp));
- tmp1=tmp_6;
- if(length(tmp1)>0,
- Pt=Lcrd(tmp1_1);
- );
- pdata=plist;
- if(isstring(pdata),pdata=[pdata]);
- if(!isstring(pdata_1) & MeasureDepth(pdata)==1,
- pdata=[pdata];
- );
- Cx=Pt_1; Cy=Pt_2;
- PdL=[];
- forall(pdata,Njj,
- if(isstring(Njj),Kj=parse(Njj),Kj=Njj);
- if(MeasureDepth(Kj)==1,Kj=[Kj]);
- tmp2=[];
- forall(Kj,Nj,
- tmp1=[];
- forall(Nj,
- tmp=LLcrd(#);
- X2=Cx+rx*(tmp_1-Cx);
- Y2=Cy+ry*(tmp_2-Cy);
- tmp1=concat(tmp1,[[X2,Y2]]);
- );
- tmp2=concat(tmp2,[tmp1]);
- );
- PdL=concat(PdL,tmp2);
- );
- if(Noflg<3,
- println("generate Scaledata "+name);
- tmp1=[];
- forall(PdL,tmp2,
- tmp=apply(tmp2,Pcrd(#));
- tmp1=append(tmp1,tmp);
- );
- if(length(tmp1)==1,tmp1=tmp1_1);
- tmp=name+"="+textformat(tmp1,5);
- parse(tmp);
- tmp1=text(plist);
- tmp1=RSform(tmp1,1); // 180602
- tmp=name+"=Scaledata("+tmp1+","
- +textformat(rx,5)+","+textformat(ry,5)+","+RSform(textformat(Pt,5))+")";
- GLIST=append(GLIST,tmp);
- );
- if(Noflg<2,
- if(isstring(Ltype),
- if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
- Ltype=GetLinestyle(text(Noflg)+Ltype,name);
- if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+text(KCOLOR)+")"));
- ,
- if(Noflg==1,Ltype=0);
- );
- GCLIST=append(GCLIST,[name,Ltype,opcindy]);
- );
- PdL;
-);
-
-Reflectdata(nm,plist,symL):=Reflectdata(nm,plist,symL,[]);
-Reflectdata(nm,plist,symL,options):=(
-//help:Reflectdata("1",["crAB"],[C]);
- regional(tmp,tmp1,tmp2,pdata,Us,Vs,Pt1,Pt2,Cx,Cy,PdL,
- opcindy,Nj,Njj,Kj,X1,Y1,X2,Y2,Ltype,Noflg,name,color);
- name="re"+nm;
- Pt=[0,0];
- tmp=Divoptions(options);
- Ltype=tmp_1;
- Noflg=tmp_2;
- color=tmp_(length(tmp)-2);
- opcindy=tmp_(length(tmp));
- pdata=plist;
- if(isstring(pdata),pdata=[pdata]);
- if(!isstring(pdata_1) & MeasureDepth(pdata)==1,
- pdata=[pdata];
- );
- Pt1=Lcrd(symL_1);
- if(length(symL)==1,
- Pt2=Pt1;
- ,
- Pt2=Lcrd(symL_2);
- );
- Us=Pt2_1-Pt1_1;
- Vs=Pt2_2-Pt1_2;
- PdL=[];
- forall(pdata,Njj,
- if(isstring(Njj),Kj=parse(Njj),Kj=Njj);
- if(MeasureDepth(Kj)==1,Kj=[Kj]);
- tmp2=[];
- forall(Kj,Nj,
- tmp1=[];
- forall(Nj,
- tmp=LLcrd(#);
- X1=tmp_1;
- Y1=tmp_2;
- if(Pt1==Pt2,
- X2=2*Pt1_1-X1;
- Y2=2*Pt1_2-Y1;
- ,
- X2=(Us^2-Vs^2)/(Us^2+Vs^2)*X1+2*Us*Vs/(Us^2+Vs^2)*Y1
- -2*Vs*(Us*Pt1_2-Vs*Pt1_1)/(Us^2+Vs^2);
- Y2=2*Us*Vs/(Us^2+Vs^2)*X1-(Us^2-Vs^2)/(Us^2+Vs^2)*Y1
- +2*Us*(Us*Pt1_2-Vs*Pt1_1)/(Us^2+Vs^2);
- );
- tmp1=concat(tmp1,[[X2,Y2]]);
- );
- tmp2=concat(tmp2,[tmp1]);
- );
- PdL=concat(PdL,tmp2);
- );
- if(Noflg<3,
- println("generate Reflectdata "+name);
- tmp1=[];
- forall(PdL,tmp2,
- tmp=apply(tmp2,Pcrd(#));
- tmp1=append(tmp1,tmp);
- );
- if(length(tmp1)==1,tmp1=tmp1_1);
- tmp=name+"="+textformat(tmp1,5);
- parse(tmp);
- tmp1=text(plist);
- tmp1=RSform(tmp1,1);// 180602
- tmp=name+"=Reflectdata("+tmp1+","+RSform(textformat(symL,5))+")";//17.12.23
- GLIST=append(GLIST,tmp);
- );
- if(Noflg<2,
- if(isstring(Ltype),
- if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
- Ltype=GetLinestyle(text(Noflg)+Ltype,name);
- if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+text(KCOLOR)+")"));
- ,
- if(Noflg==1,Ltype=0);
- );
- GCLIST=append(GCLIST,[name,Ltype,opcindy]);
- );
- PdL;
-);
-
-Mksegments():=Mksegments([]);
-Mksegments(options):=(
-//help:Mksegments();
- regional(segstr,p,q,r,tmp1,tmp2,tmp3);
- forall(allsegments(),seg,
- str=text(inspect(seg,"definition"));
- tmp1=indexof(str,"(");
- tmp2=indexof(str,";");
- tmp3=indexof(str,")");
- p=substring(str,tmp1,tmp2-1);
- q=substring(str,tmp2,tmp3-1);
- Listplot([parse(p),parse(q)]);
- );
-);
-
-Mkcircles():=Mkcircles([]);
-Mkcircles(options):=(
-//help:Mkcircles():
- regional(seg,cir,str,p,q,r,tmp1,tmp2,tmp3,tmp4);
- forall(allcircles(),cir,
- str=text(inspect(cir,"definition"));
- tmp1=indexof(str,"(");
- tmp2=indexof(str,";");
- tmp3=indexof(str,")");
- tmp4=indexof(str,";",tmp2+1);
- if(tmp4==0,
- p=substring(str,tmp1,tmp2-1);
- q=substring(str,tmp2,tmp3-1);
- Circledata([parse(p),parse(q)]);
- ,
- p=substring(str,tmp1,tmp2-1);
- q=substring(str,tmp2,tmp4-1);
- r=substring(str,tmp4,tmp3-1);
- Circledata([parse(p),parse(q),parse(r)]);
- );
- );
-);
-
-MakeRarg(arglist):=(
- regional(str,tmpstr);
- str="";
- forall(arglist,
- if(isstring(#),
- tmpstr=Dq+RSslash(#)+Dq;
- ,
- tmpstr=textformat(#,6);
- );
- str=str+tmpstr+",";
- );
- str=substring(str,0,length(str)-1);
- str;
-);
-
-Setax(arglist):=(
-//help:Setax(["l","x","e","y","n","O","sw"]);
-//help:Setax([7,"nw"]);
- regional(tmp);
- tmp=MakeRarg(arglist);
- Com1st("Setax("+tmp+")");
-);
-
-Htickmark(arglist):=(
-//help:Htickmark([1,"1",2,"sw","2"]);
- regional(tmp);
- tmp="";
- tmp=MakeRarg(arglist);
- Com2nd("Htickmark("+tmp+")");
-);
-
-Vtickmark(arglist):=(
-//help:Vtickmark([1,"1",2,"sw","2"]);
- regional(tmp);
- tmp=MakeRarg(arglist);
- Com2nd("Vtickmark("+tmp+")");
-);
-
-Vtick(py):=Vtick(py,MARKLEN,[]);
-Vtick(py,len):=Vtick(py,len,[]);
-Vtick(py,len,options):=(
-//help:Vtick(1,0.1,options);
- regional(tmp,tmp1,tmp2);
- tmp="v"+text(round(py*100));
- tmp=replace(tmp,"-","m");
- tmp1=[0-len/2,py];
- tmp2=[0+len/2,py];
- Listplot(tmp,[tmp1,tmp2],options);
-);
-
-Htick(px):=Htick(px,MARKLEN,[]);
-Htick(px,len):=Htick(px,len,[]);
-Htick(px,lenorg,options):=(
-//help:Htick(-1,0.1,options);
- regional(len,tmp,tmp1,tmp2);
- tmp=LLcrd([0,lenorg]);
- len=tmp_2;
- tmp="h"+text(round(px*100));
- tmp=replace(tmp,"-","m");
- tmp1=[px,0-len/2];
- tmp2=[px,0+len/2];
- Listplot(tmp,[tmp1,tmp2],options);
-);
-
-Drwxy():=(
-//help:Drwxy();
- Com2nd("Drwxy()");
- Addax(0); // 16.01.21
-);
-
-Drwpt(pstr):=Drawpoint(pstr);
-Drwpt(ptlist,nn):=( // 16.03.05 from
-//help:Drwpt(A);
-//help:Drwpt("[1,1],0");
-//help:Drwpt(A,0);
-//help:Drwpt([1,2],0);
- Drawpoint(ptlist,nn);
-);
-Drawpoint(pstr):=(
- if(isstring(pstr),
- println("Drwpt : "+pstr);
- Com2nd("Drwpt("+pstr+")");
- ,
- Drawpoint(pstr,1);
- );
-);
-Drawpoint(ptlistorg,nn):=(
- regional(ptlist,thick,tmp,tmp1);
- println("Drwpt : "+text(ptlistorg));
- if(islist(ptlistorg),
- if(MeasureDepth(ptlistorg)==1,
- ptlist=ptlistorg
- ,
- ptlist=[ptlistorg]
- );
- ,
- ptlist=[ptlistorg]
- );
- thick=PenThick/PenThickInit;// 16.04.09 from
- tmp1=max(TenSize/TenSizeInit,1)/8;
- Setpen(tmp1); // 16.04.09 until
- forall(ptlist,
- tmp=textformat(#,5)+","+text(nn);
- Com2nd("Drwpt("+tmp+")"); // 16.04.09
- );
- Setpen(thick); // 16.04.09
-);// 16.03.05 until
-
-Addax(param):=(
-//help:Addax(0);
- ADDAXES=textformat(param,5);
-);
-
-Expr(Pt,Dr,St):=Expr([Pt,Dr,St]);
-Expr(list):=Expr(list,[]);
-Expr(listorg,options):=( //16.10.09
-//help:Expr([A,"e","f(x)=x^2"]);
-//help:Expr([A,"e","f(x)=x^2"],["size->24"]);
- regional(list,str,tmp,tmp1,tmp2);
- list=listorg;
- forall(1..round(length(list)/3),
- str=list_(3*#);
- if(!isstring(str),str=format(str,5));
- str="$"+str+"$";
- list_(3*#)=str;
- );
- Letter(list,options);
-);
-
-Letter(Pt,Dr,St):=Letter([Pt,Dr,St]);
-Letter(list):=Letter(list,[]);
-Letter(list,options):=(
-//help:Letter([C,"c","Graph of $f(x)$"]);
-//help:Letter([C,"c","xy"],["size->30"]);
- regional(Nj,Pos,Dir,Str,Off,Dmv,Xmv,Ymv,Noflg,opcindy,
- opL,aln,sz,clr,bld,ita,tmp,tmp1,tmp2,color);
- tmp=Divoptions(options);
- Noflg=tmp_2;
- color=tmp_(length(tmp)-2);
- opL=select(options,indexof(#,"->")>0); //16.10.09from
- tmp=select(opL,indexof(#,"color"));
- size=12;
- bld=false;
- ita=false;
- aln="left";
- forall(opL,
- tmp=indexof(#,"->");
- tmp1=removespace(substring(#,0,tmp-1));
- tmp2=substring(#,tmp+1,length(#));
- if(tmp1=="size",sz=parse(tmp2));
- if(tmp1=="color",clr=parse(tmp2));
- if(tmp1=="bold",bld=parse(tmp2));
- if(tmp1=="ita",ita=parse(tmp2));
- );//16.10.09until
- Off=-4;
- Dmv=8;
- Nj=1;
- while(Nj+2<=length(list),
-// Pos=textformat(list_Nj,5);
- Pos=list_Nj;
- Dir=list_(Nj+1);
- tmp=indexof(Dir,"s")+indexof(Dir,"n");//16.10.19from
- if(tmp>0,
- tmp=indexof(Dir,"w")+indexof(Dir,"e");
- if(tmp==0,
- Dir="c"+Dir;//16.10.08
- );
- );//16.10.19until
- Str=list_(Nj+2);
- if(!isstring(Str),Str=format(Str,5)); // 16.09.30,10.09
- tmp=replace(Str,".xy","");
- tmp=replace(tmp,".x","(1)");
- Str=replace(tmp,".y","(2)");
- Str=RSslash(Str); // 17.09.24
- Str=replace(Str,"`","'");//180303
- tmp=Dq+","+Dq+Str+Dq+")";
- if(Noflg==0,
- if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
- Com2nd("Letter("+Lcrd(Pos)+","+Dq+Dir+tmp);//16.10.10
- if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+text(KCOLOR)+")"));
- );
- if(Noflg<2,
- Xmv=0;//16.10.13
- Ymv=-4;
- if(indexof(Dir,"n")>0,
- Ymv=Dmv/2;
- );
- if(indexof(Dir,"s")>0,
- Ymv=-Dmv*3/2;//16.10.13
- );
- if(indexof(Dir,"e")>0,
- Xmv=Dmv/2;
- Off=0;
- aln="left";
- );
- if(indexof(Dir,"w")>0,
- Xmv=-Dmv/2;
- Off=0; // 16.09.30from
- aln="right";
- );
- if(indexof(Dir,"c")>0,
- Xmv=0;//16.10.13
- Off=0;
- if(Ymv==0,Ymv=-4);//16.10.08
- aln="mid"; // 16.09.30until
- );
- Str=list_(Nj+2); //17.10.17
- drawtext(Pcrd(Pos),Str,offset->[Off+Xmv,Off+Ymv],
- size->sz,color->color,align->aln,bold->bld,italics->ita);//16.10.09
- );
- Nj=Nj+3;
- );
-);
-
-Letterrot(pt,dir,str):=Letterrot(pt,dir,0,0,str,[]);
-Letterrot(pt,dir,Arg1,Arg2):=(
- if(islist(Arg2),
- Letterrot(pt,dir,"t0n0",Arg1,Arg2);
- ,
- Letterrot(pt,dir,Arg1,Arg2,[]);
- );
-);
-Letterrot(pt,dir,movstr,str,options):=(
-//help:Letterrot(C,B-A,"AB"):
-//help:Letterrot(C,B-A,0,5,"AB"):
-//help:Letterrot(C,B-A,"t0n5","AB"):
- regional(tmov,nmov,tmp,tmp1,tmp2,color);
- tmp1=indexof(movstr,"t");
- tmp2=indexof(movstr,"n");
- if(tmp1>0,
- if(tmp2>0,tmp=tmp2-1,tmp=length(movstr));
- tmov=parse(substring(movstr,tmp1,tmp));
- ,
- tmov=0;
- );
- if(tmp2>0,
- nmov=parse(substring(movstr,tmp2,length(movstr)));
- ,
- nmov=0;
- );
- Letterrot(pt,dir,tmov,nmov,str,options);
-);
-Letterrot(pt,dir,tmov,nmov,str,options):=(
- regional(tmp,color);
- tmp=Divoptions(options);
- color=tmp_(length(tmp)-2);
- Letter([pt,"c",str],append(options,"notex"));
- tmp=replace(str,"\","\\"); //17.10.18
- if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
- Com2nd("Letterrot("+pt+","+dir+","+tmov+","+nmov+",'"+tmp+"')");
- if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+text(KCOLOR)+")"));
-);
-
-Exprrot(pt,dir,str):=Exprrot(pt,dir,0,0,str,[]);
-Exprrot(pt,dir,Arg1,Arg2):=(
- if(islist(Arg2),
- Exprrot(pt,dir,"t0n0",Arg1,Arg2);
- ,
- Exprrot(pt,dir,Arg1,Arg2,[]);
- );
-);
-Exprrot(pt,dir,movstr,str,options):=(
-//help:Exprrot(C,B-A,"d"):
-//help:Exprrot(C,B-A,0,5,"d"):
-//help:Exprrot(C,B-A,"t0n5","d"):
- regional(tmov,nmov,tmp,tmp1,tmp2,color);
- tmp1=indexof(movstr,"t");
- tmp2=indexof(movstr,"n");
- if(tmp1>0,
- if(tmp2>0,tmp=tmp2-1,tmp=length(movstr));
- tmov=parse(substring(movstr,tmp1,tmp));
- ,
- tmov=0;
- );
- if(tmp2>0,
- nmov=parse(substring(movstr,tmp2,length(movstr)));
- ,
- nmov=0;
- );
- Exprrot(pt,dir,tmov,nmov,str,options);
-);
-Exprrot(pt,dir,tmov,nmov,str,options):=(
- regional(tmp,color);
- tmp=Divoptions(options);
- color=tmp_(length(tmp)-2);
- Expr([pt,"c",str],append(options,"notex"));
- tmp=replace(str,"\","\\"); //17.10.18
- if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
- Com2nd("Exprrot("+pt+","+dir+","+tmov+","+nmov+",'"+tmp+"')");
- if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
-);
-
-Putslider(ptstr,p1,p2):=Slider(ptstr,p1,p2);
-Slider(ptstr,p1,p2):=( //17.04.11
-//help:Slider("A-C-B",[-3,0],[3,0]);
- regional(pA,pB,pC,seg,sname,Alpha,tmp,tmp1);
- tmp=indexall(ptstr,"-");
- pA=substring(ptstr,0,tmp_1-1);
- pC=substring(ptstr,tmp_1,tmp_2-1);
- pB=substring(ptstr,tmp_2,length(ptstr));
- seg=pA+pB;
- Alpha="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
- sname="";
- forall(1..(length(seg)),
- tmp=substring(seg,#-1,#);
- tmp1=indexof(Alpha,tmp);
- if(tmp1>0,
- sname=sname+unicode(text(tmp1+96),base->10);
- ,
- sname=sname+tmp;
- );
- );
- Putpoint(pA,p1);
- Putpoint(pB,p2);
- Listplot([parse(pA),parse(pB)],["notex","color->[0,0.4,0.4]","size->2"]);
-// create([sname],"Segment",[parse(pA),parse(pB)]);
-// tmp2=Listplot("",[p1,p2],["nodata"]);
- Putonseg(pC,parse("sg"+pA+pB));
-// create([pC],"PointOn",[parse(sname),0.5]);
-);
-
-Putpoint(name,Pt):=Putpoint(name,Pt,Pt);
-Putpoint(name,Ptinit,Pt):=(
-//help:Putpoint("A",[1,2],[1,A.y]);
- regional(ptstr);
- ptstr=apply(allpoints(),#.name);//16.10.06
- if(!contains(ptstr,name),
- createpoint(name,Pcrd([Ptinit_1,Ptinit_2]));
- ,
- ptstr=name+".xy="+textformat(Pcrd(Pt),5);
- parse(ptstr);
- );
-);
-
-Bezierpt(t,ptlist,ctrlist):=(
- regional(flg3,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9);
- p0=ptlist_1;
- p3=ptlist_2;
- p1=ctrlist_1;
- if(length(ctrlist)==1,
- p2=p3;
- flg3=0;
- ,
- p2=ctrlist_2;
- flg3=1;
- );
- if(length(p0)<3, // 15.02.08
- p0=Lcrd(p0);
- p3=Lcrd(p3);
- p1=Lcrd(p1);
- p2=Lcrd(p2);
- );
- p4=(1-t)*p0+t*p1;
- p5=(1-t)*p1+t*p2;
- p6=(1-t)*p2+t*p3;
- p7=(1-t)*p4+t*p5;
- p8=(1-t)*p5+t*p6;
- p9=(1-t)*p7+t*p8;
- if(flg3==0,p7,p9);
-);
-
-Bezier(ptctrlist):=BezierCurve(ptctrlist_3,ptctrlist_1,ptctrlist_2,[]);
-Bezier(ptctrlist,options):=BezierCurve(ptctrlist_3,ptctrlist_1,ptctrlist_2,options);
-Bezier(nm,ptlist,ctrlist):=BezierCurve(nm,ptlist,ctrlist,[]);
-Bezier(nm,ptlist,ctrlist,options):=BezierCurve(nm,ptlist,ctrlist,options);
-BezierCurve(nm,ptlist,ctrlist):=BezierCurve(nm,ptlist,ctrlist,[]);
-BezierCurve(nm,ptlistorg,ctrlistorg,options):=(
-//help:Bezier("1",[A,D],[B,C]);
-//help:Bezier(options=["Num=10"]);
- regional(name,Ltype,Noflg,opstr,opcindy,Num,
- ptlist,ctrlist,tmp,tmp1,tmp2,ii,st,out,list,color);
- name="bz"+nm;
- tmp=Divoptions(options);
- Ltype=tmp_1;
- Noflg=tmp_2;
- color=tmp_(length(tmp)-2);
- opstr=tmp_(length(tmp)-1);
- opcindy=tmp_(length(tmp));
- Num=10;
- tmp1=tmp_5;
- forall(tmp1, // 14.12.31
- if(substring(#,0,1)=="N",
- tmp2=indexof(#,"=");
- Num=parse(substring(#,tmp2,length(#)));
- opstr=opstr+","+Dq+#+Dq;
- );
- );
- ptlist=apply(ptlistorg,Lcrd(#)); // 16.08.16
- ctrlist=[]; // 14.12.31
- if(length(ctrlistorg)==length(ptlist)-1,
- forall(ctrlistorg,tmp1,
- if(MeasureDepth(tmp1)==0,tmp=[tmp1],tmp=tmp1);
- tmp=apply(tmp,Lcrd(#)); // 16.08.16
- ctrlist=append(ctrlist,tmp);
- );
- ,
- forall(1..(length(ptlist)-1),ii,
- tmp=ctrlistorg_((2*ii-1)..(2*ii));
- tmp=apply(tmp,Lcrd(#)); // 16.08.16
- ctrlist=append(ctrlist,tmp);
- );
- );
- if(!islist(Num),
- Num=apply(ctrlist,Num);
- );
- list=[];
- forall(1..(length(ptlist)-1),ii,
- tmp1=ptlist_(ii..(ii+1));
- tmp2=ctrlist_ii;
- if(ii==1,st=0,st=1);
- forall(st..Num_ii,
- tmp=Bezierpt(#/Num_ii,tmp1,tmp2);
- list=append(list,tmp);
- );
- );
- if(Noflg<3,
- println("generate Bezier "+name);
- out=apply(list,Pcrd(#));
- tmp=name+"="+textformat(out,5);
- parse(tmp);
- tmp1=textformat(ptlist,5);
- tmp1=RSform(tmp1,2); //17.12.23
- tmp2=textformat(ctrlist,5);
- tmp2=RSform(tmp2,3); //17.12.23
- GLIST=append(GLIST,name+"=Bezier("+tmp1+","+tmp2+opstr+")");
- );
- if(Noflg<2,
- if(isstring(Ltype),
- if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
- Ltype=GetLinestyle(text(Noflg)+Ltype,name);
- if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+text(KCOLOR)+")"));
- ,
- if(Noflg==1,Ltype=0);
- );
- GCLIST=append(GCLIST,[name,Ltype,opcindy]);
- );
- list;
-);
-
-Readcsvsla(fname):=Readplotdigdata(fname,[]);
-Readcsvsla(fname,options):=Readplotdigdata(fname,options);
-Readplotdigdata(fname):=Readplotdigdata(fname,[]);
-Readplotdigdata(fname,options):=(
- regional(fsc,mv,cmdall,dataL,nd,npt,ptdata,ii,tmp,tmp1,tmp2,tmp3);
- tmp=Divoptions(options);
- tmp1=tmp_6;
- sc=1;//10;
- mv=[0,0];//[5,5];
- forall(tmp1,
- if(!islist(#),sc=#,mv=#);
- );
- if(indexof(fname,".")>0,
- tmp=load(fname);
- ,
- tmp=load(fname+".txt");
- );
- cmdall=tokenize(tmp,"//");
- dataL=[];
- forall(2..length(cmdall),ii,
- tmp1=parse("["+cmdall_ii+"]");
- dataL=append(dataL,tmp1);
- );
- if(length(dataL_(length(dataL)))<2,
- dataL=dataL_(1..(length(dataL)-1));
- );
- nd=length(dataL_1)/2;
- npt=length(dataL);
- ptdata=[];
- forall(1..nd,ii,
- tmp3=[];
- forall(1..npt,
- tmp1=dataL_#_(2*ii-1);
- tmp2=dataL_#_(2*ii);
- if(isreal(tmp1),
- tmp3=append(tmp3,[tmp1,tmp2]);
- );
- );
- ptdata=append(ptdata,tmp3);
- );
- tmp1=[];
- forall(ptdata,
- tmp=#/sc;
- tmp=Translatedata("1",[tmp],-mv,["nodata"]);
- tmp1=append(tmp1,tmp);
- );
- ptdata=tmp1;
- ptdata;
-);
-
-Putbezierdata(name,ptL):=Putbezierdata(name,ptL,[]);
-Putbezierdata(name,ptL,options):=(
- regional(psize,Deg,tmp,tmp1,tmp2,p1,p2,pts,ctrs);
- tmp=Divoptions(options);
- psize=3;
- Deg=3;
- tmp1=tmp_5;
- forall(tmp1,
- if(substring(#,0,1)=="D",
- tmp=indexof(#,"=");
- Deg=parse(substring(#,tmp,length(#)));
- );
- if(substring(#,0,1)=="S",
- tmp=indexof(#,"=");
- psize=parse(substring(#,tmp,length(#)));
- );
- );
- pts=[];
- ctrs=[];
- forall(1..length(ptL),
- p2=ptL_#; // 16.08.16
- if(ispoint(p2),
- tmp1=text(p2);
- ,
- tmp1=name+text(#);
- Putpoint(tmp1,p2,Lcrd(parse(tmp1))); // 16.08.16
- );
- inspect(parse(tmp1),"ptsize",psize);
- pts=append(pts,parse(tmp1));
- inspect(parse(tmp1),"color",4);
- if(#>1,
- p1=Lcrd(ptL_(#-1)); // 16.08.16
- p2=Lcrd(ptL_#); // 16.08.16
- if(Deg==3,
- tmp=(2*p1+p2)/3;
- tmp1=name+"p"+text(#-1);
- Putpoint(tmp1,tmp,Lcrd(parse(tmp1))); // 16.08.16
- inspect(parse(tmp1),"labeled",false); //15.01.22
- Letter([parse(tmp1),"ne",tmp1],["notex"]); //15.01.22
- inspect(parse(tmp1),"ptsize",psize);
- inspect(parse(tmp1),"color",3);
- tmp=(p1+2*p2)/3;
- tmp2=name+"q"+text(#-1);
- Putpoint(tmp2,tmp,Lcrd(parse(tmp2))); // 16.08.16
- inspect(parse(tmp2),"labeled",false); //15.01.22
- Letter([parse(tmp2),"ne",tmp2],["notex"]); //15.01.22
- inspect(parse(tmp2),"ptsize",psize);
- inspect(parse(tmp2),"color",3);
- ctrs=append(ctrs,[parse(tmp1),parse(tmp2)]);
- ,
- tmp=(p1+p2)/2;
- tmp1=name+"p"+text(#-1);
- Putpoint(tmp1,tmp,Lcrd(parse(tmp1))); // 16.08.16
- inspect(parse(tmp1),"labeled",false); //15.01.22
- Letter([parse(tmp1),"ne",tmp1],["notex"]); //15.01.22
- inspect(parse(tmp1),"ptsize",psize);
- inspect(parse(tmp1),"color",3);
- ctrs=append(ctrs,[parse(tmp1)]);
- );
- );
- );
- [pts,ctrs,name];
-);
-
-Bezierstart(n):=( // 2016.02.26
- BezierNumber=n;
-);
-
-Mkbezierptcrv(ptdata):=Mkbezierptcrv(ptdata,[]);
-Mkbezierptcrv(ptdata,options):=(
- //help:Mkbezierptcrv([A,B,C,D]);
- //help:Mkbezierptcrv([[A,B],[C,D]]);
- //help:Mkbezierptcrv(options=["Num=10"]);
- // global BezierNumber
- regional(ptlist,Out,tmp,tmp1,tmp2);
- if(isstring(ptdata),
- ptlist=Readcsvsla(ptdata,options);
- ,
- ptlist=ptdata;
- );
- if(MeasureDepth(ptlist)==1,ptlist=[ptlist]);
- Out=[];
- forall(1..length(ptlist),
- tmp=floor((BezierNumber-1)/26);// 15.02.23
- if(tmp==0,tmp="",tmp=text(tmp));
- tmp2=mod(BezierNumber,26);
- if(tmp2==0,tmp2=26);
- tmp1=unicode(text(96+tmp2),base->10)+tmp;// 15.03.11
- tmp2=Putbezierdata(tmp1,ptlist_#,options);
- Bezier(tmp2,options);
- BezierNumber=BezierNumber+1;
- Out=append(Out,tmp2_(1..2));
- );
- Out;
-);
-
-Mkbeziercrv(nm,ptctrL):=Mkbeziercrv(nm,ptctrL,[]);
-Mkbeziercrv(nm,ptctrL,options):=(
- //help:Mkbeziercrv("1",[[A,B,C,D],[[P,Q],[R,S],T]]);
- regional(ptctrLL,name,ptlist,ctrlist,tmp,tmp1,tmp2);
- if(MeasureDepth(ptctrL)==2,ptctrLL=[ptctrL],ptctrLL=ptctrL);
- forall(1..length(ptctrLL),
- name=nm+text(#);
- ptlist=ptctrLL_#_1;
- ctrlist=ptctrLL_#_2;
- Bezier(nm,ptlist,ctrlist,options); // 17.01.06
- );
-);
-
-Writebezier():=Writebezier(Fhead,"all");
-Writebezier(head):=Writebezier(head,"all");
-Writebezier(head,seL):=(
-//help:Writebezier(file);
-//help:Writebezier(file,"acd");
- regional(bz,dt,name,tmp,tmp1,tmp2);
- bz=select(GLIST,indexof(#,"=Bezier")>0);
- tmp1=[]; // 16.04.22from
- if(seL!="all",
- forall(1..length(seL),
- tmp=substring(seL,#-1,#);
- tmp=select(bz,indexof(#,"bz"+tmp)>0);
- tmp1=concat(tmp1,tmp);
- );
- bz=tmp1;// 16.04.22until
- );
- dt=[head+"n",[[length(bz),0]]];
- forall(1..length(bz),
- tmp=indexof(bz_#,"=");
- name=substring(bz_#,0,tmp-1);
- tmp=indexof(bz_#,","+Dq);
- if(tmp>0,
- tmp1=substring(bz_#,0,tmp-1)+")";
- ,
- tmp1=bz_#;
- );
- tmp1=replace(tmp1,"Bezier(","[");
- tmp1=replace(tmp1,"list(","[");
- tmp1=replace(tmp1,")","]");
- tmp1=replace(tmp1,",",".xy,");
- tmp1=replace(tmp1,"]",".xy]");
- tmp1=replace(tmp1,".xy,[",",[");
- tmp1=replace(tmp1,"].xy","]");
- tmp1=replace(tmp1,name,head+text(#));
- parse(tmp1);
- tmp=parse(head+text(#)+"_1");
- dt=concat(dt,[head+text(#)+"k",tmp]);
- tmp=parse(head+text(#)+"_2");
- dt=concat(dt,[head+text(#)+"c",tmp]);
- );
- WriteOutData(head+".txt",dt);
- dt;
-);
-
-Readbezier(file):=Readbezier(file,[]);
-Readbezier(file,optionorg):=(
-//help:Readbezier("xsr");
-//help:Readbezier(options=["Num=10","nogeo"]);
- regional(nn,options,stL,geo,nc,alpha,out,tmp,tmp1,tmp2,tmp3);
- options=optionorg;
- tmp=Divoptions(options);
- stL=tmp_7;
- geo=0;
- forall(stL,
- tmp=Toupper(substring(#,0,1));
- if(tmp=="G",geo=1);
- options=remove(options,[#]);
- );
- ReadOutData(file);
- tmp=file+"n_1_1";
- nn=parse(tmp);
- out=[];
- forall(1..nn,nc,
- tmp=file+text(nc);
- tmp1=parse(tmp+"k");
- tmp2=parse(tmp+"c");
- if(MeasureDepth(tmp2)==1,tmp2=[tmp2]); // 16.04.22from
- if(geo==1,
- alpha="abcdefghijklmnopqrstuvwxyz";
- forall(1..length(tmp1),
- tmp="k"+BezierNumber+"n"+text(nc)+substring(alpha,#-1,#);
- Putpoint(tmp,tmp1_#,parse(tmp+".xy"));
- inspect(parse(tmp),"labeled",false);
- inspect(parse(tmp),"ptsize",3);
- tmp1_#=parse(tmp+".xy");
- );
- forall(1..length(tmp2),
- tmp="c"+BezierNumber+"n"+text(nc)+substring(alpha,#-1,#)+"1";
- Putpoint(tmp,tmp2_#_1,parse(tmp+".xy"));
- inspect(parse(tmp),"labeled",false);
- inspect(parse(tmp),"color",4);
- inspect(parse(tmp),"ptsize",3);
- tmp2_#_1=parse(tmp+".xy");
- tmp="c"+BezierNumber+"no"+text(nc)+substring(alpha,#-1,#)+"2";
- Putpoint(tmp,tmp2_#_2,parse(tmp+".xy"));
- inspect(parse(tmp),"labeled",false);
- inspect(parse(tmp),"color",4);
- inspect(parse(tmp),"ptsize",3);
- tmp2_#_2=parse(tmp+".xy");
- );
- BezierNumber=BezierNumber+1;
- );
- Bezier(file+text(nc),tmp1,tmp2,options);// 16.04.22until
- out=append(out,"bz"+tmp);
- );
- out;
-);
-
-Ospline(nm,ptlist):=Ospline(nm,ptlist,[]);
-Ospline(nm,ptlist,options):=(
-//help:Ospline("1",ptlist,[options]);
- regional(tmp,tmp1,tmp2,list,ptL,ctrL,name,closed,flg,
- p0,p1,p2,p3,pQ,pR,cc,p01,p02,p11,p12,p21,p22,p31,p32);
- name="o"+nm;
- if(isstring(ptlist),list=parse(ptlist),list=ptlist);
- if(|list_1-list_(length(list))|<10^(-6),closed=1,closed=0);
-// list=apply(list,LLcrd(#));
- ctrL=[];
- forall(1..(length(list)-1),
- flg=0;
- p1=Lcrd(list_#); // 16.08.16
- p2=Lcrd(list_(#+1)); // 16.08.16
- if(#==1 % #==length(list)-1,
- flg=1;
- if(closed==0,
- pQ=(p1+2*p2)/3; // 15.09.21 // 16.08.16
- pR=(2*p1+p2)/3; // 16.08.16
- ctrL=append(ctrL,[pQ,pR]);
- flg=2;
- ,
- if(#==1,
- p0=Lcrd(list_(length(list)-1)); // 16.08.16
- p3=Lcrd(list_(#+2)); // 16.08.16
- ,
- p0=Lcrd(list_(#-1)); // 16.08.16
- p3=Lcrd(list_2); // 16.08.16
- );
- );
- );
- if(flg<=1,
- if(flg==0,
- p0=Lcrd(list_(#-1)); // 16.08.16
- p3=Lcrd(list_(#+2)); // 16.08.16
- );
- tmp=1+sqrt((1+Dotprod(p2-p0,p3-p1)/|p2-p0|/|p3-p1|)/2);
- cc=4*|p2-p1|/3/(|p2-p0|+|p3-p1|)/tmp;
- pQ=p1+cc*(p2-p0); // 15.09.21 // 16.08.16
- pR=p2+cc*(p1-p3); // 16.08.16
- ctrL=append(ctrL,[pQ,pR]);
- );
- );
-// list=apply(list,LLcrd(#)); // 16.08.16
-// ctrL=apply(ctrL,LLcrd(#));
- if(closed==0, // 15.09.21
- p1=ctrL_2_1;
- p2=Lcrd(list_2); // 16.08.16
- pQ=p2+(p2-p1);
- ctrL_1=[pQ];
- tmp=length(ctrL);
- tmp1=ctrL_(tmp-1);
- p1=ctrL_(tmp-1)_2;
- p2=Lcrd(list_(tmp)); // 16.08.16
- pQ=p2+(p2-p1);
- ctrL_tmp=[pQ];
- );
- Bezier("o"+nm,list,ctrL,options);
-);
-
-CRspline(nm,ptL):=CRspline(nm,ptL,[]);
-CRspline(nm,ptL,options):=(
- // Catmull-Rom spline
-//help:CRspline("1",[A,B,C,A]);
- regional(name,ptlist,ctrpts,eqL,opcindy,c,v,tmp,tmp1,tmp2,ctrlist,cflg);
- name="crsp"+nm;
- if(MeasureDepth(ptL)==1,tmp=[ptL],tmp=ptL);
- ptlist=tmp_1;
- if(length(tmp)==1,
- cflg=1;
- ,
- cflg=0;
- ctrpts=tmp_2;
- );
- c=1/6;
- tmp=Divoptions(options);
- eqL=tmp_5;
- opcindy=tmp_(length(tmp)); // 15.03.05
- forall(eqL,
- if(substring(#,0,1)=="R",
- tmp2=indexof(#,"=");
- c=parse(substring(#,tmp2,length(#)));
- );
- );
- ptlist=apply(ptlist,Lcrd(#)); // 16.08.16
- ctrlist=[];
- forall(1..(length(ptlist)-1),
- if(#==1,
- if(cflg==0,
- tmp1=ctrpts_1;
- ,
- v=ptlist_2-ptlist_(length(ptlist)-1);
- tmp1=ptlist_#+c*v;
- );
- ,
- v=ptlist_(#+1)-ptlist_(#-1);
- tmp1=ptlist_#+c*v;
- );
- if(#==length(ptlist)-1,
- if(cflg==0,
- tmp2=ctrpts_2;
- ,
- v=ptlist_2-ptlist_#;
- tmp2=ptlist_(#+1)-c*v;
- );
- ,
- v=ptlist_(#+2)-ptlist_#;
- tmp2=ptlist_(#+1)-c*v;
- );
- tmp=select(options,indexof(text(#),"->")>0);
- tmp=append(tmp,"notex"); //15.03.05
- Pointdata(name+text(#),[tmp1,tmp2],tmp);
- ctrlist=append(ctrlist,[tmp1,tmp2]);
- );
- Bezier(nm,ptlist,ctrlist,options);
-);
-
-Beziersmooth(nm,ptL):=Bzspline(nm,ptL,[]);
-//help:Beziersmooth("1",[A,B,C,A]);
-Beziersmooth(nm,ptL,options):=Bzspline(nm,ptL,options);
-Bzspline(nm,ptL):=Bzspline(nm,ptL,[]);
-Bzspline(nm,ptLorg,options):=(
- // smooth bezier
- regional(name,Eps,ptL,pt,pt1,pt2,pt3,npt,lstr,
- tmp,tmp1,tmp2,cflg,ctrlist);
- name="bzsp"+nm;
- Eps=10^(-3);
- ptL=apply(ptLorg,Lcrd(#)); // 16.08.16
- if(|ptL_1-ptL_(length(ptL))|<Eps,cflg=1,cflg=0);
- forall(2..length(ptL),
- pt=ptL_#;
- pt1=ptL_(#-1);
- tmp1="C"+text(#-1)+"q";// 16.10.07
- Putpoint(tmp1,(pt1+4*pt)/5,Lcrd(parse(tmp1))); // 16.08.16
- );
- forall(2..(length(ptL)-1),
- if(#<length(ptL) % cflg==1,
- lstr="c"+text(#);
- pt=ptLorg_#; // 16.08.16
- pt1=parse("C"+text(#-1)+"q");
- create([lstr],"Join",[pt1,pt]);
- tmp2="C"+text(#)+"p";
- tmp=Append((2*pt.xy-pt1.xy),1);
- create([tmp2],"PointOnLine",[parse(lstr),tmp]);
- );
- );
- if(cflg==0,
- pt=ptL_1;
- pt1=ptL_2;
- tmp1="C1p";
- Putpoint(tmp1,(4*pt+pt1)/5,Lcrd(parse(tmp1))); // 16.08.16
- );
- if(cflg==1,
- lstr="c1";
- pt=ptLorg_1; // 16.08.16
- pt1=parse("C"+text(length(ptL)-1)+"q");
- create([lstr],"Join",[pt1,pt]);
- tmp1="C1p";
- tmp=Append((2*pt.xy-pt1.xy),1);
- create([tmp1],"PointOnLine",[parse(lstr),tmp]);
- );
- ctrlist=[];
- forall(1..(length(ptL)-1),
- if(#>1 % cflg==1,
- tmp1="c"+text(#);
- inspect(parse(tmp1),"alpha",0.3);
- );
- tmp1="C"+text(#)+"p";
- tmp2="C"+text(#)+"q";
- inspect(parse(tmp1),"ptsize",3);
- inspect(parse(tmp1),"color",3);
- inspect(parse(tmp2),"ptsize",3);
- inspect(parse(tmp2),"color",3);
- tmp=[parse(tmp1),parse(tmp2)];
- ctrlist=append(ctrlist,tmp);
- );
- Bezier(nm,ptL,ctrlist,options);
- [ptL,ctrlist];
-);
-
-Beziersym(nm,ptL):=Bzsspline(nm,ptL,[]);
-Beziersym(nm,ptL,options):=Bzsspline(nm,ptL,options);
-Bzsspline(nm,ptL):=Bzsspline(nm,ptL,[]);
-Bzsspline(nm,ptLorg,options):=(
- // smooth bezier with symmetric control points
- regional(name,Eps,ptL,pt,pt1,pt2,pt3,npt,lstr,
- tmp,tmp1,tmp2,cflg,ctrlist);
- name="bzssp"+nm;
- Eps=10^(-3);
- ptL=apply(ptLorg,Lcrd(#)); // 16.08.16
- if(|ptL_1-ptL_(length(ptL))|<Eps,cflg=1,cflg=0);
- forall(2..length(ptL),
- pt=ptL_#;
- pt1=ptL_(#-1);
- tmp1="C"+text(#-1)+"q";
- Putpoint(tmp1,(pt1+4*pt)/5,Lcrd(parse(tmp1)));
- );
- forall(2..(length(ptL)-1),
- if(#<length(ptL) % cflg==1,
- pt=ptL_#;
- pt1=parse("C"+text(#-1)+"q");
- tmp2="C"+text(#)+"p=2*pt-pt1";
- parse(tmp2);
- );
- );
- if(cflg==0,
- pt=ptL_1;
- pt1=ptL_2;
- Putpoint("C1p",(4*pt+pt1)/5,Lcrd(C1p)); // 16.08.16
- inspect(C1p,"ptsize",3);
- inspect(C1p,"color",3);
- );
- if(cflg==1,
- pt=ptL_1;
- pt1=Lcrd(parse("C"+text(length(ptL)-1)+"q")); // 16.08.16
- tmp1="Putpoint("+Dq+"C1p"+Dq+",2*pt-pt1)"; // 16.08.16
- parse(tmp1);
- );
- ctrlist=[];
- forall(1..(length(ptL)-1),
- tmp1="C"+text(#)+"p";
- tmp2="C"+text(#)+"q";
- inspect(parse(tmp2),"ptsize",3);
- inspect(parse(tmp2),"color",3);
- tmp=[parse(tmp1),parse(tmp2)];
- ctrlist=append(ctrlist,tmp);
- );
- Bezier(nm,ptL,ctrlist,options);
- [ptL,ctrlist];
-);
-
-Listbspline2bz(listorg):=(
- regional(Eps,list,pcl,ptl,ctrl,k);
- Eps=10^(-3);
- list=apply(listorg,Lcrd(#)); // 16.08.16
- k=length(list);
- if(|list_1-list_k|>Eps,
- pcl=list;
- pcl_1=2*list_1-list_2;
- pcl_k=2*list_k-list_(k-1);
- ,
- pcl=concat(list,[list_2]);
- );
- ctrl=apply(2..(length(pcl)-1),[pcl_#]);
- ptl=apply(1..(length(pcl)-1),(pcl_#+pcl_(#+1))/2);
- [ptl,ctrl];
-);
-
-Bspline(nm,ctrL):=Bspline(nm,ctrL,[]);
-Bspline(nm,ctrL,options):=(
-//help:Bspline("",[A,B,C]);
- regional(list,tmp);
- list=Listbspline2bz(ctrL);
- tmp=BezierCurve("b"+nm,list_1,list_2,options);
- tmp;
-);
-
-MeetCurve(Crv,Xorg,Yorg):=(
- regional(Cv,tmp,tmp1,tmp2,X0,Y0,x1,x2,y1,y2,Ylist,Ban,Tate);
- if(isstring(Crv),Cv=parse(Crv),Cv=Crv);
- if(MeasureDepth(Cv)==2,Cv=Cv_1);
- Cv=apply(Cv,LLcrd(#)); // 14.12.18
- while(length(Cv)==1,
- Cv=Cv_1;
- );
- Cv=apply(Cv,Lcrd(#));
- tmp1=min(apply(Cv,#_1));
- tmp2=max(apply(Cv,#_1));
- if(isstring(Xorg),X0=parse(Xorg),X0=Xorg);
- if(isstring(Yorg),Y0=parse(Yorg),Y0=Yorg);
- if(X0<tmp1,
- X0=tmp1;
- ,
- if(X0>tmp2,
- X0=tmp2;
- );
- );
- tmp1=select(
- 1..(length(Cv)-1),Cv_#_1<=X0 & X0<=Cv_(#+1)_1);
- tmp2=select(
- 1..(length(Cv)-1),Cv_#_1>=X0 & X0>=Cv_(#+1)_1);
- tmp2=remove(tmp2,common(tmp2,tmp1));
- Ban=concat(tmp1,tmp2);
- Tate=select(Ban,
- abs(Cv_#_1-Cv_(#+1)_1)<=
- 10^(-2)*abs(Cv_#_2-Cv_(#+1)_2)
- );
- Ban=remove(Ban,Tate);
- Ylist=[];
- forall(Ban,
- tmp=Cv_#;
- x1=tmp_1; y1=tmp_2;
- tmp=Cv_(#+1);
- x2=tmp_1; y2=tmp_2;
- tmp=((x2-X0)*y1+(X0-x1)*y2)/(x2-x1);
- Ylist=append(Ylist,tmp);
- );
- forall(Tate,
- tmp=Cv_#;
- x1=tmp_1; y1=tmp_2;
- tmp=Cv_(#+1);
- x2=tmp_1; y2=tmp_2;
- tmp1=min([y1,y2]);
- tmp2=max([y1,y2]);
- if(Y0<tmp1,
- tmp=tmp1;
- ,
- if(Y0>tmp2,
- tmp=tmp2;
- ,
- tmp=Y0;
- );
- );
- Ylist=append(Ylist,tmp);
- );
- tmp=sort(Ylist,abs(#_1-Y0));
- [X0,tmp_1];
-);
-
-PutonLine(name,p1,p2):=PutonLine(name,p1,p2,[]);
-PutonLine(name,p1org,p2org,options):=(
-//help:PutonLine("C","sgAB");
-//help:PutonLine("C",pA,pB);
- regional(par,p1,p2,dx,dy,tmp,tmp1,tmp2);
- par=0.5;
- tmp=Divoptions(options);
- if(length(tmp_6)>0,
- par=tmp_6_1;
- );
- p1=Lcrd(p1org);//16.10.11from
- p2=Lcrd(p2org);
- dx=p2_1-p1_1;
- dy=p2_2-p1_2;
- tmp1=(1-par)*p1+par*p2;
- if(abs(dx)>abs(dy),
- tmp=name+".x";
- tmp2="["+tmp+",dy/dx*("+tmp+"-p1_1)+p1_2]";//16.10.11until
- Putpoint(name,tmp1,parse(tmp2));
- ,
- if(abs(dy)>0,
- tmp=name+".y";
- tmp2="[dx/dy*("+tmp+"-p1.y)+p1_1,"+tmp+"]";
- Putpoint(name,tmp1,parse(tmp2));
- ,
- tmp2=p1;//16.10.11
- Putpoint(name,tmp1,tmp2);
- );
- );
-);
-
-PutonSeg(name,sgstr):=(
- regional(seg,p1,p2);
- if(isstring(sgstr),seg=parse(sgstr),seg=sgstr);
- PutonSeg(name,LLcrd(seg_1),LLcrd(seg_2));
-);
-PutonSeg(name,p1,p2):=PutonSeg(name,p1,p2,[]);
-PutonSeg(name,p1org,p2org,options):=(
-//help:PutonSeg("C","sgAB");
-//help:PutonSeg("C",pA,pB);
- regional(par,dx,dy,p,tmp,tmp1,tmp2);
- par=0.5;
- tmp=Divoptions(options);
- if(length(tmp_6)>0,
- par=tmp_6_1;
- );
- p1=Lcrd(p1org);//16.10.11from
- p2=Lcrd(p2org);
- PutonLine(name,p1,p2,[par]);
- dx=p2_1-p1_1;
- dy=p2_2-p1_2;
- p=parse(name+".xy");
- p=LLcrd(p);
- if(abs(dx)>abs(dy) & (p_1-p1_1)*(p_1-p2_1)>0,
- if(|p-p1|<|p-p2|,
- parse(name+".xy=Pcrd(p1)");
- ,
- parse(name+".xy=Pcrd(p2)");
- );
- );
- if(abs(dx)<abs(dy) & (p_2-p1_2)*(p_2-p2_2)>0,
- if(|p-p1|<|p-p2|,
- parse(name+".xy=Pcrd(p1)");
- ,
- parse(name+".xy=Pcrd(p2)");//16.10.11until
- );
- );
-);
-
-PutonCurve(pn,crv):=PutonCurve(pn,crv,[]);
-PutonCurve(pn,crv,options):=(
-//help:PutonCurve("A","gr1");
- regional(Pmt,pstr,optionL,leftlim,rightlim,tmp,tmp1,Flg,Msg);
- if(!islist(options),optionL=[options],optionL=options);
- leftlim=XMIN;
- rightlim=XMAX;
- Flg=0;
- Msg="y";
- forall(optionL,
- if(isstring(#), // 16.02.10 from
- tmp=indexof(#,"=");
- tmp1=Toupper(substring(#,tmp,tmp+1));
- if(tmp1=="N", Msg="n"); // 16.02.10 until
- ,
- if(Flg==0,
- leftlim=#;
- Flg=Flg+1;
- ,
- rightlim=#;
- );
- );
- );
- Pmt=MeetCurve(crv,leftlim,0);
- pstr=apply(allpoints(),textformat(#,5)); // 15.04.07
- if(!contains(pstr,pn),
- createpoint(pn,Pcrd(Pmt));
- ,
- tmp1=parse(pn+".x");
- if(tmp1< leftlim % tmp1>rightlim,
- if(tmp1< leftlim,tmp= leftlim, tmp=rightlim);
- Pmt=MeetCurve(crv,textformat(tmp,5),pn+".y");
- ,
- Pmt=MeetCurve(crv,pn+".x",pn+".y");
- );
- ptstr=pn+".xy="+textformat(Pcrd(Pmt),5)+";";
- parse(ptstr);
- );
- if(Msg=="y",
- println("Put "+pn+" on Curve "+text(crv));
- );
-);
-
-CrossPoint(name,Crv1,Crv2,range):=(
- regional(Mx1,Mx2,Mx3,tmp,Crs1,Crs2,Crs3,Crs4,df1,df2);
- Mx1=range_1; Mx2=range_2;
- repeat(15,
- Mx3=(Mx1+Mx2)/2;
- Crs1=MeetCurve(Crv1,Mx1,0);
- Crs2=MeetCurve(Crv2,Mx1,0);
- Crs3=MeetCurve(Crv1,Mx3,0);
- Crs4=MeetCurve(Crv2,Mx3,0);
- df1=Crs1_2-Crs2_2;
- df2=Crs3_2-Crs4_2;
- if((df1>0 & df2>0) % (df1<0 & df2<0),
- Mx1=Mx3;
- ,
- Mx2=Mx3;
- );
- );
- Putpoint(name,Crs1);
-);
-
-Setscaling(sc):=(
-//help:Setscaling(3);
- SCALEX=1;
- SCALEY=sc;
- Com0th("Setscaling("+sc+")");
- Setwindow("Msg=no");
-);
-
-Periodfun(defL,rep):=Periodfun(defL,rep,[]);
-Periodfun(defL,rep,optionorg):=( // 16.11.24
-//help:Periodfun(["0",[-1,0],"1",1,[0,1],1],2(num of repetition),options);
-//help:Periodfun(options=["Con=y"]);
-//help:Periodfun(defL=[function string, range, devision number,...]);
- regional(nn,fun,range,num,options,nr,maxfun,
- tmp,tmp1,tmp2,eqL,connect,minx,maxx,pdata,Eps,prept);
- options=optionorg;
- tmp=Divoptions(options);
- eqL=tmp_5;
- connect="Y";
- forall(eqL,
- tmp=indexof(#,"=");
- tmp2=substring(#,tmp,tmp+1);
- tmp=substring(#,0,3);
- if(Toupper(tmp)=="CON",
- connect=Toupper(tmp2);
- options=remove(options,[#]);
- );
- );
- minx=10000;
- maxx=-10000;
- mxfun="";
- pdata=[];
- forall(1..(length(defL)/3),nn,
- fun=defL_(3*nn-2);
- range=defL_(3*nn-1);
- tmp1=if(isstring(range_1),parse(range_1),range_1); //17.06.11(2lines)
- tmp2=if(isstring(range_2),parse(range_2),range_2);
- minx=min(minx,tmp1);
- maxx=max(maxx,tmp2);
- num=defL_(3*nn);
- options=append(options,"Num="+text(num));
- Plotdata("pe"+text(nn),fun,
- "x="+textformat([tmp1,tmp2],5),options);
- pdata=append(pdata,"grpe"+text(nn));
- tmp1=range_1; //17.06.11(4lines)
- if(isstring(tmp1),tmp1=replace(tmp1,"pi","%pi"),tmp1=format(tmp1,5));
- tmp2=range_2;
- if(isstring(tmp2),tmp2=replace(tmp2,"pi","%pi"),tmp2=format(tmp2,5));
- mxfun=mxfun+"elseif ("+tmp1+
- "<=x and x<"+tmp2+") then "+fun+" ";
- );
- per=maxx-minx;
- forall(1..rep,nr,
- tmp1=[];
- forall(pdata,
- Translatedata("p"+#+text(nr),#,[per*nr,0],options);
- Translatedata("m"+#+text(nr),#,[-per*nr,0],options);
- tmp1=concat(tmp1,["trp"+#+text(nr),"trm"+#+text(nr)]);
- );
- );
- pdata=concat(pdata,tmp1);
- if(connect=="Y",
- Eps=10^(-5);
- pdata=sort(pdata,[parse(#)_1_1]);
- prept=parse(pdata_1)_1;
- forall(1..(length(pdata)),
- tmp=parse(pdata_#);
- tmp1=tmp_1;
- tmp2=tmp_(length(tmp));
- if(|prept-tmp1|>Eps,
- Listplot("con"+text(#),[prept,tmp1],append(options,"da"));
- );
- prept=tmp_(length(tmp));
- );
- );
- mxfun=substring(mxfun,4,length(mxfun)-1);
- [mxfun,per];
-);
-
-Fourierseries(nm,coeff,per,nterm):=
- Fourierseries(nm,coeff,per,nterm,[]); // 16.11.24
-Fourierseries(nm,coeff,per,nterm,options):=(
-//help:Fourierseries("1",[c0,cn,sn],period,numterm,options);
- regional(c0,cn,sn,fs,tmp,tmp1,tmp2);
- c0=coeff_1;
- if(!isstring(c0),c0=format(c0,5));
- c0=replace(c0,"%pi","pi");
- cn=coeff_2;
- if(!isstring(cn),cn=format(cn,5));
- cn=replace(cn,"%pi","pi");
- sn=coeff_3;
- if(!isstring(sn),sn=format(sn,5));
- sn=replace(sn,"%pi","pi");
- fs=c0;
- forall(1..nterm,
- tmp=parse(Assign(cn,["n",#]));
- tmp1=Assign("("+format(tmp,5)+")*cos(n*2*pi/per*x)",
- ["n",#,"per",per]);
- tmp=parse(Assign(sn,["n",#]));
- tmp2=Assign("("+format(tmp,5)+")*sin(n*2*pi/per*x)",
- ["n",#,"per",per]);
- fs=fs+"+"+tmp1+"+"+tmp2;
- );
- Plotdata("four"+nm,fs,"x",options);
-);
-
-Tabledatalight(nm,xLst,yLst,rmvL):=Tabledatalight(nm,xLst,yLst,rmvL,[]);
-Tabledatalight(nm,xLst,yLst,rmvL,optionorg):=(
-//help:Tabledatalight("",xLst,yLst,rmvL,[2,"Rng=y"]);
- regional(options,rng,name,upleft,ul,flg,tick,eqL,reL,n,m,xsize,ysize,
- rlist,clist,Tb,tmp,tmp1,tmp2,tmp3,Eps);
-// name="tb"+nm;
- name="tb";
- options=optionorg;
- tmp=Divoptions(options);
- eqL=tmp_5; //16.12.16from
- reL=tmp_6;
- rng="Y";
- forall(eqL,
- tmp=indexof(#,"=");
- tmp1=Toupper(substring(#,0,2));
- tmp2=Toupper(substring(#,tmp,tmp+1));
- if(tmp1=="RN",
- rng=tmp2;
- options=remove(options,[#]);
- );
- );//16.12.16until
- tick=1;
- flg=0;
- forall(reL,
- if(flg==0,
- tick=#;
- flg=flg+1;
- ,
- upleft=tmp_6_1;
- );
- );
- tmp=sum(yLst);
- upleft=[0,tmp];
- TableOptions=options; // 16.11.28
- println("Tabledatalight "+name+" generated");
- ul=upleft/10;
- m=length(xLst);
- n=length(yLst);
- xsize=sum(xLst);
- ysize=sum(yLst);
- clist=[ul];
- rlist=[ul];
- forall(1..m,
- tmp1=clist_(#)_1+xLst_#/10;
- clist=append(clist,[tmp1,clist_1_2]);
- );
- forall(1..n,
- tmp1=rlist_(#)_2-yLst_#/10;
- rlist=append(rlist,[0,tmp1]);
- );
- Tb=[clist,rlist];
- tmp=name+"="+Tb;
- parse(tmp);
- forall(0..m,
- tmp1="c"+text(#)+"r0";
- tmp2="c"+text(#)+"r"+text(n);
- Tlistplot("c"+text(#)+"r0r"+text(n),[tmp1,tmp2],options);
- if(mod(#,tick)==0 % #==m,
- tmp=clist_(#+1);
- drawtext(clist_(#+1)-[0.04,-0.1],"c"+text(#));
- );
- );
- forall(0..n,
- tmp1="c0r"+text(#);
- tmp2="c"+text(m)+"r"+text(#);
- Tlistplot("r"+text(#)+"c0c"+text(m),[tmp1,tmp2],options);
- if(mod(#,tick)==0 % #==n,
- tmp=rlist_(#+1);
- drawtext(rlist_(#+1)-[0.4,0.1],"r"+text(#));
- );
- );
- Tsegrmv(rmvL,options);
- Addax(0);
- Eps=10^(-3);
- tmp1=clist_(length(clist));
- tmp2=rlist_1;
- tmp3=rlist_(length(rlist));
- if(rng=="Y", // 16.12.16
- Setwindow([0-Eps,tmp1_1+Eps],[tmp3_2-Eps,tmp2_2+Eps]);
- );
- Tb;
-);
-
-Tabledata(nm,n,m,xsize,ysize,rmvL):=
- Tabledata(nm,n,m,xsize,ysize,rmvL,[]);
-Tabledata(nm,n,m,xsize,ysize,rmvL,options):=(
- regional(Tb,name,tmp,xLst,yLst);
- name="tb"+nm;
- xLst=apply(1..n,xsize/n);
- yLst=apply(1..m,ysize/m);
- Tabledata(nm,xLst,yLst,rmvL,options)
-);
-Tabledata(nm,xLst,yLst,rmvL):=Tabledata(nm,xLst,yLst,rmvL,[]);
-Tabledata(nm,xLst,yLst,rmvL,optionorg):=(
-//help:Tabledata("",xLst,yLst,rmvL,[2,"Rng=y"]);
- regional(name,options,eqL,reL,rng,upleft,ul,flg,tick,n,m,xsize,ysize,
- rlist,clist,Tb,tmp,tmp1,tmp2,tmp3,Eps);
-// name="tb"+nm;
- name="tb";
- tmp=sum(yLst);
- upleft=[0,tmp];
- options=optionorg;
- tmp=Divoptions(options);
- eqL=tmp_5; //16.12.16from
- reL=tmp_6;
- rng="Y";
- forall(eqL,
- tmp=indexof(#,"=");
- tmp1=Toupper(substring(#,0,2));
- tmp2=Toupper(substring(#,tmp,tmp+1));
- if(tmp1=="RN",
- rng=tmp2;
- options=remove(options,[#]);
- );
- );//16.12.16until
- tick=1;
- flg=0;
- forall(reL,
- if(flg==0,
- tick=#;
- flg=flg+1;
- ,
- upleft=tmp_6_1;
- );
- );
- TableOptions=options; // 16.11.28
- println("Tabledata "+name+" generated");
- ul=upleft/10;
- m=length(xLst);
- n=length(yLst);
- xsize=sum(xLst);
- ysize=sum(yLst);
- clist=[ul];
- rlist=[ul];
- forall(1..m,
- tmp1=clist_(#)_1+xLst_#/10;
- clist=append(clist,[tmp1,clist_1_2]);
- );
- forall(1..n,
- tmp1=rlist_(#)_2-yLst_#/10;
- rlist=append(rlist,[0,tmp1]);
- );
- Tb=[clist,rlist];
- tmp=name+"="+Tb;
- parse(tmp);
- forall(0..m,
- tmp="C"+text(#);
- tmp1="c"+text(#)+"r0";
- if(#==0,
- Putpoint(tmp,Tgrid(tmp1));
- ,
- Putpoint(tmp,Tgrid(tmp1),[parse(tmp+".x"),C0.y]);
- clist_(#+1)=parse(tmp+".xy");
- );
- inspect(parse(tmp),"ptsize",3);
- inspect(parse(tmp),"labeled",false);
- if(mod(#,tick)==0 % #==m,
- tmp=clist_(#+1);
- drawtext(clist_(#+1)-[0.04,-0.1],"c"+text(#));
- );
- );
- forall(0..n,
- tmp="R"+text(#);
- tmp1="c0r"+text(#);
- if(#==0,
- Putpoint(tmp,Tgrid(tmp1));
- ,
- Putpoint(tmp,Tgrid(tmp1),[R0.x,parse(tmp+".y")]);
- rlist_(#+1)=parse(tmp+".xy");
- );
- Putpoint(tmp,Tgrid(tmp1),[R0.x,parse(tmp+".y")]);
- inspect(parse(tmp),"ptsize",3);
- inspect(parse(tmp),"labeled",false);
- if(mod(#,tick)==0 % #==n,
- tmp=rlist_(#+1);
- drawtext(rlist_(#+1)-[0.4,0.1],"r"+text(#));
- );
- );
- Tb=[clist,rlist];
- tmp=name+"="+Tb;
- parse(tmp);
- forall(0..m,
- tmp1="c"+text(#)+"r0";
- tmp2="c"+text(#)+"r"+text(n);
- Tlistplot("c"+text(#)+"r0r"+text(n),[tmp1,tmp2],options);
- if(#<m,
- tmp1=parse("C"+text(#));
- tmp2=parse("C"+text(#+1));
- tmp=(tmp1.xy+tmp2.xy)/2;
- drawtext(tmp+[-0.2,0.5],text((tmp2.x-tmp1.x)*10));
- );
- );
- forall(0..n,
- tmp1="c0r"+text(#);
- tmp2="c"+text(m)+"r"+text(#);
- Tlistplot("r"+text(#)+"c0c"+text(m),[tmp1,tmp2],options);
- if(#<n,
- tmp1=parse("R"+text(#));
- tmp2=parse("R"+text(#+1));
- tmp=(tmp1.xy+tmp2.xy)/2;
- drawtext(tmp-[1.2,0.1],text(abs(tmp1.y-tmp2.y)*10));
- );
- );
- Tsegrmv(rmvL,options);
- Addax(0);
- Eps=10^(-3);
- tmp1=clist_(length(clist));
- tmp2=rlist_1;
- tmp3=rlist_(length(rlist)); // 15.06.11
- if(rng=="Y", // 16.12.16
- Setwindow([0-Eps,tmp1_1+Eps],[tmp3_2-Eps,tmp2_2+Eps]);
- );
- Tb;
-);
-
-Tseginfo(seg):=(
- regional(cr,tp,tpc,n1,n2,n3,tmp,tmp1,tmp2);
- if(substring(seg,0,2)=="sg",
- cr=substring(seg,2,length(seg));
- ,
- cr=seg;
- );
- tp=substring(cr,0,1);
- if(tp=="c",
- tpc="r";
- ,
- tpc="c";
- );
- tmp1=indexof(cr,tpc);
- tmp=substring(cr,tmp1,length(cr));
- tmp2=tmp1+indexof(tmp,tpc);
- n1=substring(cr,1,tmp1-1);
- n2=substring(cr,tmp1,tmp2-1);
- n3=substring(cr,tmp2,length(cr));
- [tp+n1,tpc,parse(n2),parse(n3)];
-);
-
-Tsegrmv(rmvL):=Tsegrmv(rmvL,[]);
-Tsegrmv(rmvL,options):=(
- regional(cr,gcL,flg,gc,hd,tail,tpc,m1,m2,n1,n2,tmp,tmp1,tmp2);
- forall(rmvL,cr,
- tmp1=Tseginfo(cr);
- hd=tmp1_1;
- tpc=tmp1_2;
- m1=tmp1_3;
- m2=tmp1_4;
- gcL=select(GCLIST,Tseginfo(#_1)_1==tmp1_1);
- flg=0;
- forall(gcL,
- if(flg==0,
- tmp=Tseginfo(#_1);
- n1=tmp_3;
- n2=tmp_4;
- if(m1>=n1 & m2<=n2,
- gc=#;
- flg=1;
- );
- );
- );
- if(flg==1,
- Changestyle([gc_1],["nodisp"]);
- tail="";
- if(indexof(hd,"r")>0,
- tail=hd; hd="";
- );
- if(n1<m1,
- tmp1=tpc+text(n1);
- tmp2=tpc+text(m1);
- tmp=hd+tail+tmp1+tmp2;
- Tlistplot(tmp,[hd+tmp1+tail,hd+tmp2+tail],options);
- );
- if(m2<n2,
- tmp1=tpc+text(m2);
- tmp2=tpc+text(n2);
- tmp=hd+tail+tmp1+tmp2;
- Tlistplot(tmp,[hd+tmp1+tail,hd+tmp2+tail],options);
- );
- );
- );
-);
-
-Tgrid(ptstr):=(
-//help:Tgrid("c2r5");
- regional(tmp,tmp1,tmp2);
- tmp=parse(ptstr);
- if(islist(tmp),
- tmp;
- ,
- tmp=indexof(ptstr,"r");
- tmp1=substring(ptstr,1,tmp-1);
- tmp1=parse(tmp1);
- tmp2=substring(ptstr,tmp,length(ptstr));
- tmp2=parse(tmp2);
- [tb_1_(tmp1+1)_1,tb_2_(tmp2+1)_2];
- );
-);
-
-Tlistplot(ptL):=Tlistplot(ptL,[]);
-Tlistplot(Ag1,Ag2):=(
- regional(nm,ptL,options);
- if(isstring(Ag1),
- nm=Ag1;
- ptL=Ag2;
- options=[];
- ,
- ptL=Ag1;
- options=Ag2;
- nm=ptL_1+ptL_2;
- );
- Tlistplot(nm,ptL,options);
-);
-Tlistplot(nm,ptL,options):=(
-//help:Tlistplot(["c0r0","c0r4"]);
-//help:Tlistplot("1",["c0r0","c0r4"]);
-//help:Tlistplot([options2="Msg=y"]);
- regional(tmp,tmp1);
- tmp1=divoptions(options);//180404from
- tmp1=tmp1_5;
- tmp1=apply(tmp1,Toupper(substring(#,0,1)));
- if(contains(tmp1,"M"),
- tmp1=options;
- ,
- tmp1=append(options,"Msg=n");
- );//180404to
- tmp=apply(ptL,Tgrid(#)); // 15.06.03
- Listplot(nm,tmp,tmp1);
-);
-
-ChangeTablestyle(nameL,style):=(
-////help:ChangeTablestyle(["r0c0c3"],["da"]);
- regional(nmL,grid,head,sb,tmp,tmp1,tmp2,
- tsg,segall,sg,str);
- if(islist(nameL),nmL=nameL,nmL=[nameL]);
- forall(nmL,grid,
- if(substring(grid,0,1)=="r",sb="c",sb="r");
- tmp=Indexall(grid,sb);
- head=substring(grid,0,tmp_1-1);
- tmp1=substring(grid,tmp_1,tmp_2-1);
- tmp2=substring(grid,tmp_2,length(grid));
- tsg=apply([tmp1,tmp2],parse(#));
- tmp1=apply(GCLIST,#_1); // 16.12.06from
- segall=[];
- forall(tmp1,
- tmp2=substring(#,2,length(#));
- tmp=indexof(tmp2,sb);
- tmp2=substring(tmp2,0,tmp-1);
- if(head==tmp2,segall=append(segall,#));
- );// 16.12.06until
- sg=[];
- forall(segall,
- tmp=Indexall(#,sb);
- tmp1=substring(#,tmp_1,tmp_2-1);
- tmp2=substring(#,tmp_2,length(#));
- tmp=apply([tmp1,tmp2],parse(#));
- if((tsg_1>=tmp_1) & (tsg_2<=tmp_2),
- sg=tmp;
- Changestyle(#,["nodisp"]);
- );
- );
- if(length(sg)==0,
- println("No segment includes "+grid);
- ,
- if(sb=="c",str=sb+"no"+head,str=head+sb+"no");
- if(sg_1<tsg_1,
- tmp1=replace(str,"no",text(sg_1));
- tmp2=replace(str,"no",text(tsg_1));
- tmp=head+sb+text(sg_1)+"c"+text(tsg_1);
- Tlistplot(tmp,[tmp1,tmp2],TableOptions);
- );
- tmp1=replace(str,"no",text(tsg_1));
- tmp2=replace(str,"no",text(tsg_2));
- tmp=head+"c"+text(tsg_1)+"c"+text(tsg_2);
- Tlistplot(tmp,[tmp1,tmp2],style);
- if(tsg_2<sg_2,
- tmp1=replace(str,"no",text(tsg_2));
- tmp2=replace(str,"no",text(sg_2));
- tmp=head+"c"+text(tsg_2)+"c"+text(sg_2);
- Tlistplot(tmp,[tmp1,tmp2],TableOptions);
- );
- );
- );
-);
-
-Findcell(pos1,pos2):=Findcell("",pos1,pos2);
-Findcell(Tbdata,pos1,pos2):=(
-//help:Findcell("c0r0","c2r1");
- regional(tmp1,tmp2,posnw,posse,ctr,dx,dy);
- if(isstring(pos1),
- posnw=Tgrid(pos1); // 15.05.20
- posse=Tgrid(pos2);
- //posnw=parse(pos1);
- //posse=parse(pos2);
- ,
- if(islist(pos1),
- posnw=pos1;
- posse=pos2;
- ,
- tmp1="c"+text(pos1-1)+"r"+text(pos2-1);
- tmp2="c"+text(pos1)+"r"+text(pos2);
- posnw=Tgrid(tmp1);
- posse=Tgrid(tmp2);
-// posnw=parse(tmp1);
-// posse=parse(tmp2);
- );
- );
- ctr=(posnw+posse)/2;
- dx=abs(posse_1-ctr_1);
- dy=abs(posnw_2-ctr_2);
- [ctr,dx,dy];
-);
-
-Putcell(pos1,pos2,dir,lttr):=Putcell("",pos1,pos2,dir,lttr);
-Putcell(Tbdata,pos1,pos2,dir,lttr):=(
-//help:Putcell("c0r0","c2r1","lt","abc");
-//help:Putcell(2,3,"c","xyz");
- regional(tmp,tmp1,tmp2,posnw,posse,
- posdir,posstr,ctr,dx,dy);
- tmp=Findcell(Tbdata,pos1,pos2);
- ctr=tmp_1; dx=tmp_2; dy=tmp_3;
- posdir=ctr;
- posstr=dir;
- if(indexof(dir,"b")>0,
- posdir_2=posdir_2-dy;
- posstr=replace(posstr,"b","n");
- );
- if(indexof(dir,"t")>0,
- posdir_2=posdir_2+dy;
- posstr=replace(posstr,"t","s");
- );
- if(indexof(dir,"l")>0,
- posdir_1=posdir_1-dx;
- posstr=replace(posstr,"l","e");
- );
- if(indexof(dir,"r")>0,
- posdir_1=posdir_1+dx;
- posstr=replace(posstr,"r","w");
- );
- Letter(posdir,posstr,text(lttr));
-);
-
-Putcellexpr(pos1,pos2,dir,ex):=Putcellexpr("",pos1,pos2,dir,ex);
-Putcellexpr(Tbdata,pos1,pos2,dir,ex):=(
-//help:Putcellexpr("c0r0","c2r1","lt","abc");
-//help:Putcellexpr(2,3,"c","\sin x");
- Putcell(Tbdata,pos1,pos2,dir,"$"+text(ex)+"$");
-);
-
-Putrow(nrow,dir,lttrL):=Putrow("",nrow,dir,lttrL);
-Putrow(Tbdata,nrow,dir,lttrL):=(
-//help:Putrow(1,"c",["x","y","z"]);
- regional(tmp,tmp1,mcol);
- mcol=length(lttrL);
- forall(1..mcol,
- Putcell(Tbdata,#,nrow,dir,lttrL_#);
- );
-);
-
-Putrowexpr(nrow,dir,exL):=Putrowexpr("",nrow,dir,exL);
-Putrowexpr(Tbdata,nrow,dir,exL):=(
-//help:Putrowexpr(2,"r",["x","y","z"]);
- regional(lttrL);
- lttrL=apply(exL,"$"+#+"$");
- Putrow(Tbdata,nrow,dir,lttrL);
-);
-
-PutcoL(mcol,dir,lttrL):=PutcoL("",mcol,dir,lttrL);
-PutcoL(Tbdata,mcol,dir,lttrL):=(
-//help:PutcoL(1,"c",["x","y","z"]);
- regional(tmp,tmp1,nrow);
- nrow=length(lttrL);
- forall(1..nrow,
- Putcell(Tbdata,mcol,#,dir,lttrL_#);
- );
-);
-PutcoLexpr(mcol,dir,exL):=PutcoLexpr("",mcol,dir,exL);
-PutcoLexpr(Tbdata,mcol,dir,exL):=(
-//help:PutcoLexpr(2,"r",["x","y","z"]);
- regional(lttrL);
- lttrL=apply(exL,"$"+#+"$");
- PutcoL(Tbdata,mcol,dir,lttrL);
-);
-
-Setrange():=(
-//help:Setrange();
- SW.xy=Pcrd([XMIN,YMIN]);
- NE.xy=Pcrd([XMAX,YMAX]);
- drawpoly([Pcrd([XMIN,YMIN]), Pcrd([XMAX,YMIN]),
- Pcrd([XMAX,YMAX]),Pcrd([XMIN,YMAX])],color->[1,1,1]);
-);
-
-Sciform(list):=(
- regional(plotlist,comp,pos,out,out2,nn,strL,flg,
- tmp,tmp1,tmp2,tmp3,Nj);
- plotlist=Flatten([list]);
- out=replace(plotlist_1,".xy","");
- out=replace(out,".x","(1)");
- out=replace(out,".y","(2)");
- if(length(plotlist)==1,
- comp=[];
- forall(1..length(out),
- comp=append(comp,substring(out,#-1,#));
- );
- out="";
- pos=0;
- forall(comp,
- if(#!="'",
- out=out+#;
- ,
- if(pos==0,
- tmp=indexof(out,"Assign(");
- if(substring(out,length(out)-7,length(out))=="Assign(",
- out=out+"'";
- pos=1;
- ,
- out=out+"Assign('";
- pos=2;
- );
- ,
- if(pos==2,
- out=out+"')";
- ,
- out=out+"'";
- );
- pos=0;
- );
- );
- );
- ,
- forall(2..length(plotlist),
- comp=plotlist_#;
- if(isstring(comp),
- pos=indexof(comp,"Assign(");
- if(pos>0,
- comp=substring(comp,6,length(comp));
- );
- out=out+"Assign(";
- comp=replace(comp,".xy","");
- comp=replace(comp,".x","(1)");
- comp=replace(comp,".y","(2)");
- out=out+"'"+comp+"'";
- out=out+"),";
- );
- if(islist(comp),
- forall(comp,
- out=out+"'"+#+"',";
- );
- );
- );
- if(length(plotlist)>1,
- out=substring(out,0,length(out)-1);
- out=out+");";
- );
- );
- pos=[];
- forall(1..length(out),
- tmp=indexof(substring(out,#-1,length(out)),"Assign");
- if(tmp>0,
- tmp1=#-1+tmp;
- if(length(pos)==0,
- pos=[tmp1];
- ,
- if(pos_(length(pos))<tmp1,
- pos=append(pos,tmp1);
- );
- );
- );
- );
- if(length(pos)>0,
- strL=[];
- Nj=0;
- forall(pos,
- tmp=substring(out,Nj,#-1);
- strL=append(strL,tmp);
- Nj=#-1;
- );
- strL=append(strL,substring(out,Nj,length(out)));
- out="";
- forall(strL,
- if(indexof(#,"Assign")==0,
- out=out+#;
- ,
- tmp=indexof(#,"('");
- tmp1=indexof(#,"')");
- tmp2=substring(#,tmp+1,tmp1-2);
- tmp3=substring(#,tmp1-2,length(#));
- if(indexof(tmp2,"=")==0,
- out=out+#;
- ,
- tmp=substring(tmp2,0,indexof(tmp2,"="));
- out=out+"'"+tmp+"'+"+"Assign('";
- tmp=substring(tmp2,indexof(tmp2,"="),length(tmp2));
- out=out+tmp+tmp3;
- );
- );
- );
- );
- out2=""; // patched 16.01.21 from
- nn=length(out);
- flg=0;
- forall(1..nn,
- if(flg==0,
- tmp=indexof(out,"='+Assign('");
- if(tmp==0,
- out2=out2+out;
- flg=1;
- ,
- out2=out2+substring(out,0,tmp);
- out=substring(out,tmp+10,length(out));
- tmp=indexof(out,"'"); // 16.04.19 from
- tmp1=substring(out,0,tmp-1);
- tmp2="1234567890";
- tmp=apply(1..length(tmp1),
- indexof(tmp2,substring(tmp1,#-1,#)));
- tmp=min(tmp);
- if(tmp==0, // 16.04.19 until
- out2=out2+"'+Assign('";
- ,
- tmp=indexof(out,"'");
- out=substring(out,0,tmp)+substring(out,tmp+1,length(out));
- // 16.04.18 until
- );
- );
- );
- );
- out2=replace(out2,"Dist=","D=");
- out2=replace(out2,"Dis=","D=");
- out2;
-);
-
-RSform(str):=RSform(str,3);
-RSform(str,listfrom):=(
-//help:RSform(string,listfrom);
- regional(posL,mxlv,rep1,rep2,rep3,prev,out,
- tmp,tmp1,tmp2);
- rep1="c("; rep2="c("; rep3="list(";
- if(listfrom<3,rep2="list(");
- if(listfrom==1,rep1="list(");
- posL=Bracket(str,"[]");
- tmp=apply(posL,#_2);
- mxlv=max(tmp);
- out="";
- prev=0;
- forall(posL,
- out=out+substring(str,prev,#_1-1);
- prev=#_1;
- if(#_2>0,
- tmp1=select(posL,tmp,(tmp_2<0)&(tmp_1>#_1));
- tmp1=tmp1_1_1;
- tmp=substring(str,#_1,tmp1);
- if(#_2==mxlv,out=out+rep1);
- if(#_2==mxlv-1,out=out+rep2);
- if(#_2<=mxlv-2,out=out+rep3);
- ,
- out=out+")";
- );
- );
- out=out+substring(str,prev,length(str));
- out=replace(out,".xy","");
- out=replace(out,".x","[1]");
- out=replace(out,".y","[2]");
- out=replace(out,"c(1)","[1]");//17.10.06(2lines)
- out=replace(out,"c(2)","[2]");
- out;
-);
-
-RSslash(str):=( //17.09.24
- regional(tmp);
- tmp=replace(str,"\","\\");
-// tmp=replace(tmp,"\\\\","\\");
- tmp;
-);
-
-Rform(list):=(
- regional(plotlist,comp,pos,out,strL,tmp,tmp1,tmp2,tmp3,Nj);
- out=list;
- out=replace(out,"[[[","list([[");
- out=replace(out,"[","c(");
- out=replace(out,"]",")");
- out=replace(out,".xy","");
- out=replace(out,".x","[1]");
- out=replace(out,".y","[2]");
- out;
-);
-
-Defvar(varstr):=(
- regional(name,value,tmp,tmp1);
- if(isstring(varstr),
- parse(varstr);
- tmp=indexof(varstr,"=");
- name=substring(varstr,0,tmp-1);
- value=substring(varstr,tmp,length(varstr));
- value=parse(value);
- tmp1=select(1..length(VLIST),VLIST_#_1==name);
- if(length(tmp1)>0,
- tmp=tmp1_1;
- VLIST_tmp=[name,value];
- ,
- VLIST=prepend([name,value],VLIST);
- );
- ,
- forall(1..(length(varstr)/2), // 16.11.16from
- name=varstr_(2*#-1);
- value=varstr_(2*#);
- Defvar(name,value);
- ); // 16.11.16until
- );
-);
-
-Defvar(name,value):=(
-//help:Defvar("a",0.3);
-//help:Defvar(["a",0.3,"b",2]);
- regional(tmp,tmp1);
- if(islist(value),
- tmp1="[";
- forall(value,
- if(isstring(#), // 16.11.14
- tmp1=tmp1+Dq+#+Dq+","; // 16.11.14
- ,
- tmp1=tmp1+format(#,5)+",";
- );
- );
- tmp1=substring(tmp1,0,length(tmp1)-1)+"]";
- ,
- tmp1=format(value,5);
- );
- tmp=name+"="+tmp1; // 15.02.06
- parse(tmp);
- VLIST=select(VLIST,#_1!=name); // 15.02.08
- VLIST=prepend([name,value],VLIST);
-);
-
-IftoR(strorg):=(
- regional(str,pre,post,sub,ppL,ifstr,out,tmp,tmp1,tmp2);
- str=strorg;
- ifstr=indexof(str,"if(");
- if(ifstr==0,
- out=replace(str,",","}else{");
- ,
- pre=substring(str,0,ifstr-1)+"if(";
- ppL=Bracket(str,"()");
- tmp1=ifstr+2;
- tmp=select(ppL,#_1==tmp1);
- tmp=select(ppL,#_2==-tmp_1_2);
- tmp2=tmp_1_1;
- sub=substring(str,tmp1,tmp2-1);
- post="}"+substring(str,tmp2,length(str));
- tmp=indexof(sub,",");
- tmp1=substring(sub,0,tmp-1);
- tmp2=substring(sub,tmp,length(sub));
- sub=tmp1+"){"+tmp2;
- tmp=IftoR(sub);
- out=pre+tmp+"}";
- );
- out;
-);
-
-FortoR(strorg):=(
- regional(str,pre,post,sub,ppL,forstr,out,tmp,tmp1,tmp2);
- str=strorg;
- forstr=indexof(str,"forall(");
- if(forstr==0,
- out=str;
- ,
- pre=substring(str,0,forstr-1)+"for(";
- ppL=Bracket(str,"()");
- tmp1=forstr+6;
- tmp=select(ppL,#_1==tmp1);
- tmp=select(ppL,#_2==-tmp_1_2);
- tmp2=tmp_1_1;
- sub=substring(str,tmp1,tmp2-1);
- post="}"+substring(str,tmp2,length(str));
- tmp=indexof(sub,",");
- tmp1=substring(sub,0,tmp-1);
- tmp2=substring(sub,tmp,length(sub));
- sub=tmp1+"){"+tmp2;
- tmp1=indexof(sub,"{");
- tmp2=indexof(sub,",");
- tmp=substring(sub,tmp1,tmp2-1);
- pre=pre+tmp+" in "+substring(sub,0,tmp1-1)+"{";
- sub=substring(sub,tmp2,length(sub));
- tmp=FortoR(sub);
- out=pre+tmp+"}";
- );
- out=replace(out,"..",":");
- out;
-);
-
-Deffun(name,bodylist):=(
-//help:Deffun("f(x)",["regional(y)","y=x^2*(x-3)","y"]);
- regional(funstr,str,Pos,nbody,bdy,ppL,bpL,excma,tmp,tmp1,tmp2);
- funstr=name+":=(";
- forall(bodylist,
- funstr=funstr+#+";";
- );
- funstr=funstr+");";
- parse(funstr);
- tmp=indexof(name,"(");
- str=substring(name,0,tmp-1)+"<-function(";
- str=str+substring(name,tmp,length(name))+"{";
- forall(1..(length(bodylist)-1),nbody,
- bdy=bodylist_nbody;
- Pos=indexof(bdy,"regional")+indexof(bdy,"local");
- if(Pos==0,
- bdy=replace(bdy,LFmark,"");
- bdy=replace(bdy," ","");
- ppL=Bracket(bdy,"()");
- bpL=Bracket(bdy,"[]");
- tmp1=select(bpL,#_2==1);
- tmp2=select(bpL,#_2==-1);
- excma=[];
- forall(1..(length(tmp1)),
- excma=append(excma,[tmp1_#_1,tmp2_#_1]);
- );
- tmp1=Indexall(bdy,",");
- forall(tmp1,cma,
- tmp=select(excma,(#_1<cma)&(cma<#_2));
- if(length(tmp)>0,
- bdy=substring(bdy,0,cma-1)+"'"+substring(bdy,cma,length(bdy));
- );
- );
- tmp=indexof(bdy,"forall");
- if(tmp>0,
- bdy=FortoR(bdy);
- );
- tmp=indexof(bdy,"if(");
- if(tmp>0,
- bdy=IftoR(bdy);
- );
- bdy=RSform(replace(bdy,"'",","));
- str=str+bdy+";";
- );
- );
- str=str+"return("+bodylist_(length(bodylist))+")}";
- FUNLIST=append(FUNLIST,str);
-);
-
-Windispg():=(
- regional(Nj,Nk,Dt,Vj,tmp,tmp1,tmp2,opcindy);
- gsave();
- layer(KETPIClayer);
- forall(GCLIST,Nj,
- if(isstring(Nj_1),Dt=parse(Nj_1),Dt=Nj_1); // 11.17
- if(islist(Dt) & length(Dt)>0, // 12.19,12.22
- tmp=MeasureDepth(Dt);
- if(tmp==1,Dt=[Dt]);
- opcindy=Nj_3;
- if(Nj_2<0,tmp1=0,tmp1=Nj_2);
- if(tmp1<10,
- forall(Dt,Nk,
-// tmp2=apply(Nk,if(ispoint(#),Lcrd(#),#));
-// tmp2=apply(tmp2,Pcrd(#));
- tmp2=Nk; // 14.12.04
- if(length(Nk)>1,
- tmp="connect("+textformat(tmp2,5)+
- ",dashtype->"+text(tmp1)+",linecolor->"+KCOLOR+opcindy+")";
- parse(tmp);
- ,
- if(length(Nk)==1,
- tmp="draw("+text(tmp2_1)+opcindy+")"; // 14.12.31
- parse(tmp);
- );
- );
- );
- );
- );
- );
-// if(ADDAXES=="1", // 16.10.08from
-// draw([XMIN,0],[XMAX,0],color->[0,0.2,0]);
-// draw([0,YMIIN],[0,YMAX],color->[0,0.2,0]);
-// Letter([[XMAX,0],"e","x",[0,YMAX],"n","y"]);
-// Letter([[0,0],"sw","O"]);
-// ); // 16.10.08until
- grestore();
- layer(0);
-);
-
-Windispg(pltdata):=(
- regional(pdata,Nj,Nk,Dt,tmp,tmp1,tmp2,opcindy);
- gsave();
- layer(KETPIClayer);
- if(!islist(pltdata),tmp=[pltdata],tmp=pltdata);
- pdata=select(GCLIST,contains(tmp,#_1));
- forall(pdata,Nj,
- if(isstring(Nj_1),Dt=parse(Nj_1),Dt=Nj_1); // 11.17
- if(islist(Dt) & length(Dt)>0, // 12.19,12.22
- tmp=MeasureDepth(Dt);
- if(tmp==1,Dt=[Dt]);
- opcindy=Nj_3;
- if(Nj_2<0,tmp1=0,tmp1=Nj_2);
- if(tmp1<10,
- forall(Dt,Nk,
- tmp2=Nk; // 14.12.04
- if(length(Nk)>1,
- tmp="connect("+textformat(tmp2,5)+ // 15.05.11
- ",dashtype->"+text(tmp1)+
- ",linecolor->"+KCOLOR+opcindy+")";
- parse(tmp);
- ,
- if(length(Nk)==1,
- tmp="draw("+text(tmp2_1)+opcindy+")"; // 14.12.31
- parse(tmp);
- );
- );
- );
- );
- );
- );
- grestore();
- layer(0);
-);
-
-WritetoSci():=WritetoRS(); //17.12.19
-WritetoRS():=WritetoRS(FnameR);// 17.09.17from
-WritetoRS(Arg):=(
- regional(string,filename,shch,tmp1,tmp2);
- if(isstring(Arg),
- string=Arg;
- if(indexof(string,".r")>0,
- filename=string;
- shch="";
- ,
- filename=FnameR;
- shch=string;
- );
- WritetoRS(filename,shch);
- ,
- if(Arg<=1,WritetoRS(FnameR,"all"));
- if(Arg==2,WritetoRS(FnameR,"sh"));
- );
-);
-WritetoRS(filename,shchoice):=(
- regional(Plist,Pos,GrL,str,tmp,tmp1,tmp2,cmd);
- //help:WritetoRS(2);
- println("Write to R "+filename);
- Plist=[];
- Pnamelist=[];
- forall(remove(allpoints(),[SW,NE]),
- tmp=Lcrd(#);
- tmp1=format(re(tmp_1),6);// 15.02.05
- tmp2=format(re(tmp_2),6);
- tmp=#.name+"="+"c("+tmp1+","+tmp2+");";
- tmp=tmp+"Assignadd('"+#.name+"',"+#.name+")";
- Plist=append(Plist,tmp);
- );
- SCEOUTPUT = openfile(filename);
- tmp=Datetime();
- println(SCEOUTPUT,"# date time="+tmp_1+" "+tmp_2);
- if(isstring(CindyName), // 16.12.25from
- if(length(CindyPathName)>0,
- println(SCEOUTPUT,
- "# path file="+CindyPathName+" "+CindyFileName+".cdy");
- ,
- println(SCEOUTPUT,"");
- );
- ,
- println(SCEOUTPUT,"");
- );
- if(iswindows(),
- println(SCEOUTPUT,"options(encoding='UTF-8')"); //180513
- );
- tmp1=replace(Dirwork,"\","/");
- if((iswindows())&(indexof(tmp1,"Users")>0),
- tmp=Indexall(tmp1,"/");
- tmp2=substring(tmp1,tmp_3-1,length(tmp1));
- tmp1=substring(tmp1,0,tmp_3-1);
- println(SCEOUTPUT,"Drv=shell('echo %HOMEDRIVE%',intern=TRUE)");
- println(SCEOUTPUT,"Drv=Drv[length(Drv)]");
- println(SCEOUTPUT,"Hpath=shell('echo %HOMEPATH%',intern=TRUE)");
- println(SCEOUTPUT,"Hpath=Hpath[length(Hpath)]");
- println(SCEOUTPUT,"Rest="+Dqq(tmp2));
- println(SCEOUTPUT,"Path=paste(Drv,Hpath,Rest,sep='')");
- println(SCEOUTPUT,"Path=gsub('\\','/',Path,fixed=TRUE)"); //180610
- println(SCEOUTPUT,"setwd(Path)");
- ,
- println(SCEOUTPUT,"setwd('"+tmp1+"')");
- );//180409to
- tmp=replace(Libname,"\","/"); //17.09.24from
- println(SCEOUTPUT,"source('"+tmp+".r')");//temporary
- if((indexof(PathT,"pdflatex")>0)%(indexof(PathT,"lualatex")>0),
- // 17.10.07added
- tmp=replace(tmp+"_rep2e","\","/");
- println(SCEOUTPUT,"source('"+tmp+".r')");
- );
- println(SCEOUTPUT,"Ketinit()");
- println(SCEOUTPUT,"cat(ThisVersion,'\n')");
- println(SCEOUTPUT,"Fnametex='"+Fnametex+"'");
- println(SCEOUTPUT,"FnameR='"+FnameR+"'");
- println(SCEOUTPUT,"Fnameout='"+Fnameout+"'");
- println(SCEOUTPUT,"arccos=acos; arcsin=asin; arctan=atan");
- println(SCEOUTPUT,"");
- forall(COM0thlist,
- if(indexof(#,"Texcom")==0, //17.09.22
- println(SCEOUTPUT,RSform(#));
- ,
- println(SCEOUTPUT,#);
- );
- );
- println(SCEOUTPUT,
- "Setwindow(c("+XMIN+","+XMAX+"), c("+YMIN+","+YMAX+"))");
- forall(Plist,
- println(SCEOUTPUT,#);
- );
- forall(VLIST,
- tmp=#_1;
- tmp1=#_2;
- if(!isstring(tmp1),
- if(islist(tmp1),
- tmp2="[";
- forall(tmp1,
- tmp2=tmp2+textformat(#,6)+",";
- );
- tmp1=substring(tmp2,0,length(tmp2)-1)+"]";
- ,
- tmp1=format(tmp1,6);
- );
- );
- tmp1=RSform(tmp1);
- print(SCEOUTPUT,tmp+"="+tmp1+";"); //17.09.22
-// tmp=substring(tmp,0,length(tmp)-1);
- println(SCEOUTPUT,"Assignadd('"+tmp+"',"+tmp+")");
- );
- forall(FUNLIST,
- println(SCEOUTPUT,#);
- );
- forall(GLIST,
- println(SCEOUTPUT,RSform(#));
- );
- tmp=text(Pnamelist);
- tmp=replace(tmp,"[","list(");
- Pnamelist=replace(tmp,"]",")");
- println(SCEOUTPUT,"PtL="+Pnamelist);
- tmp=select(GCLIST,#_2==-1);
- GrL=apply(tmp,#_1);
- tmp=text(GrL);
- tmp=replace(tmp,"[","list(");
- tmp=replace(tmp,"]",")");
- println(SCEOUTPUT,"GrL="+tmp);
- tmp1="";
- if(length(tmp1)>0,
- tmp1="WriteOutData(Fnameout"+tmp1+");";
- println(SCEOUTPUT,tmp1);
- );
- forall(COM1stlist,
- if(indexof(#,"Texcom")==0, //17.09.22
- println(SCEOUTPUT,RSform(#));
- ,
- println(SCEOUTPUT,#);
- );
- );
- println(SCEOUTPUT,"");
- println(SCEOUTPUT,"# Windisp(GrL)");
- println(SCEOUTPUT,"");
- println(SCEOUTPUT,"if(1==1){");
- println(SCEOUTPUT,"");
- tmp1=replace(Dirwork,"\","/"); //180408to
- if((iswindows())&(indexof(tmp1,"Users")>0),
- println(SCEOUTPUT,"Path=paste(Path,"+Dqq("/"+Fnametex)+",sep='')");
- tmp="Openfile(Path,'"+ULEN+"'";
- ,
- tmp="Openfile('"+tmp1+"/"+Fnametex+"','"+ULEN+"'";
- );
- tmp=tmp+",'Cdy="+Cindyname()+".cdy"; //180404
- tmp=replace(tmp,"\","\\");
- println(SCEOUTPUT,tmp+"')");
- forall(COM2ndlistb, //180613from
- if(indexof(#,"Texcom")==0,
- println(SCEOUTPUT,RSform(#));
- ,
- println(SCEOUTPUT,#);
- );
- );//180613to
- forall(COM2ndlist,
- if(indexof(#,"Texcom")==0, //17.09.22
- println(SCEOUTPUT,RSform(#));
- ,
- println(SCEOUTPUT,#);
- );
- );
- if(length(GrL)>0,
- println(SCEOUTPUT," Drwline(GrL)");
- );
- println(SCEOUTPUT,"Closefile('"+ADDAXES+"')");
- println(SCEOUTPUT,"");
- println(SCEOUTPUT,"}");
- if(shchoice=="sh",
- println(SCEOUTPUT,"");
- println(SCEOUTPUT,"quit()");
- ,
- println(SCEOUTPUT,"");
- println(SCEOUTPUT,"#quit()");
- );
- closefile(SCEOUTPUT);
- if(iswindows(), //180513from
- SCEOUTPUT = openfile("execsrc.r");//180514
- tmp1=replace(Dirwork,"\","/");
- if(indexof(tmp1,"Users")>0,
- tmp=Indexall(tmp1,"/");
- tmp2=substring(tmp1,tmp_3-1,length(tmp1));
- tmp1=substring(tmp1,0,tmp_3-1);
- println(SCEOUTPUT,"Drv=shell('echo %HOMEDRIVE%',intern=TRUE)");
- println(SCEOUTPUT,"Drv=Drv[length(Drv)]");
- println(SCEOUTPUT,"Hpath=shell('echo %HOMEPATH%',intern=TRUE)");
- println(SCEOUTPUT,"Hpath=Hpath[length(Hpath)]");
- println(SCEOUTPUT,"Rest="+Dqq(tmp2));
- println(SCEOUTPUT,"Path=paste(Drv,Hpath,Rest,sep='')");
- println(SCEOUTPUT,"setwd(Path)");
- println(SCEOUTPUT,"source('"+filename+"',encoding='UTF-8')");
- );
- closefile(SCEOUTPUT);
- ); //180513to
-);
-
-Extractdata(name):=Extractdata(1,name,[]);
-Extractdata(Arg1,Arg2):=(
- if(isstring(Arg1),
- Extractdata(1,Arg1,Arg2);
- ,
- Extractdata(Arg1,Arg2,[]);
- );
-);
-Extractdata(number,name,options):=(
-//help:ExtractData("ha1");
-//help:ExtractData(1,"ha1");
- regional(dlist,tmp,tmp1,tmp2,tmp3,File,Ltype,Noflg,opstr,opcindy,color);
- tmp=Divoptions(options);
- Ltype=tmp_1;
- Noflg=tmp_2;
- color=tmp_(length(tmp)-2);
- opstr=tmp_(length(tmp)-1);
- opcindy=tmp_(length(tmp));
- tmp1=[];
- forall(1..length(GOUTLIST),
- if(contains(GOUTLIST_#_2,name),
- tmp1=append(tmp1,#);
- );
- );
- if(length(tmp1)==0,
- println(name+" not found");
- ,
- tmp1=tmp1_number;
- tmp2=GOUTLIST_tmp1;
- tmp=remove(tmp2_2,[name]);
- GOUTLIST_tmp1=[tmp2_1,tmp];
- File=tmp2_1;
- );
- if(Noflg<3,
- println("extract outdata "+name);
- tmp1=parse(name);
- tmp3=[ //17.09.18
- "Tmpout=ReadOutData("+Dq+File+Dq+")"
- ];
- GLIST=concat(GLIST,tmp3);
- );
- if(Noflg<2,
- if(isstring(Ltype),
- if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
- Ltype=GetLinestyle(text(Noflg)+Ltype,name);
- if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+text(KCOLOR)+")"));
- ,
- if(Noflg==1,Ltype=0);
- );
- GCLIST=append(GCLIST,[name,Ltype,opcindy]);
- );
- tmp2;
-);
-
-RemoveOut(pltlist):=(
- regional(name,tmp,tmp1,tmp2);
- forall(pltlist,name,
- tmp1=[];
- forall(GOUTLIST,
- tmp=remove(#_2,[name]);
- tmp1=append(tmp1,[#_1,tmp]);
- );
- GOUTLIST=tmp1;
- );
-);
-
-ReadOutData():=ReadOutData(Fnameout);
-ReadOutData(filename):=ReadOutData("",filename); //16.03.07
-ReadOutData(pathorg,filenameorg):=(
-//help:ReadOutData();
-//help:Readoutdata();
-//help:ReadOutData("file.txt");
-//help:Readoutdata("file.txt");
-//help:ReadOutData("/datafolder","file.txt");
-//help:Readoutdata("/datafolder","file.txt");
- regional(path,filename,varname,varL,ptL,pts,tmp,tmp1,tmp2,tmp3,tmp4,
- nmbr,cmdall,cmd,cmdorg,outdt,goutdt);
- path=pathorg; //16.03.07 from
- if(length(path)>0,
- setdirectory(path);
- if(indexof(path,"\")>0,tmp1="\",tmp1="/");
- tmp=substring(path,length(path)-1,length(path));
- if(tmp!=tmp1,path=path+tmp1);
- ); //16.03.07 until
- filename=filenameorg; // 16.04.17
- if(indexof(filename,".")==0,filename=filename+".txt");
- tmp=load(filename);
- cmdall=tokenize(tmp,"//");
- varname=cmdall_1;
- cmdall=cmdall_(2..length(cmdall));
- outdt=[];
- varL=[varname];
- ptL=[];
- forall(cmdall,cmdorg,
- cmd=replace(cmdorg,LFmark,"");
- if(length(cmd)>0,
- if(cmd=="start" % cmd=="end" % substring(cmd,0,1)=="[",
- if(cmd=="start",
- pts=[];
- );
- if(cmd=="end",
- ptL=append(ptL,pts);
- );
- if(substring(cmd,0,1)=="[",
- tmp1=parse(cmd);
- if(length(tmp1_1)==2,
- tmp1=apply(tmp1,Pcrd(#));
- );
- pts=concat(pts,tmp1);
- );
- ,
- if(length(ptL)>0,
- if(length(ptL)==1,
- ptL=ptL_1;
- tmp=apply(ptL,textformat(#,6));
- ,
- tmp="[";
- forall(ptL,tmp1,
- tmp=tmp+apply(tmp1,textformat(#,6))+",";
- );
- tmp=substring(tmp,0,length(tmp)-1)+"]";
- );
- ,
- tmp="[]";
- );
- parse(varname+"="+tmp);
- outdt=append(outdt,ptL);
- ptL=[];
- varname=cmd;
- varL=append(varL,varname);
- );
- );
- );
- if(length(ptL)>0,
- if(length(ptL)==1,
- ptL=ptL_1;
- tmp=apply(ptL,textformat(#,6));
- ,
- tmp="[";
- forall(ptL,tmp1,
- tmp=tmp+apply(tmp1,textformat(#,6))+",";
- );
- tmp=substring(tmp,0,length(tmp)-1)+"]";
- );
- ,
- tmp="[]";
- );
- parse(varname+"="+tmp);
- outdt=append(outdt,ptL);
- if(path=="",tmp=filename,tmp=path+filename); //16.03.07
- GOUTLIST=append(GOUTLIST,[tmp,varL]);
- if(length(path)>0, // 16.03.09
- setdirectory(Dirwork); // 16.03.07
- );
- print("readoutdata from "+tmp+" : ");
- println(varL);
- varL;
-);
-
-WriteOutData(filename,ptlist):=(
-//help:WriteOutData("file.txt",["g1",gr1,"sg",sgAB]);
-//help:Writeoutdata("file.txt",["g1",gr1,"sg",sgAB]);
- regional(nn,Gname,Gdata,Str,Gstr,Gj,Pt,Flg,tmp,tmp1,loopend);
- Flg=0;
- if(isstring(ptlist_(length(ptlist))),
- Flg=1;
- );
- SCEOUTPUT = openfile(filename);
- if(Flg==0,
- loopend=length(ptlist)/2;
- ,
- loopend=length(ptlist);
- );
- Gstr="[";
- forall(1..loopend,nn,
- if(Flg==0,
- Gname=ptlist_(2*nn-1);
- ,
- Gname=ptlist_nn;
- );
- Gstr=Gstr+Gname+",";
- println(SCEOUTPUT,Gname+"//");
- if(Flg==0,
- Gdata=ptlist_(2*nn);
- ,
- Gdata=parse(Gname);
- );
- Gdata=Flattenlist(Gdata);
- if(MeasureDepth(Gdata)==1,Gdata=[Gdata]);
- forall(Gdata,Gj,
- println(SCEOUTPUT,"start//");
- Str="";
- forall(Gj,Pt,
- if(length(Str)>0,
- Str=Str+","
- );
- Str=Str+"["+format(Pt_1,5)+",";
- Str=Str+format(Pt_2,5);
- if(length(Pt)<3,
- Str=Str+"]";
- ,
- Str=Str+","+format(Pt_3,5)+"]";
- );
- if(length(Str)>80,
- println(SCEOUTPUT,"["+Str+"]//");
- Str="";
- );
- );
- if(length(Str)>0,
- println(SCEOUTPUT,"["+Str+"]//");
- );
- if((nn==loopend) & (Gj==Gdata_(length(Gdata))),
- println(SCEOUTPUT,"end////");
- ,
- println(SCEOUTPUT,"end//");
- );
- );
- );
- closefile(SCEOUTPUT);
- Gstr=substring(Gstr,0,length(Gstr)-1)+"]";
- println("writeoutdata "+filename+":"+Gstr);
-);
-
-Makeshell():=(
- if(length(Texmain)>0,
- Texparent=Texmain;
- );
- if(length(Texparent)>0,
- Makeshell(Texparent);
- if(length(FigPdfList)>0,
- SCEOUTPUT=openfile(Texparent+".tex");
- forall(FigPdfList,println(SCEOUTPUT,#));
- closefile(SCEOUTPUT);
- );
- ,
- Makeshell(Fhead+"main");
- );
-);
-Makeshell(texmainfile):=Makeshell(texmainfile,"rtv");
-Makeshell(texmainfile,flow):=(
- regional(parent,tmp,tmp1,tmp2,tmp3,flg,tex,path,shnm);
- parent=Dirwork+Shellparent; // 16.05.29
- kc():=(
- println("kc : "+kc(Dirwork+Shellparent,Mackc+Dirlib,Fnametex)); // 16.06.04,06.07
- );
- tmp1="";
-// tmp2=parent;
- flg=0;
- forall(reverse(1..length(parent)),
- if(flg==0,
- tmp=substring(parent,#-1,#);
- if(tmp=="/" % tmp=="\", // 14.01.15
- tmp1=substring(parent,0,#-1);
- tmp2=substring(parent,#,length(parent));
- flg=1;
- );
- );
- );
- if(length(tmp1)>0,
- setdirectory(tmp1);
- );
- SCEOUTPUT = openfile(tmp2);
- println(SCEOUTPUT,"#!/bin/sh");
- println(SCEOUTPUT,"cd "+Dq+Dirwork+Dq); // 15.07.16
- tmp1=" "+Dq+Fhead+Dq+" "+Dq+texmainfile+Dq; // 15.12.11
- flg=0;
- forall(reverse(1..length(PathT)),
- if(flg==0,
- if(substring(PathT,#-1,#)=="/",
- tex=substring(PathT,#,length(PathT));
- path=substring(PathT,0,#-1);
- flg=1;
- );
- );
- );
- if(flg==0, // 17.10.13(Norbert)
- tex=PathT;
- path="";
- );
- if(indexof(flow,"r")>0,
- tmp=Dq+PathR+Dq+" --vanilla --slave < "+Fhead+".r";
- // 17.09.14
- println(SCEOUTPUT,tmp);
- );
- if(tex=="latex" % tex=="platex" % tex=="uplatex", //17.08.13
- tmp=Dq+PathT+Dq+" "+texmainfile+".tex";
- println(SCEOUTPUT,tmp);
- if(indexof(flow,"tt")>0,println(SCEOUTPUT,tmp)); //17.10.14
- tmp=replace(Dq+PathT+Dq,tex,"dvipdfmx")+" "+texmainfile+".dvi";
- println(SCEOUTPUT,tmp);
- tmp="rm "+texmainfile+".dvi";
- println(SCEOUTPUT,tmp);
- );
- if(tex=="xelatex",
- tmp="export PATH="+path+":${PATH}";
- println(SCEOUTPUT,tmp);
- tmp="xelatex"+" "+texmainfile+".tex";
- println(SCEOUTPUT,tmp);
- if(indexof(flow,"tt")>0,println(SCEOUTPUT,tmp)); //17.10.14
- tmp="rm "+texmainfile+".dvi";
- println(SCEOUTPUT,tmp);
- );
- if(tex=="pdflatex" % tex=="pdftex",//16.11.22from
- tmp=Dq+PathT+Dq+" "+texmainfile+".tex";
- println(SCEOUTPUT,tmp);
- if(indexof(flow,"tt")>0,println(SCEOUTPUT,tmp)); //17.10.14
- );//16.11.22until
- if(tex=="lualatex",//16.12.16
- tmp=Dq+PathT+Dq+" "+texmainfile+".tex";
- println(SCEOUTPUT,tmp);
- if(indexof(flow,"tt")>0,println(SCEOUTPUT,tmp)); //17.10.14
- );//16.12.16
- if(!isstring(Pathpdf),
- tmp="preview";
- ,
- tmp=Pathpdf;
- );
- if(tmp=="preview" % tmp=="skim", // 16.09.09from,16.10.20
- tmp="open -a "+Dq+tmp+Dq+" "+texmainfile+".pdf";
- ,
- tmp=Dq+tmp+Dq+" "+texmainfile+".pdf";
- );// 16.09.09until
- println(SCEOUTPUT,tmp); // 16.07.21until
- println(SCEOUTPUT,"exit 0");
- closefile(SCEOUTPUT);
- setdirectory(Dirwork);
-);
-
-Convsjiswin(dir,fname,ext):=( //180401
- regional(ctr,flg,mx,tmp);
- mx=200;
- ctr=0;flg=0;
- nkfwin(dir,fname,ext);
- while((!isexists(dir,fname+".out"))&(ctr<mx),
- wait(100);ctr=ctr+1;
- );
- if(ctr==mx,flg=1);
- if(flg==0,
- wait(100);ctr=0;
- nkfcpdel(dir,fname,ext);
- while((isexists(dir,fname+".out"))&(ctr<mx),
- wait(100);ctr=ctr+1;
- );
- if(ctr==mx,flg=2);
- );
- tmp=dir+pathsep()+fname+"."+ext;
- if(flg==0,
- tmp=
- println(tmp+" converted");
- ,
- println(tmp+" not converted "+text(flg));
- );
-);
-
-Makebat():=(
- if(length(Texmain)>0,
- Texparent=Texmain;
- );
- if(length(Texparent)>0,
- Makebat(Texparent);
- if(length(FigPdfList)>0,
- SCEOUTPUT=openfile(Texparent+".tex");
- forall(FigPdfList,println(SCEOUTPUT,#));
- closefile(SCEOUTPUT);
- );
- ,
- Makebat(Fhead+"main");
- );
-);
-Makebat(texmainfile):=Makebat(texmainfile,"rtv");
-Makebat(texmainfile,flow):=(
- regional(drive,fname,tmp,tmp1,tmp2,tmp3,flg,tex,path,batnm);
- drive="C:";
- fname=Dirwork+Batparent;
- kc():=(
- println("kc : "+kc(Dirwork+Batparent,Dirlib,Fnametex)); // 16.06.04
- );
- tmp=indexof(fname,":");
- if(tmp>0,
- drive=substring(fname,0,tmp);
- fname=substring(fname,tmp,length(fname));
- );
- tmp1="";
- tmp2=fname;
- flg=0;
- forall(reverse(1..length(fname)),
- if(flg==0,
- tmp=substring(fname,#-1,#);
- if(tmp=="/" % tmp=="\" % tmp=="\", // 14.01.15
- tmp1=substring(fname,0,#-1);
- tmp2=substring(fname,#,length(fname));
- flg=1;
- );
- );
- );
- if(length(tmp1)>0,
- setdirectory(drive+tmp1);
- );
- SCEOUTPUT = openfile(tmp2);
- fname=replace(Dirwork,"/","\");
- tmp=indexof(fname,":");
- if(tmp>0,
- drive=substring(Dirwork,0,tmp);
- fname=substring(Dirwork,tmp,length(Dirwork));
- println(SCEOUTPUT,drive);
- );
- tmp=Dirwork;//180408form
- if(iswindows(),
- if((isincludefull(Dirwork))&(isexists(Dirwork,"sjis.txt")),
- import("sjis.txt");
- );
- );
-// tmp=replace(tmp,"\","/"); //180408
-// println(SCEOUTPUT,"cd "+Dq+tmp+Dq); //180408
- tmp1=indexof(fname,"Users");//180409from
- tmp2=indexof(fname,Homehead);
- if((tmp1>0)%(tmp2>0),
- if(tmp1>0,
- fname=substring(fname,tmp1+length("Users")-1,length(fname));
- ,
- fname=substring(fname,tmp2+length(Homehead)-1,length(fname));
- );
- tmp=Indexall(fname,"\");//180403from
- fname=substring(fname,tmp_2,length(fname));
- fname="%HOMEPATH%\"+fname;
- );//180403to
- println(SCEOUTPUT,"cd "+Dq+fname+Dq);//180409to
- flg=0;
- tmp=replace(PathT,"\","/");
- forall(reverse(1..length(PathT)),
- if(flg==0,
- if(substring(tmp,#-1,#)=="/",
- tex=substring(PathT,#,length(PathT));
- path=substring(PathT,0,#-1);
- flg=1;
- );
- );
- );
- if(flg==0, // 17.10.13(Norbert)
- tex=PathT;
- path="";
- );
- if(indexof(flow,"r")>0,
- tmp=Dq+PathR+"\R"+Dq+" --vanilla --slave < execsrc.r";//180514
- // 17.09.14
- println(SCEOUTPUT,tmp);
- );
- if(tex=="latex" % tex=="platex" % tex=="uplatex", //17.08.13
- tmp=Dq+PathT+Dq+" "+texmainfile+".tex";
- println(SCEOUTPUT,tmp);
- if(indexof(flow,"tt")>0,println(SCEOUTPUT,tmp)); //17.10.14
- tmp=replace(Dq+PathT+Dq,tex,"dvipdfmx")+" "+texmainfile+".dvi";
- println(SCEOUTPUT,tmp);
- tmp="del "+texmainfile+".dvi";
- println(SCEOUTPUT,tmp);
- );
- if(tex=="xelatex",
- tmp="set Path = %Path%;"+Dq+path+Dq;
- println(SCEOUTPUT,tmp);
- if(indexof(flow,"tt")>0,println(SCEOUTPUT,tmp)); //17.10.14
- tmp="xelatex"+" "+texmainfile+".tex";
- println(SCEOUTPUT,tmp);
- tmp="del "+texmainfile+".dvi";
- println(SCEOUTPUT,tmp);
- );
- if(tex=="pdflatex" % tex=="pdftex",//16.11.22from
- tmp=Dq+PathT+Dq+" "+texmainfile+".tex";
- println(SCEOUTPUT,tmp);
- if(indexof(flow,"tt")>0,println(SCEOUTPUT,tmp)); //17.10.14
- );//16.11.22until
- if(tex=="lualatex",//16.12.16
- tmp=Dq+PathT+Dq+" "+texmainfile+".tex";
- println(SCEOUTPUT,tmp);
- if(indexof(flow,"tt")>0,println(SCEOUTPUT,tmp)); //17.10.14
- );//16.12.16
- if(!isstring(Pathpdf),
- tmp=indexof(PathS,"\scilab");// 15.12.12
- tmp=substring(PathS,0,tmp-1)+"\SumatraPDF\SumatraPDF.exe";
- ,
- tmp=Pathpdf;
- );
- tmp=Dq+tmp+Dq+" "+texmainfile+".pdf";
- println(SCEOUTPUT,tmp);
- println(SCEOUTPUT,"exit 0");
- closefile(SCEOUTPUT);
- if(indexof(Dirwork,":")==0, // 14.01.15
- drive="C:";
- ,
- drive="";
- );
- setdirectory(drive+Dirwork);
-);
-
-Addpackage(packorg):=(
-//help:Addpackage("bm");
-//help:Addpackage(["bm","enumerate"]);
-//help:Addpackage(["bm","[c]{somepackage}"]);
- regional(packL,tmp);
- packL=packorg; //17.06.25from
- if(!islist(packL),packL=[packL]);
- packL=apply(packL,replace(#,"\","/"));
- forall(1..(length(packL)),
- tmp=packL_#;
- if(substring(tmp,0,11)=="ketpicstyle",
- tmp=replace(Dirhead+"/"+tmp,"\","/");
- );
- if(indexof(tmp,"[")==0,
- packL_#="{"+tmp+"}";
- );
- );
- ADDPACK=concat(ADDPACK,packL); //17.06.25to
-);
-
-Viewtex():=(
- regional(texfile,tmp,tmp1,sep);
- texfile=Fhead+"main";
-// if(iswindows(),sep="\",sep="/"); // 17.04.07
-// sep="/";
- SCEOUTPUT=openfile(texfile+".tex");
- tmp="\documentclass{article}"; // 16.06.09from
- if(indexof(PathT,"platex")>0,
- tmp=replace(tmp,"article","jarticle");
- if(indexof(PathT,"uplatex")>0, //17.08.13from
- tmp=replace(tmp,"jarticle","ujarticle");
- );//17.08.13until
- ); // 16.06.09until
- println(SCEOUTPUT,tmp);
- if((indexof(PathT,"pdflatex")>0)%(indexof(PathT,"lualatex")>0) ,
- //16.11.23,12.16
- if(indexof(PathT,"pdflatex")>0,
- println(SCEOUTPUT,"\usepackage[pdftex]{pict2e}");//16.11.24
- ,
- println(SCEOUTPUT,"\usepackage{pict2e}");//16.12.16
- println(SCEOUTPUT,"\usepackage{luatexja}");//16.12.18
- );
- tmp=replace(Dirhead,"\","/"); //17.10.30from
- tmp=replace(tmp,"scripts","tex/latex");
- if(isexists(tmp,""),
- println(SCEOUTPUT,"\usepackage{ketpic2e,ketlayer2e}");
- ,
- tmp=replace(Dirhead+"/ketpicstyle","\","/");
- println(SCEOUTPUT,"\usepackage{"+tmp+"/ketpic2e}");
- println(SCEOUTPUT,"\usepackage{"+tmp+"/ketlayer2e}");
- );
- ,
- tmp=replace(Dirhead,"\","/");
- tmp=replace(tmp,"scripts","tex/latex");
- if(isexists(tmp,""),
- println(SCEOUTPUT,"\usepackage{ketpic,ketlayer}");
- ,
- tmp=replace(Dirhead+"/ketpicstyle","\","/");
- println(SCEOUTPUT,"\usepackage{"+tmp+"/ketpic}");
- println(SCEOUTPUT,"\usepackage{"+tmp+"/ketlayer}");
- );
- );//17.10.30until
- println(SCEOUTPUT,"\usepackage{amsmath,amssymb}");
- println(SCEOUTPUT,"\usepackage{graphicx}");
- println(SCEOUTPUT,"\usepackage{color}");
- forall(ADDPACK, // 16.05.16from
- println(SCEOUTPUT,"\usepackage"+#); //17.05.25
- );// 16.05.16until
- println(SCEOUTPUT,"");
-// println(SCEOUTPUT,"\def\ketcindy{{K\kern-.20em%"); // deleted 16.11.27,recovered11.29 redeleted17.04.07
-// println(SCEOUTPUT,"\lower.5ex\hbox{E}\kern-.125em{TCindy}}}");
-// println(SCEOUTPUT,"");
- println(SCEOUTPUT,"\setmargin{20}{20}{20}{20}");
- println(SCEOUTPUT,"");
- println(SCEOUTPUT,"\begin{document}");
- println(SCEOUTPUT,"");
- println(SCEOUTPUT,"\verb|"+Fhead+"| by \ketcindy");// 16.01.12, 18, 16.04.08
-// println(SCEOUTPUT,"\verb|"+Fhead+"| by KeTCindy");// 16.11.29 temporarily
- println(SCEOUTPUT,"\vspace{5mm}");
- println(SCEOUTPUT,"");
- println(SCEOUTPUT,"\input{"+Fhead+".tex}");
- println(SCEOUTPUT,"");
- println(SCEOUTPUT,"\end{document}");
- closefile(SCEOUTPUT);
- if(iswindows(),
- kc():=(
- println("kc : "+kc(Dirwork+Batparent,Dirlib,Fnametex)); // 16.06.04
- );
- Makebat(texfile);
- ,
- kc():=(
- println("kc : "+kc(Dirwork+Shellparent,Mackc+Dirlib,Fnametex)); // 16.06.04
- );
- Makeshell(texfile);
- );
- WritetoRS(2); //17.09.19
-);
-
-Viewparent():=( //17.04.13
- if(!isexists(Dirwork,Texparent+".tex"),
- if(isstring(Texparent),
- drawtext(mouse().xy,Texparent+".tex not exist",
- size->24,color->[1,0,0]);
- ,
- drawtext(mouse().xy,"Texparent not defined",
- size->24,color->[1,0,0]);
- );
- ,
- if(iswindows(),
- Makebat();
- ,
- Makeshell();
- );
- WritetoRS(2); //17.09.29
- kc();
- );
-);
-
-Makecmdlist(libname):=(
-//help:Makecmdlist("ketcindylib");
- regional(cmdall,cmd,flg,tmp,tmp1,tmp2,out);
- setdirectory(Dirlib);
- tmp=load(libname+".cs");
- cmdall=tokenize(tmp,":=");
- out=[];
- forall(cmdall,cmd,
- tmp=max([0,length(cmd)-50]);
- tmp1=";"+substring(cmd,tmp,length(cmd));
- flg=0;
- forall(reverse(1..length(tmp1)),
- if(flg==0,
- if(substring(tmp1,#-1,#)==";",
- tmp=substring(tmp1,#,length(tmp1));
- tmp2=substring(tmp,0,1);
- if(length(tmp)>0,
- if(!contains([" ","/"],tmp2),
- out=append(out,tmp);
- flg=1;
- );
- );
- );
- );
- );
- );
- setdirectory(Dirwork);
- tmp=length(out)-1;
- out=out_(2..tmp);
- out=sort(out);
-);
-
-Savecmdlist(cmdlist,cmdfile):=(
- SCEOUTPUT=openfile(cmdfile+".cs");
- forall(cmdlist,
- println(SCEOUTPUT,#);
- );
- closefile(SCEOUTPUT);
-);
-
-Quicksort(seq):=(
- regional(pivot,left,right,out);
- if(length(seq)<2,
- out=seq;
- ,
- pivot = max(seq_1,seq_2);
- left = [];
- right = [];
- forall(seq,
- if(#< pivot,
- left=append(left,#);
- ,
- right=append(right,#);
- );
- );
- left = Quicksort(left);
- right = Quicksort(right);
- out=concat(left,right);
- );
- out;
-);
-
-Lessstr(st1,st2):=(
- regional(tmp,tmp1,tmp2,out);
- tmp=min(length(st1),length(st2));
- flg=0;
- forall(1..tmp,
- if(flg==0,
- tmp1=substring(st1,#-1,#);
- tmp2=substring(st2,#-1,#);
- if(tmp1<tmp2,
- out=(1<2);
- flg=1;
- ,
- if(tmp1>tmp2,
- out=(1>2);
- flg=1;
- );
- );
- );
- );
- if(flg==0,
- if(length(st1)<length(str2),
- out=(1<2);
- ,
- out=(1>2);
- );
- );
- out;
-);
-
-Figpdf():=Figpdf(Texparent,[]);
-Figpdf(Arg1):=(
- if(isstring(Arg1),
- Figpdf(Arg1,[]);
- ,
- Figpdf(Texparent,Arg1);
- );
-);
-Figpdf(fnameorg,optionorg):=(
-//help:Figpdf();
-//help:Figpdf([10,,10,,[0,2] ]);(margin(4),move)
-//help:Figpdf([[0,0]]);(move)
-//help:Figpdf(options=[5,5,5,5,[0,0]]]);
- regional(options,fname,mar,pos,dp,sc,tmp,tmp1,tmp2,sep);
- fname=fnameorg;
- if(indexof(fnameorg,".")==0,
- fname=fnameorg+".tex";
- );
- tmp=apply(optionorg,if(isstring(#),parse("["+#+"]"),#)); // 16.04.07
- tmp=select(tmp,#!=[]);
- options=optionorg;//16.11.08from
-// mar=[5,5,5,5];
- dp=[0,-3];
- tmp=select(options,islist(#));
- if(length(tmp)>0,
- dp=tmp_1;
- options=remove(options,tmp);
- );
- tmp=4-length(options);
- tmp1=apply(1..tmp,5);
- mar=concat(options,tmp1);
- mar=apply(mar,if(length(#)==0,5,#));//16.11.08until
- pos=[mar_1+dp_1,mar_3+dp_2];
- sc=10;
- tmp=indexof(ULEN,"cm");
- if(tmp>0,
- tmp1=Removespace(substring(ULEN,0,tmp-1));
- sc=parse(tmp1)*10;
- );
- tmp=indexof(ULEN,"mm");
- if(tmp>0,
- tmp1=Removespace(substring(ULEN,0,tmp-1));
- sc=parse(tmp1);
- );
- tmp="\documentclass{article}"; // 16.06.09from
- if(indexof(PathT,"platex")>0,
- tmp=replace(tmp,"article","jarticle");
- if(indexof(PathT,"uplatex")>0, //17.08.13from
- tmp=replace(tmp,"jarticle","ujarticle");
- );//17.08.13until
- );
- FigPdfList=append(FigPdfList,tmp); // 16.06.09until
- tmp1="\special{papersize=W mm,H mm}";
- tmp=(XMAX-XMIN)*sc+(mar_1+mar_2);
- tmp1=replace(tmp1,"W",text(tmp));
- tmp=(YMAX-YMIN)*sc+(mar_3+mar_4);
- tmp1=replace(tmp1,"H",text(tmp));
-// if(iswindows(),sep="\",sep="/");//17.04.08
-// sep="/";
- FigPdfList=append(FigPdfList,tmp1);
- if(indexof(PathT,"pdflatex")+indexof(PathT,"lualatex")>0, //17.11.05from
- FigPdfList=append(FigPdfList,
- "\usepackage{pict2e}");
- tmp=replace(Dirhead,"\","/");
- tmp=replace(tmp,"scripts","tex/latex");
- if(isexists(tmp,""),
- FigPdfList=append(FigPdfList,
- "\usepackage{ketpic2e,ketlayer2e}");
- ,
- tmp=replace(Dirhead+"/ketpicstyle","\","/");
- FigPdfList=concat(FigPdfList,
- ["\usepackage{"+tmp+"/ketpic2e}",
- "\usepackage{"+tmp+"/ketlayer2e}"]);
- );
- ,
- tmp=replace(Dirhead,"\","/");
- tmp=replace(tmp,"scripts","tex/latex");
- if(isexists(tmp,""),
- FigPdfList=append(FigPdfList,
- "\usepackage{ketpic,ketlayer}");
- ,
- tmp=replace(Dirhead+"/ketpicstyle","\","/");
- FigPdfList=concat(FigPdfList,
- ["\usepackage{"+tmp+"/ketpic}",
- "\usepackage{"+tmp+"/ketlayer}"]);
- );
- );//17.11.05until
- FigPdfList=append(FigPdfList,
- "\usepackage{amsmath,amssymb}");
- FigPdfList=append(FigPdfList,
- "\usepackage{graphicx,color}");
- forall(ADDPACK, // 16.05.16from
- tmp1="\usepackage"+#; //17.07.10
- FigPdfList=append(FigPdfList,tmp1); // 16.09.05until
- );
- FigPdfList=append(FigPdfList,"");
- FigPdfList=append(FigPdfList,
- "\setmargin{0}{0}{0}{0}");
- FigPdfList=append(FigPdfList,"");
- FigPdfList=append(FigPdfList,"\begin{document}");
- FigPdfList=append(FigPdfList,"");
- FigPdfList=append(FigPdfList,
- "\begin{layer}{50}{0}");
- tmp1="\putnotese{X}{Y}{\input{";
- tmp1=replace(tmp1,"X",text(pos_1));
- tmp1=replace(tmp1,"Y",text(pos_2));
- FigPdfList=append(FigPdfList,tmp1+Fhead+".tex}}");
- FigPdfList=append(FigPdfList,"");
- FigPdfList=append(FigPdfList,"\end{layer}");
- FigPdfList=append(FigPdfList,"");
- FigPdfList=append(FigPdfList,"\end{document}");
- if(fnameorg!=Texparent,
- SCEOUTPUT=openfile(fname);
- forall(FigPdfList,println(SCEOUTPUT,#));
- closefile(SCEOUTPUT);
- );
- FigPdfList;
-);
-
-Makehelplist(libname):=(
- regional(cmdall,cmd,flg,lev,tmp,tmp1,out);
- tmp=load(libname);
- cmdall=tokenize(tmp,"//help:");
- cmdall=select(cmdall,substring(#,1,3)!=");");
- flg=0;
- forall(1..3,
- if(flg==0,
- if(substring(cmdall_#,0,7)=="start()",
- cmdall=cmdall_((#+1)..length(cmdall));
- flg=1;
- );
- );
- );
- flg=0;
- tmp=length(cmdall);
- forall(0..2,
- if(flg==0,
- if(substring(cmdall_(tmp-#),0,5)=="end()",
- cmdall=cmdall_(1..(tmp-#-1));
- flg=1;
- );
- );
- );
- out=[];
- forall(cmdall,cmd,
- tmp1=indexof(cmd,"(");
- lev=1;
- flg=0;
- forall((tmp1+1)..length(cmd),
- if(flg==0,
- tmp=substring(cmd,#-1,#);
- if(tmp=="(",lev=lev+1);
- if(tmp==")",
- lev=lev-1;
- if(lev==0,
- flg=1;
- out=append(out,substring(cmd,0,#)+";");
- );
- );
- );
- );
- );
- sort(out);
-);
-
-Helplist():=Helplist(Dirlib,["+","+3d"],"helpJ");
-// 15.05.22
-Helplist(Arg):=(
- if(islist(Arg),
- Helplist(Dirlib,Arg,"helpJ"); // 15.06.20
- ,
- if(indexof(Arg,"help")>0,
- Helplist(Dirlib,["+","+3d"],Arg);
- ,
- Helplist(Arg,["+","+3d"],"helpJ");
- );
- );
-);
-Helplist(Arg1,Arg2):=(
- if(islist(Arg1),
- Helplist(Dirlib,Arg1,Arg2);
- ,
- if(indexof(Arg2,"help")>0,
- Helplist(Dirlib,Arg1,Arg2);
- ,
- Helplist(Arg,["+","+3d"],Arg2);
- );
- );
-);
-Helplist(dir,files,help):=(
-//help:Helplist();
-//help:Helplist("helpE");
- regional(ketfiles,tmp,tmp1,tmp2);
- setdirectory(dir);
- if(contains(files,"+"),
- tmp=remove(files,["+"]);
- ketfiles=concat(["+basic1","+basic2","+out"],tmp);
- ,
- ketfiles=files;
- );
- ketfiles=apply(ketfiles,replace(#,"+","ketcindylib"));
- ketfiles=apply(ketfiles,#+"r.cs"); // 15.11.05 from
- tmp=apply(files,replace(#,"+","ketcindylib"));
-// tmp=apply(files,replace(#,"r.cs",""));
-// tmp=remove(tmp,["ketcindylibout"]);
-// tmp=apply(tmp,replace(#,"basic",""));
- tmp=apply(tmp,#+help+".txt");
- ketfiles=concat(ketfiles,tmp);// 15.11.05 until
- tmp1=[];
- forall(ketfiles,
- tmp=Makehelplist(#);
- tmp1=concat(tmp1,tmp);
- );
- if(!islist(HLIST), // 16.12.31from
- HLIST=sort(tmp1);
- ,
- HLIST=sort(concat(HLIST,tmp1));
- ); // 16.12.31until
- setdirectory(Dirwork);
-);
-
-
-Help():=(
- forall(HLIST,
- println(#);
- );
-);
-Help(strorg):=(
-//help:Help("Plot");
-//help:Help("*");
- regional(str,sel,tmp,tmp1,tmp2,flg,Endflg);
- if(length(HLIST)>0,flg=0,flg=-1);
- str=replace(strorg,"'",Dq); // 15.11.25
- if(length(str)==0,
- forall(HLIST,
- if(indexof(#,"*")>0,
- println(#);
- );
- flg=1;
- );
- ,
- if(str=="*",
- sel=HLIST;
- ,
- sel=select(HLIST,substring(#,0,length(str))==str);
- );
- if(length(sel)>0,flg=1);
- forall(sel,
- tmp=indexof(#,"(");
- if(substring(#,tmp-2,tmp-1)!="*",
- println(#);
- ,
-// println(substring(#,0,tmp-1));
- tmp1=substring(#,tmp,length(#)-2);
- tmp2=indexof(tmp1,"//");
- Endflg=0;
- forall(1..4,
- if(Endflg==0,
- tmp2=indexof(tmp1,"//");
- if(tmp2==0,
- println(" "+tmp1);
- Endflg=1;
- ,
- println(" "+substring(tmp1,0,tmp2-1));
- tmp1=substring(tmp1,tmp2+1,length(tmp1));
- );
- );
- );
- );
- );
- );
- if(flg==-1,println(" Help not read in"));
- if(flg==0,println(" no example"));
-);
-
-Helpkey(str):=(
- regional(tmp,tmp1,tmp2);
- tmp1=select(HLIST,indexof(#,str)>0);
- forall(tmp1,
- tmp=substring(#,0,indexof(#,"*")-1);
- Help(tmp);
- );
-);
-Helpkey(str1,str2):=(
-//help:Helpkey(keyword);
-//help:Helpkey(keyword1,keyword2);
- regional(tmp,tmp1,tmp2);
- tmp1=select(HLIST,indexof(#,str1)>0);
- tmp1=select(tmp1,indexof(#,str2)>0);
- forall(tmp1,
- tmp=substring(#,0,indexof(#,"*")-1);
- Help(tmp);
- );
-);
-
-Slidework():=Slidework(Dirwork); // 16.06.10
-Slidework(dirorg):=(
-//help:Slidework(directory);
- regional(dir,tmp); // 16.06.25
- dir=replace(dirorg,unicode("000a"),""); // 16.06.25
- dir=replace(dir,"/",pathsep());//17.11.20from
- dir=replace(dir,"\",pathsep());
- tmp=length(dir);
- if(substring(dir,tmp-1,tmp)==pathsep(),
- dir=substring(dir,0,tmp-1);
- );//17.11.20until
- if(isexists(dir,""), // 16.12.20
- Changework(dir);
- println(makedir(dir,"fig"));//17.11.23
- tmp=dir+pathsep()+"fig"; //17.04.16from
- Changework(tmp);// 17.02.19until
- ,
- println(dir+ " not exists");
- );
-);
-
-Setslidepage():=( // 17.03.05
- regional(tmp1,tmp2,tmp3);
- tmp1=["letterc","boxc","framec","shadowc","xpos","size"];
- tmp2=apply([1,2,4,5,7,8],SlideColorList_#);
- tmp3=apply(1..(length(tmp1)),tmp1_#+"="+tmp2_#);
- println(tmp3);
-);
-Setslidepage(list):=( // 16.12.22
-//help:Setslidepage([letterc,boxc,framec,shadowc,xpos,size]);
- regional(numlist,tmp,tmp1,letterc,boxc,shadowc,mboxc);
- letterc=[0.98,0.13,0,0.43]; boxc=[0,0.32,0.52,0];
- shadowc=[0,0,0,0.5]; mboxc="yellow";
- if(!islist(SlideColorList),
- SlideColorList=[letterc,boxc,boxc,boxc,shadowc,shadowc,6,1.3,
- letterc,mboxc,mboxc,mboxc,62,2,letterc];
- );
- numlist=[1,2,4,5,7,8];
- forall(1..(length(list)),
- if(length(list_#)>0,
- tmp=numlist_#;
- SlideColorList_tmp=list_#;
- );
- );
- SlideColorList_3=SlideColorList_2;
- SlideColorList_6=SlideColorList_5;
-);
-
-Setslidemain():=( // 17.03.05
- regional(tmp1,tmp2,tmp3);
- tmp1=["letterc","boxc","framec","xpos","size"];
- tmp2=apply([9,10,12,13,14],SlideColorList_#);
- tmp3=apply(1..(length(tmp1)),tmp1_#+"="+tmp2_#);
- println(tmp3);
-);
-Setslidemain(list):=( // 16.12.22
-//help:Setslidemain([letterc,boxc,framec,xpos,size]);
- regional(numlist,tmp,tmp1,letterc,boxc,shadowc,mboxc);
- letterc=[0.98,0.13,0,0.43]; boxc=[0,0.32,0.52,0];
- shadowc=[0,0,0,0.5]; mboxc="yellow";
- if(!islist(SlideColorList),
- SlideColorList=[letterc,boxc,boxc,boxc,shadowc,shadowc,6,1.3,
- letterc,mboxc,mboxc,mboxc,62,2,letterc];
- );
- numlist=[9,10,12,13,14];
- forall(1..(length(list)),
- if(length(list_#)>0, //17.01.04
- tmp=numlist_#;
- SlideColorList_tmp=list_#;
- );
- );
- SlideColorList_11=SlideColorList_10;
-);
-
-Setslidebody():=( // 17.03.05
- regional(tmp1,tmp2,tmp3);
- tmp1=["letterc","style","thindense"];
- tmp2=[SlideColorList_(15),BodyStyle,ThinDense];
- tmp3=apply(1..(length(tmp1)),tmp1_#+"="+tmp2_#);
- println(tmp3);
-);
-Setslidebody(str):=(
- regional(clr,style,thin);
- if(isstring(str),
- Setslidebody(str,"\Large\bf\boldmath",0.1);
- ,
- if(length(str)==1,Setslidebody(str_1));
- if(length(str)==2,Setslidebody(str_1,str_2));
- if(length(str)==3,Setslidebody(str_1,str_2,str_3));
- );
-);
-Setslidebody(str,Arg):=( //17.01.08
- if(isstring(Arg),
- Setslidebody(str,Arg,0.1);
- ,
- Setslidebody(str,"\Large\bf\boldmath",Arg);
- );
-);
-Setslidebody(str,style,density):=( // 16.12.22,17.01.06,01.08
-//help:Setslidebody(["black",,0]);
-//help:Setslidebody(["blue","\Large\bf\boldmath",0.1]);
- regional(numlist,tmp,tmp1,letterc,boxc,shadowc,mboxc);
- letterc=[0.98,0.13,0,0.43]; boxc=[0,0.32,0.52,0];
- shadowc=[0,0,0,0.5]; mboxc="yellow";
- if(!islist(SlideColorList),
- SlideColorList=[letterc,boxc,boxc,boxc,shadowc,shadowc,6,1.3,
- letterc,mboxc,mboxc,mboxc,62,2,letterc];
- );
- if(length(str)>0,SlideColorList_(15)=str);
- if(length(style)>0,BodyStyle=style);
- ThinDense=density;//17.01.08
-);
-
-Setslidehyper():=( 17.12.16from
- Setslidehyper(["cl=true,lc=blue,fc=blue",125,70,1]);
-);
-Setslidehyper(Arg):=(
- if(isstring(Arg),
- Setslidehyper(Arg,["cl=true,lc=blue,fc=blue",125,70,1]);
- ,
- Setslidehyper("",Arg);
- );
-);
-Setslidehyper(driverorg,options):=(
-//help:Setslidehyper();
-//help:Setslidehyper("dvipdfmx",["cl=true,lc=blue,fc=blue","Pos=[125,73]","Size=1"]);
- regional(driver,eqL,reL,stL,,str,tmp,tmp1,tmp2);
- driver=driverorg;
- if(length(driver)==0,
- if(indexof(PathT,"pdflatex")+indexof(PathT,"lualatex")==0,
- driver="dvipdfmx";
- );
- );
- tmp=Divoptions(options);
- eqL=tmp_5;
- reL=tmp_6;
- stL=tmp_7;
- if(length(stL)>0,
- str=stL_1;
- ,
- str="";
- );
- if(length(str)==0,
- str="cl=true,lc=blue,fc=blue";
- );
- if(length(driver)==0,
- tmp1="["+str+"]";
- ,
- tmp1="["+driver+","+str+"]";
- );
- tmp1=replace(tmp1,"cl=","colorlinks=");
- tmp1=replace(tmp1,"lc=","linkcolor=");
- tmp1=replace(tmp1,"fc=","filecolor=");
- tmp1=replace(tmp1,"uc=","urlcolor=");
- ADDPACK=select(ADDPACK,indexof(#,"hyperref")==0);
- Addpackage(tmp1+"{hyperref}");
- LinkPosH=125;
- LinkPosV=73;//180524
- LinkSize=1;
-// if(length(reL)>0,
-// LinkPosH=reL_1;
-// if(length(reL)>1,LinkPosV=reL_2);
-// if(length(reL)>2,LinkSize=max(reL_3,0.1));
-// );
- forall(eqL,
- tmp=Indexall(#,"=");//180524from
- if(length(tmp)==1,
- tmp1=Toupper(substring(#,0,1));
- tmp2=substring(#,tmp_1,length(#));
- tmp2=parse(tmp2);
- if(tmp1=="P",
- LinkPosH=tmp2_1;
- LinkPosV=tmp2_2;
- );
- if(tmp1=="S",
- LinkSize=max(tmp2,0.1);
- );
- );//180524to
- );
-); //17.12.16to
-
-Settitle(cmdL):=Settitle("",cmdL,[]); // 180608from
-Settitle(Arg1,Arg2):=(
- if(isstring(Arg1),
- Settitle(Arg1,Arg2,[]);
- ,
- Settitle("",Arg1,Arg2);
- );
-); // 180608to
-Settitle(titleold,cmdL,options):=(
-//help:Settitle(cmdL);
-//help:Settitle(name,cmdL);
-//help:Settitle(options=["Title=slide0","Layery=0","Color=blue"]);
- regional(tmp,tmp1,tmp2,eqL,layery,color,size,font);
- TitleName="slide0"; //180330
- if(length(titleold)>0,TitleName=titleold);//180608
- layery="0";
- color="blue";
- size="\Large";
- font="\bf";
-// tmp=Divoptions(options);
-// eqL=tmp_5;
- eqL=options; //180602
- forall(eqL,
- tmp1=Toupper(substring(#,0,1));
- tmp=indexof(#,"=");
- tmp2=substring(#,tmp,length(#));
- if(tmp1=="L",
- layery=tmp2;
- );
- if(tmp1=="C",
- color=tmp2;
- );
- if(tmp1=="S",
- size=tmp2;
- if(substring(size,0,1)!="\",size="\"+size);
- );
- if(tmp1=="F",
- font=tmp2;
- if(substring(font,0,1)!="\",font="\"+font);
- );
- if(tmp1=="T", //180330
- TitleName=tmp2;
- );
- );
- TitleCmdL=["{"+size+font];
- if(indexof(color,"[")>0,
- tmp=replace(color,"[","{");
- tmp=replace(tmp,"]","}");
- tmp1=Indexall(tmp,",");
- if(length(tmp1)>=3,
- tmp="\color[cmyk]"+tmp;
- ,
- tmp="\color[rgb]"+tmp;
- );
- ,
- tmp="\color{"+color+"}";
- );
- TitleCmdL=append(TitleCmdL,tmp);
- TitleCmdL=concat(TitleCmdL,["","\begin{layer}{120}{"+layery+"}"]);
- forall(1..(length(cmdL)),
- tmp=cmdL_#;
- if(length(tmp)>0,
- if(#==1,
- tmp="{\Huge \putnote"+tmp+"}"
- ,
- tmp="\putnote"+tmp;
- );
- TitleCmdL=append(TitleCmdL,tmp);
- );
- );
- TitleCmdL=concat(TitleCmdL,["\end{layer}","","}"]);
-);
-
-Maketitle():=(
- if(!isstring(TitleName), //17.04.13from
- drawtext(mouse().xy,"Settitle not defined",
- size->24,color->[1,0,0]);
- , //17.04.13until
- Maketitle(TitleName);
- );
-);
-Maketitle(name):=(
-//help:Maketitle();
- regional(texfile,texmain,tmp,tmp1,sep);
- texfile=name;
- texmain=name+"main";
- SCEOUTPUT=openfile(texfile+".tex");
- forall(TitleCmdL,
- println(SCEOUTPUT,#);
- );
- closefile(SCEOUTPUT);
- SCEOUTPUT=openfile(texmain+".tex");
- tmp="\documentclass[landscape,10pt]{article}";
- if(indexof(PathT,"platex")>0,
- tmp=replace(tmp,"article","jarticle");
- if(indexof(PathT,"uplatex")>0, //17.08.13from
- tmp=replace(tmp,"jarticle","ujarticle");
- );//17.08.13until
- );
- println(SCEOUTPUT,tmp);
- tmp="\special{papersize=\the\paperwidth,\the\paperheight}";
- println(SCEOUTPUT,tmp);
- tmp=replace(Dirhead,"\","/");//17.11.01from
- tmp=replace(tmp,"scripts","tex/latex");
- if(isexists(tmp,""),
- println(SCEOUTPUT,"\usepackage{ketpic,ketlayer,ketslide}");
- ,
- tmp=replace(Dirhead+"/ketpicstyle","\","/");
- println(SCEOUTPUT,"\usepackage{"+tmp+"/ketpic}");
- println(SCEOUTPUT,"\usepackage{"+tmp+"/ketlayer}");
- println(SCEOUTPUT,"\usepackage{"+tmp+"/ketslide}");
- );//17.11.01until
- println(SCEOUTPUT,"\usepackage{amsmath,amssymb}");
- println(SCEOUTPUT,"\usepackage{bm,enumerate}");
- if((indexof(PathT,"pdflatex")>0)%(indexof(PathT,"lualatex")>0),
- println(SCEOUTPUT,"\usepackage{graphicx}");
- ,
- println(SCEOUTPUT,"\usepackage[dvipdfmx]{graphicx}");
- );
- println(SCEOUTPUT,"\usepackage[usenames]{xcolor}");
- forall(ADDPACK,
-// if(indexof(#,"[")==0,
-// println(SCEOUTPUT,"\usepackage{"+#+"}");
-// ,
- println(SCEOUTPUT,"\usepackage"+#); // 17.07.10
-// );
- );
- if(indexof(PathT,"platex")>0,tmp="\ketmarginJ",tmp="\ketmarginE");
- println(SCEOUTPUT,tmp);
- println(SCEOUTPUT,"\ketslideinit");
- println(SCEOUTPUT,"");
- println(SCEOUTPUT,"\begin{document}");
- println(SCEOUTPUT,"");
- println(SCEOUTPUT,"\input{"+texfile+".tex}");
- println(SCEOUTPUT,"");
- println(SCEOUTPUT,"\end{document}");
- closefile(SCEOUTPUT);
- if(iswindows(),
- Makebat(texmain,"tv");
- ,
- Makeshell(texmain,"tv");
- );
- kc();
-);
-
-Repeatsameslide(repeatflg,sestr,addedL):=(
- regional(seL,flg1,ss,nn,nrep,tmp,tmp1,tmp2,tmp3,str,j,k);
- // global RepeatList, SCEOUTPUT, NonThinFlg
- nrep=length(RepeatList);
- flg1=0;
- forall(addedL,ss,
- if(repeatflg==0,
- if(substring(ss,0,1)!="%", //16.01.04
- println(SCEOUTPUT,ss);
- );//16.01.04
- ,
- forall(1..nrep,nn,
- if(sestr=="",
- RepeatList_nn=append(RepeatList_nn,ss);
- );
- );
- if(sestr=="",
- seL=[1];
- ,
- tmp1=substring(sestr,1,length(sestr)-1);
- tmp1=replace(tmp1,",-",".."+text(nrep));
- tmp1=replace(tmp1,"-,","1..");
- tmp1="["+tmp1+"]"; //17.01.03
- seL=flatten(parse(tmp1)); //17.01.03
- );
- if(contains(seL,1),
- if(substring(ss,0,1)!="%", //16.01.04
- println(SCEOUTPUT,ss);
- );
- seL=remove(seL,[1]);
- flg1=1;
- );
- forall(1..(length(seL)),nn,
- tmp=seL_nn;
- if(tmp<=length(RepeatList), //17.01.12from
- RepeatList_tmp=append( RepeatList_tmp,ss);
- ,
- println(" "+sestr+" : "+text(tmp)+" > "+text(length(RepeatList)));
- );
- );
- if(ThinFlg==1,//16.01.05from
- if(flg1==1,seL=append(seL,1));
- seL=remove(1..nrep,seL);
- str=ss; // 17.05.28from
- if(substring(str,0,16)=="\begin{minipage}",MiniFlg=1);//180526
- repeat(10,
- tmp1=Indexall(str,"{\color");
- if(length(tmp1)>0,
- tmp2=Indexall(str,"}");
- tmp=select(tmp2,tmp1_1<#);
- tmp=substring(str,tmp1_1,tmp_1);
- str=replace(str,tmp+" ","");
- str=replace(str,tmp,"");
- );
- );//17.05.28to
- if(contains(seL,1),
- if(substring(str,0,1)!="%",
- if(NonThinFlg==0,
- if(!contains(["\begi","\end{"],substring(str,0,5)),//17.01.15
- if(MiniFlg==0, //180526from
- println(SCEOUTPUT,"{\color[cmyk]{\thin,\thin,\thin,\thin}");//17.08.23
- println(SCEOUTPUT,str);
- println(SCEOUTPUT,"}%");
- ,
- println(SCEOUTPUT,str);
- if(indexof(str,"\end{minipage}")>0, //180526from
- println(SCEOUTPUT,"}%");
- );
- ); //180526to
- ,
- println(SCEOUTPUT,str);
- if(indexof(str,"\end{minipage}")>0, //180526from
- println(SCEOUTPUT,"}%");
- MiniFlg=0;
- );
- );
- );
- if(NonThinFlg==1,
- if(!contains(["\begi","\end{"],substring(str,0,5)),//17.01.15
- println(SCEOUTPUT,"{\color[cmyk]{\thin,\thin,\thin,\thin}");//17.08.23
- println(SCEOUTPUT,str);
- ,
- println(SCEOUTPUT,str);
- if(indexof(str,"\end{minipage}")>0, //180526from
- println(SCEOUTPUT,"}%");
- MiniFlg=0;
- );
- );
- );
- if(NonThinFlg==2,
- println(SCEOUTPUT,str);
- if(!contains(["\begi","\end{"],substring(str,0,5)),//17.01.15
- println(SCEOUTPUT,"}%");
- , //180526from
- if(indexof(str,"\end{minipage}")>0,
- println(SCEOUTPUT,"}%");
- MiniFlg=0;
- ); //180526from
- );
- );
- seL=remove(seL,[1]);
- );
- );
- if(substring(ss,0,1)!="%", //16.01.04
- forall(1..(length(seL)),nn,
- if(substring(str,0,16)=="\begin{minipage}",MiniFlg=1);//180526
- tmp=seL_nn;
- if(NonThinFlg==0,
- if(!contains(["\begi","\end{"],substring(str,0,5)),//180526from
- if(MiniFlg==0,
- tmp1="{\color[cmyk]{\thin,\thin,\thin,\thin}";//17.08.23
- tmp1=[tmp1,str,"}%"];
- ,
- tmp1=[str];
- if(indexof(str,"\end{minipage}")>0, //180526from
- tmp1=append(tmp1,"}%");
- );
- );
- ,
- tmp1=[str];
- if(indexof(str,"\end{minipage}")>0,
- tmp1=append(tmp1,"}%");
- MiniFlg=0;
- );
- );
- );
- if(NonThinFlg==1,
- if(!contains(["\begi","\end{"],substring(str,0,5)),//17.01.15
- tmp1="{\color[cmyk]{\thin,\thin,\thin,\thin}";//17.08.23
- tmp1=[tmp1,str];
- ,
- tmp1=[str];
- if(indexof(str,"\end{minipage}")>0,
- tmp1=append(tmp1,"}%");
- MiniFlg=0;
- );
- );
- );
- if(NonThinFlg==2,
- tmp1=[str];
- if(!contains(["\begi","\end{"],substring(str,0,5)),
- tmp1=append(tmp1,"}%");
- ,
- if(indexof(str,"\end{minipage}")>0,
- tmp1=append(tmp1,"}%");
- MiniFlg=0;
- );
- );
- );
- RepeatList_tmp=concat( RepeatList_tmp,tmp1);
- );
- );
- );//16.01.05to
- );
- );//16.12.05to
-);
-
-Presentation(texfile):=Presentation(texfile,texfile);
-Presentation(texfile,txtfile):=(
-//help:Presentation(texfile,txtfile);
- regional(file,flgL,flg,verbflg,slideL,ns,slideorgL,wall,sld,slidecmd,tmp,tmp0,tmp1,
- tmp2,tmp3,tmp4,tmp5,newoption,top,repeatflg,nrep,nrepprev,,repstr,
- sestr,npara,paradt,parafiles,hyperflg,paractr,
- letterc,boxc,shadowc,mboxc,sep);
- MiniFlg=0;//180526
- slidecmd=["\ketcletter","\ketcbox","\ketdbox","\ketcframe",
- "\ketcshadow","\ketdshadow","\slidetitlex","\slidetitlesize",
- "\mketcletter","\mketcbox","\mketdbox","\mketcframe",
- "\mslidetitlex","\mslidetitlesize"];
- if(!isstring(BodyStyle),//17.01.06
- BodyStyle="\Large\bf\boldmath";
- );
- repeatflg=0;
- RepeatList=[];
- paractr=0; //16.12.31
- if(indexof(texfile,".")==0,file=texfile+".tex",file=texfile);
- if(indexof(txtfile,".")==0,tmp1=txtfile+".txt",tmp1=txtfile);
- tmp=load(tmp1);
- tmp=replace(tmp,"////","||||");// 16.05.11, 06.24(reactivated)
- slideL=tokenize(tmp,"//");
- slideorgL=slideL; // 16.07.11
- slideL=apply(slideL,Removespace(#));
- tmp=select(1..length(slideL),length(slideL_#)>0); // 16.07.11from
- slideL=apply(tmp,slideL_#);
- slideorgL=apply(tmp,slideorgL_#);
-// slideL=select(slideL,length(#)>0); // 16.07.11until
- flg=0; // 16.06.09from
- forall(1..10,
- if(flg==0,
- if(substring(slideL_1,0,1)!="%",
- flg=1;
- ,
- slideL=slideL_(2..length(slideL));
- slideorgL=slideorgL_(2..length(slideorgL));
- );
- );
- ); // 16.06.09until
- flgL=[];
- SCEOUTPUT = openfile(file);
- tmp=tokenize(slideL_1,"::");
- tmp1=tmp_1;
- if(length(tmp)>1,
- tmp2=tmp_2;
- tmp3=tmp_(3..length(tmp));//16.06.25
- ,
- tmp2="";
- tmp3=tmp_(2..length(tmp));//16.06.25
- );
- wall=""; // 16.06.10
- if(length(tmp3)>0,//16.06.25from
- tmp=substring(tmp3_1,0,1);//180330
- if((tmp!="\")&(tmp!="%")&(indexof(tmp3_1,"=")==0), //180330
- wall=tmp3_1;
- tmp3=tmp3_(2..length(tmp3));
- );
- );//16.06.25until
- tmp="%%% "+tmp1+" "+txtfile;// 16.06.09from
- println(SCEOUTPUT,tmp);
- tmp="\documentclass[landscape,10pt]{article}";
- if(indexof(PathT,"platex")>0,
- tmp=replace(tmp,"article","jarticle");
- if(indexof(PathT,"uplatex")>0, //17.08.13from
- tmp=replace(tmp,"jarticle","ujarticle");
- );//17.08.13until
- );
- println(SCEOUTPUT,tmp);// 16.06.09from
- tmp=select(1..(length(tmp3)),indexof(tmp3_#,"\usepackage")>0);//17.06.18from
- forall(tmp,
- println(SCEOUTPUT,tmp3_#);
- );
- tmp=remove(1..(length(tmp3)),tmp);
- tmp3=tmp3_tmp;//17.06.18until
-// if(iswindows(),sep="\",sep="/"); // 17.04.08
-// sep="/";
- if((indexof(PathT,"pdflatex")>0)%(indexof(PathT,"lualatex")>0),
- if(indexof(PathT,"lualatex")>0,
- println(SCEOUTPUT,"\usepackage{luatexja}");
- );
- println(SCEOUTPUT,"\usepackage{pict2e}");
- println(SCEOUTPUT,"\usepackage{ketpic2e,ketlayer2e}");// 17.04.08from
- ,
- println(SCEOUTPUT,"\special{papersize=\the\paperwidth,\the\paperheight}");
- );// 17.04.08until
- tmp=replace(Dirhead,"\","/");//17.11.01from
- tmp=replace(tmp,"scripts","tex/latex");
- if(isexists(tmp,""),
- println(SCEOUTPUT,"\usepackage{ketpic,ketlayer}");
- ,
- tmp=replace(Dirhead+"/ketpicstyle","\","/");
- println(SCEOUTPUT,"\usepackage{"+tmp+"/ketpic}");
- println(SCEOUTPUT,"\usepackage{"+tmp+"/ketlayer}");
- );
- if(length(wall)==0,
- tmp=replace(Dirhead,"\","/");//17.11.01from
- tmp=replace(tmp,"scripts","tex/latex");
- if(isexists(tmp,""),
- println(SCEOUTPUT,"\usepackage{ketslide}");
- ,
- tmp=replace(Dirhead+"/ketpicstyle","\","/");
- println(SCEOUTPUT,"\usepackage{"+tmp+"/ketslide}");
- );
- ,
- tmp=replace(Dirhead,"\","/");
- tmp=replace(tmp,"scripts","tex/latex");
- if(isexists(tmp,""),
- println(SCEOUTPUT,"\usepackage{ketslide2}");
- ,
- tmp=replace(Dirhead+"/ketpicstyle","\","/");
- println(SCEOUTPUT,"\usepackage{"+tmp+"/ketslide2}");
- );
- );//17.04.08until
- println(SCEOUTPUT,"\usepackage{amsmath,amssymb}");
- println(SCEOUTPUT,"\usepackage{bm,enumerate}");
- if((indexof(PathT,"pdflatex")>0)%(indexof(PathT,"lualatex")>0),
- println(SCEOUTPUT,"\usepackage{graphicx}");
- ,
- println(SCEOUTPUT,"\usepackage[dvipdfmx]{graphicx}");
- );
- println(SCEOUTPUT,"\usepackage{xcolor}");//17.07.31
- letterc=[0.98,0.13,0,0.43]; boxc=[0,0.32,0.52,0];
- shadowc=[0,0,0,0.5]; mboxc="yellow";
- tmp4="abcdefghijklmno";
- forall(1..15,
- tmp=SlideColorList_#;
- if(islist(tmp),
- tmp=text(tmp);
- tmp=substring(tmp,1,length(tmp)-1);
- if(length(SlideColorList_#)==4,//17.01.07from
- println(SCEOUTPUT,"\definecolor{slidecolor"+tmp4_#+"}{cmyk}{"+tmp+"}");
- );
- if(length(SlideColorList_#)==3,
- println(SCEOUTPUT,"\definecolor{slidecolor"+tmp4_#+"}{rgb}{"+tmp+"}");
- );//17.01.07until
- SlideColorList_#="slidecolor"+tmp4_#;
- );
- );
- println(SCEOUTPUT,"\def\setthin#1{\def\thin{#1}}");//17.08.23
- println(SCEOUTPUT,"\setthin{"+text(ThinDense)+"}");//17.08.23
- println(SCEOUTPUT,"\newcommand{\slidepage}[1][s]{%");//180524from
- println(SCEOUTPUT,"\setcounter{ketpicctra}{18}%");
- println(SCEOUTPUT,"\if#1m \setcounter{ketpicctra}{1}\fi");
- println(SCEOUTPUT,"\hypersetup{linkcolor=black}%");
- println(SCEOUTPUT,"\begin{layer}{118}{0}");
- println(SCEOUTPUT,"\putnotee{122}{-\theketpicctra.05}{\small\thepage/\pageref{pageend}}");
- println(SCEOUTPUT,"\end{layer}\hypersetup{linkcolor=blue}}");//189524to
- forall(ADDPACK,// 16.06.09from
- println(SCEOUTPUT,"\usepackage"+#);
- );// 16.06.09to
- tmp=select(ADDPACK,indexof(#,"{hyperref}")>0);//16.12.31from
- if(length(tmp)>0,
- hyperflg=1;
- ,
- hyperflg=0; //16.12.31until
- );
- forall(tmp3,
- println(SCEOUTPUT,#);
- );
- if(indexof(PathT,"platex")>0,tmp="\ketmarginJ",tmp="\ketmarginE"); // 16.06.09
- println(SCEOUTPUT,tmp);
- println(SCEOUTPUT,"\ketslideinit");
- println(SCEOUTPUT,"");
- forall(tmp, // 15.07.21
- if(substring(#,0,1)=="\", println(SCEOUTPUT,#));
- );
-// if(!isstring(PageStyle),PageStyle="headings");//180524from
-// println(SCEOUTPUT,"\pagestyle{"+PageStyle+"}");
- println(SCEOUTPUT,"\pagestyle{empty}");//180524to
- println(SCEOUTPUT,"");
- println(SCEOUTPUT,"\begin{document}");
- println(SCEOUTPUT,"");
- if(length(wall)>0,
- println(SCEOUTPUT,"\input{fig/"+wall+".tex}");
- println(SCEOUTPUT,"");
- );
- if(length(tmp2)>0,
- if(indexof(tmp2," no")==0, // 16.11.11from
- println(SCEOUTPUT,"\begin{layer}{120}{0}");
- if(substring(tmp2,0,1)!="\",
- tmp2="\putnotese{0}{0}{\input{fig/"+tmp2+".tex}}";//16.12.27
- );
- println(SCEOUTPUT,tmp2);
- println(SCEOUTPUT,"\end{layer}");
- println(SCEOUTPUT,"");
- ,
- tmp=indexof(tmp2,"=");
- if(tmp==0,
- top="10mm";
- ,
- top=substring(tmp2,tmp,length(tmp2));
- );
- println(SCEOUTPUT,"");
- println(SCEOUTPUT,"\vspace*{"+top+"}");
- println(SCEOUTPUT,"");
- ); // 16.11.11until
- );
- println(SCEOUTPUT,"\def\mainslidetitley{22}");
- forall(1..14, //16.12.22from
- tmp=SlideColorList_#;
- if(!isstring(tmp),tmp=text(tmp));
- if(length(tmp)>0,
- tmp="\def"+slidecmd_#+"{"+tmp+"}";
- println(SCEOUTPUT,tmp);
- );
- );//16.12.22until
- println(SCEOUTPUT,"");
- println(SCEOUTPUT,"\color{"+SlideColorList_(15)+"}");
- println(SCEOUTPUT,BodyStyle);//17.01.07
-// println(SCEOUTPUT,"\thispagestyle{empty}");//180524
- println(SCEOUTPUT,"\addtocounter{page}{-1}");//17.01.29
- println(SCEOUTPUT,"");
- verbflg=0; //16.06.28
- repeatflg=0;//16.12.02
- nrep=0;//16.12.27
- nrepprev=0;//17.01.03
- npara=0;//16.12.27
- forall(2..length(slideL),ns,
- ThinFlg=0;
- NonThinFlg=0;
- flg=0;
- tmp1="";
- tmp2="";
- tmp3="";
- sld=removespace(slideL_ns); // 16.06.28
- sestr="";
- if((substring(sld,0,1)=="%") & (substring(sld,0,2)!="%%"), // 17.06.23
- Repeatsameslide(repeatflg,"",[slideL_ns]);
- if(repeatflg>0,
- tmp=indexof(sld,"]::");
- if(tmp>0,
- if(substring(sld,1,2)!="%",//17.05.31
- if(substring(sld,1,5)=="thin",
- ThinFlg=1;
- );
- sestr=substring(sld,1,tmp);
- sld=substring(sld,tmp+2,length(sld));
- tmp=indexof(sestr,"[");
- sestr=substring(sestr,tmp-1,length(sestr));//17.01.05
- );
- );
- );
- if(substring(sld,1,7)=="repeat", // 16.12.09from
- tmp=indexof(sld,"=");
- tmp5=substring(sld,tmp,length(sld));
- tmp=indexof(tmp5,",");
- if(tmp>0,//17.01.03from
- tmp5=substring(tmp5,0,tmp-1);
- );//17.01.03until
- repeatflg=1;
- if(length(tmp5)>0,
- nrep=parse(tmp5);
- tmp=[];
- if(length(wall)>0,
- tmp=["","\input{fig/"+wall+".tex}"];
- );
- tmp=concat(tmp,
- ["","\sameslide"+NewSlideOption,"","\vspace*{18mm}",""]);//180524
- RepeatList=apply(1..nrep,if(#==1,[],tmp));
- );
- if(sestr=="",flg=1);
- tmp=indexof(sld,",");//17.01.03from
- if(tmp>0,
- sld="%"+substring(sld,tmp,length(sld));
- if(indexof(sld,"=")==0,sld=sld+"=");
- );//17.01.03until
- );
- if(substring(sld,1,5)=="para",
- paractr=paractr+1;
- repeatflg=1;
- tmp=indexof(sld,"=");
- tmp=substring(sld,tmp,length(sld));
- if(length(tmp)==0, //17.01.03
- npara=0;
- ,
- paradt=tokenize(tmp,":");
- tmp=fileslist(Dirwork+"/fig/"+paradt_1);
- if(length(tmp)>0,
- parafiles=tokenize(tmp,",");
- if(indexof(paradt_4,"input")>0,
- tmp0=indexof(paradt_4,",");//17.01.29from
- if(tmp0>0,
- paradt=append(paradt,substring(paradt_4,tmp0,length(paradt_4)));
- paradt_4=substring(paradt_4,0,tmp0-1);
- );//17.01.29until
- parafiles=select(parafiles,indexof(#,".tex")>0);
- if(indexof(paradt_4,"\input")==0,paradt_4="\"+paradt_4);//16.12.17
- );
- if(indexof(paradt_4,"include")>0,
- parafiles=select(parafiles,indexof(#,".pdf")>0);
- );
- npara=length(parafiles);
- ,
- println(Dirwork+"/fig/"+paradt_1+" not found");
- parafiles=[];
- npara=0;
- );
- if(nrep==0,
- nrep=npara;
- if(length(wall)>0,
- tmp=["","\input{fig/"+wall+".tex}"];
- );
- tmp=concat(tmp,
- ["","\sameslide"+NewSlideOption,"","\vspace*{18mm}",""]);//180524
- RepeatList=apply(1..nrep,if(#==1,[],tmp));
- );
- );
- forall(1..nrep, //16.12.28
- tmp4=[]; //16.12.31from
- if(hyperflg>0,
- tmp4=["\hypertarget{para"+text(paractr)+"pg"+text(#)+"}{}"];
- );//16.12.31to
- if(npara>0, //17.01.03
- tmp4=concat(tmp4,["","\begin{layer}{120}"+paradt_2]);
- if(#<=npara, //16.12.28from
- tmp=parafiles_#;
- ,
- tmp=parafiles_npara;
- );
- tmp="{"+paradt_4+"{fig/"+paradt_1+"/"+tmp+"}}";
- if(length(paradt)>=5,
- tmp="{\scalebox{"+text(paradt_5)+"}"+tmp+"}";
- );
- if(substring(paradt_3,0,1)=="\",
- tmp=paradt_3+tmp;
- ,
- tmp="\putnote"+paradt_3+tmp;
- );
- tmp4=concat(tmp4,[tmp]);//16.12.31
- ,
- tmp4=concat(tmp4,["","\begin{layer}{120}{0}"]);
- );
- if((hyperflg>0) & (LinkSize>0.15),
- tmp="{"+text(LinkPosV)+"}{\hyperlink{para"; // 17.01.12from
- tmp1=tmp+text(paractr)+"pg";
- tmp2=tmp+text(paractr-1)+"pg"+text(nrepprev);
- tmp=tmp2; //180526from
- tmp3=[text(LinkPosH-29*LinkSize)+"}"+tmp+"}{\fbox{\Ctab{"
- +text(2.5*LinkSize)+"mm}{\scalebox{"+text(LinkSize)
- +"}{\scriptsize $\mathstrut||\!\lhd$}}}}}"];
- if(nrep>1,//180526
- tmp="{"+text(LinkPosV)+"}{\hyperlink{para"; // 17.01.12from
- tmp1=tmp+text(paractr)+"pg";
- tmp2=tmp+text(paractr-1)+"pg"+text(nrepprev);
- tmp=tmp1+text(1);
- tmp3=append(tmp3,
- text(LinkPosH-24*LinkSize)+"}"+tmp+"}{\fbox{\Ctab{"
- +text(2.5*LinkSize)+"mm}{\scalebox{"+text(LinkSize)
- +"}{\scriptsize $\mathstrut|\!\lhd$}}}}}"); //180526to
- if(#>1,tmp=tmp1+text(#-1),tmp=tmp2);
- tmp3=append(tmp3,
- text(LinkPosH-17*LinkSize)+"}"+tmp+"}{\fbox{\Ctab{"
- +text(4.5*LinkSize)+"mm}{\scalebox{"+text(LinkSize)
- +"}{\scriptsize $\mathstrut\!\!\lhd\!\!$}}}}}");
- if(#<nrep,tmp=tmp1+text(#+1),tmp=tmp1+text(nrep));
- tmp3=append(tmp3,
- text(LinkPosH-10*LinkSize)+"}"+tmp+"}{\fbox{\Ctab{"
- +text(4.5*LinkSize)+"mm}{\scalebox{"+text(LinkSize)
- +"}{\scriptsize $\mathstrut\!\rhd\!$}}}}}");
- tmp=tmp1+text(nrep); //180526from
- tmp3=append(tmp3,
- text(LinkPosH-5*LinkSize)+"}"+tmp+"}{\fbox{\Ctab{" // 17.01.19
- +text(2.5*LinkSize)+"mm}{\scalebox{"+text(LinkSize)
- +"}{\scriptsize $\mathstrut \!\rhd\!\!|$}}}}}");
- );
- tmp="{"+text(LinkPosV)+"}{\hyperlink{para"; //180529(2lines)
- tmp=tmp+text(paractr+1)+"pg"+text(1);
- tmp3=append(tmp3,
- text(LinkPosH)+"}"+tmp+"}{\fbox{\Ctab{" // 17.01.19
- +text(2.5*LinkSize)+"mm}{\scalebox{"+text(LinkSize)
- +"}{\scriptsize $\mathstrut \!\rhd\!\!||$}}}}}"); //180526to
- );
- tmp3=apply(tmp3,tmp,"\putnotew{"+tmp);
- tmp4=concat(tmp4,tmp3);// 17.01.12to
- tmp="\putnotee{"+text(LinkPosH+1)+"}{"+text(LinkPosV)+"}";//180524
- tmp=tmp+"{\scriptsize\color{blue} "+text(#)+"/"+text(nrep)+"}"; //180524(blue)
- tmp4=append(tmp4,tmp);
- tmp4=concat(tmp4,["\end{layer}",""]);//16.12.31until
- Repeatsameslide(repeatflg,text([#]),tmp4);
- );
- );
- );
- if(substring(sld,0,2)=="%%", //17.06.23from
- println(SCEOUTPUT,sld);
- flg=1;
- ); //17.06.23to
- if(flg==0,
- if(indexof(sld,"\begin{verbatim}")==1, // 16.06.28from
- Repeatsameslide(repeatflg,sestr,[slideL_ns]);
- verbflg=1;
- flg=1;
- ); // 16.06.28
- if(indexof(sld,"\end{verbatim}")==1,
- Repeatsameslide(repeatflg,sestr,[slideL_ns]);
- verbflg=0;
- flg=1;
- ); // 16.06.28until
- if(flg==0,
- tmp=replace(sld,"||||","//"); // 16.05.11
- tmp=tokenize(tmp,"::"); // 16.05.11
- tmp1=tmp_1;
- if(length(tmp)>1,tmp2=tmp_2,tmp2="");
- if(length(tmp)>2,tmp3=tmp_3,tmp3="");
- if(length(tmp)>3,tmp4=tmp_4,tmp4="");
- if(length(tmp)>4,tmp5=tmp_5,tmp5="");
- if(contains(["main","new","same"],tmp1),
- if(tmp1=="new", // 16.11.09from
- newoption="";
- if(substring(tmp2,0,1)=="[",newoption=tmp2);
- );
- if(tmp1=="same",
- if(length(tmp2)==0,tmp2=newoption);
- );// 16.11.09until
- println(SCEOUTPUT,"");
- println(SCEOUTPUT,"%%%%%%%%%%%%%%%%%%%%");
- println(SCEOUTPUT,"");
- );
- );
- if(flg==0&tmp1=="main",
- if(repeatflg==1,
- forall(2..(length(RepeatList)),nrep,
- tmp=RepeatList_nrep;
- forall(tmp,
- if(substring(#,0,1)!="%", //16.01.04
- println(SCEOUTPUT,#);
- );
- );
- );
- println(SCEOUTPUT,"");
- repeatflg=0;RepeatList=[];
- nrepprev=nrep;//17.01.03
- nrep=0;//16.12.27
- npara=0;//16.12.27
- );
- if(length(wall)>0,
- println(SCEOUTPUT,"\input{fig/"+wall+".tex}");
- );
- println(SCEOUTPUT,"\mainslide{"+tmp2+"}");
- println(SCEOUTPUT,"");
- println(SCEOUTPUT,"");
- tmp2="";
- flg=1;
- );
- if(flg==0&tmp1=="new",
- if(repeatflg==1,
- forall(2..(length(RepeatList)),nrep,
- tmp=RepeatList_nrep;
- forall(tmp,
- if(substring(#,0,1)!="%", //16.01.04
- println(SCEOUTPUT,#);
- );
- );
- );
- println(SCEOUTPUT,"");
- repeatflg=0;RepeatList=[];
- nrepprev=nrep;//17.01.03
- nrep=0;
- npara=0;
- );
- if(length(wall)>0,
- Repeatsameslide(repeatflg,sestr,["\input{fig/"+wall+".tex}"]);
- );
- tmp="\newslide";
- NewSlideOption=""; //17.01.04
- if(substring(tmp2,0,1)=="[",
- NewSlideOption=tmp2; //17.01.04
- tmp=tmp+tmp2;
- tmp2=tmp3;
- tmp3=tmp4;
- tmp4=tmp5;
- );
- tmp=tmp+"{"+tmp2+"}";
- Repeatsameslide(repeatflg,sestr,[tmp,"","\vspace*{18mm}",""]);//180524
- tmp2="";
- flg=1;
- );
- if(flg==0&tmp1=="same",
- if(repeatflg==1,
- forall(2..(length(RepeatList)),nrep,
- tmp=RepeatList_nrep;
- forall(tmp,
- if(substring(#,0,1)!="%", //16.01.04
- println(SCEOUTPUT,#);
- );
- );
- );
- println(SCEOUTPUT,"");
- repeatflg=0;RepeatList=[];
- nrepprev=nrep;//17.01.03
- nrep=0;
- npara=0;
- );
- if(length(wall)>0,
- println(SCEOUTPUT,"\input{fig/"+wall+".tex}");
- );
- tmp="\sameslide"+NewSlideOption; //17.01.04;
-// if(substring(tmp2,0,1)=="[",
-// tmp=tmp+tmp2;
-// tmp2=tmp3;
-// tmp3=tmp4;
-// );
- println(SCEOUTPUT,tmp);
- println(SCEOUTPUT,""); //180524
- println(SCEOUTPUT,"\vspace*{18mm}");
- println(SCEOUTPUT,"");
- tmp4=tmp3;
- tmp3=tmp2;
- tmp2="";
- flg=1;
- );
- if(flg==0&tmp1=="itemize",
- Repeatsameslide(repeatflg,sestr,["\begin{itemize}"]);
- flgL=append(flgL,"i");
- tmp2="";
- tmp3="";
- flg=1;
- );
- if(flg==0&tmp1=="enumerate",
- Repeatsameslide(repeatflg,sestr,["\begin{enumerate}"+tmp2]);
- flgL=append(flgL,"e");
- tmp2="";
- tmp3="";
- flg=1;
- );
- if(flg==0&tmp1=="verbatim", //16.06.28from
- Repeatsameslide(repeatflg,sestr,["\begin{verbatim}"]);
- flgL=append(flgL,"v");
- tmp1="";
- tmp2="";
- tmp3="";
- verbflg=1;
- flg=1;
- ); //16.06.28until
- if(flg==0&tmp1=="layer",
- Repeatsameslide(repeatflg,sestr,[""]);
- tmp="\begin{layer}";
- if(length(tmp2)>0,
- tmp=tmp+tmp2;
- ,
- tmp=tmp+"{120}{0}";
- );
- Repeatsameslide(repeatflg,sestr,[tmp]);
- flgL=append(flgL,"l");
- tmp2="";
- tmp3="";
- flg=1;
- );
- if(flg==0&tmp1=="putnote",
- tmp="\putnote"+tmp2+"{";
- if(indexof(tmp3,"include")==0,
- tmp1=indexof(tmp3,",");
- if(tmp1==0,
- tmp=tmp+"\input{fig/"+tmp3+".tex}}";
- ,
- tmp2=substring(tmp3,tmp1,length(tmp3));
- tmp3=substring(tmp3,0,tmp1-1);
- tmp=tmp+"\scalebox{"+tmp2+"}{\input{fig/"+tmp3+".tex}}}";
- );
- ,
- tmp2=indexof(tmp3,"[");
- tmp3=substring(tmp3,tmp2-1,length(tmp3));
- tmp=tmp+"\includegraphics"+tmp3+"{fig/"+tmp4+"}}";
- );
- Repeatsameslide(repeatflg,sestr,[tmp]);
- tmp2="";
- tmp3="";
- flg=1;
- );
- if(flg==0&tmp1=="item",
- NonThinFlg=1;
- Repeatsameslide(repeatflg,sestr,["\item"]);
- tmp3="";
- flg=1;
- );
- if(flg==0&tmp1=="end"&(length(flgL)>0), //180526
- tmp=flgL_(length(flgL));
- if(tmp=="i",
- Repeatsameslide(repeatflg,sestr,["\end{itemize}"]);
- );
- if(tmp=="e",
- Repeatsameslide(repeatflg,sestr,["\end{enumerate}"]);
- );
- if(tmp=="l",
- Repeatsameslide(repeatflg,sestr,["\end{layer}",""]);
- );
- if(tmp=="v", // 16.06.28from
- Repeatsameslide(repeatflg,sestr,["\end{verbatim}",""]);
- verbflg=0;
- ); // 16.06.28until
- flgL=flgL_(1..(length(flgL)-1));
- tmp2="";
- tmp3="";
- flg=1;
- );
- if(flg==0, // 16.06.28from
- if(verbflg==0,
- tmp2=tmp1;
- ,
- tmp2=slideorgL_ns; // 16.07.11
- tmp2=replace(tmp2,"||","//"); // 16.07.10
- tmp3="";
- );
- ); // 16.06.28until
- if(length(tmp2)>0,
- if(tmp2=="...", tmp2="");
- if(NonThinFlg==1,NonThinFlg=2);
- Repeatsameslide(repeatflg,sestr,[tmp2]);
- );
- if(length(tmp3)>0,
- Repeatsameslide(repeatflg,sestr,["\begin{layer}{120}{0}"]);
- if(substring(tmp3,0,1)=="{",
- tmp=tmp3;
- tmp3=tmp4;
- ,
- tmp="{60}{0}";
- );
- tmp1=indexof(tmp3,",");
- if(tmp1==0,
- tmp3="\putnotes"+tmp+"{\input{fig/"+tmp3+".tex}}";
- ,
- tmp2=substring(tmp3,tmp1,length(tmp3));
- tmp3=substring(tmp3,0,tmp1-1);
- tmp3="\putnotes"+tmp+"{\scalebox{"+tmp2+"}
- {\input{fig/"+tmp3+".tex}}}";
- );
- Repeatsameslide(repeatflg,sestr,[tmp3,"\end{layer}",""]);
- );
- );
- );
- if(repeatflg==1,
- forall(2..(length(RepeatList)),nrep,
- tmp=RepeatList_nrep;
- forall(tmp,
- if(substring(#,0,1)!="%", //16.01.04
- println(SCEOUTPUT,#);
- );
- );
- );
-// println(SCEOUTPUT,"");
- );
- println(SCEOUTPUT,"\label{pageend}\mbox{}"); //180529
- println(SCEOUTPUT,"");
- println(SCEOUTPUT,"\end{document}");
- closefile(SCEOUTPUT);
-);
-
-Mkslides():=(
- regional(sep,parent,texparentorg,tmp,tmp1,tmp2,tmp3,tmp4,flg);
- tmp4=Fhead;
- Fhead="";
- if(!iswindows(), //17.10.13
- Dirwork=replace(Dirwork,"\",pathsep());
- parent=replace(Dirwork+Shellparent,"\",pathsep());
- ,
- Dirwork=replace(Dirwork,"/",pathsep());
- parent=replace(Dirwork+Batparent,"/",pathsep());// 16.05.29
- );
- tmp=replace(Dirwork,pathsep()+"fig","");//180604(2lines)
- Changework(tmp);
- Setdirectory(Dirwork);
- if(!iswindows(), //180604from
- println(setexec(Dirwork,Shellparent));
- ); //180604to
- if(length(Texmain)>0, // 15.08.14 from
- Texparent=Texmain;
- );
- texparentorg=Texparent; //17.04.10from
- if(isstring(Slidename), // 15.08.14 from
- Texparent=Slidename;
- );//17.04.10until
- if(!isexists(Dirwork,Texparent+".txt"), // 17.04.12from
- drawtext(mouse().xy,Texparent+".txt not exist in "+Dirwork,
- size->24,color->[1,0,0]);
- , // 17.04.12until
- Presentation(Texparent); // 15.08.14to
- if(iswindows(),
- tmp2=Batparent;
- parent=replace(Dirwork+Batparent,sep+"fig","");// 16.05.29
- if(indexof(Pathpdf,"Adobe")>0, //17.12.09from
- Makebat(Texparent,"ttv");
- ,
- Makebat(Texparent,"tv");
- ); //17.12.09until
- kc():=(
- println("kc : "+kc(parent,Dirlib,Fnametex)); // 16.06.10, 17.02.19
- );
- kc();
- Batparent=tmp2;
- ,
- tmp2=Shellparent;
- parent=replace(Dirwork+Shellparent,sep+"fig","");// 16.05.29
- Shellparent=replace(Shellparent,sep+"fig","");
- if(indexof(Pathpdf,"Adobe")>0, //17.12.09from
- Makeshell(Texparent,"ttv");
- ,
- Makeshell(Texparent,"tv");
- ); //17.12.09until
- kc():=(
- println("kc : "+kc(parent,Mackc+Dirlib,Fnametex)); // 16.06.10
- );
- kc();
- Shellparent=tmp2;
- );
- );
- Dirwork=Dirwork+pathsep()+"fig"; //17.10.16
- setdirectory(Dirwork);
- Fhead=tmp4;
- Texparent=texparentorg;//17.04.10
-);
-
-Mkslidesummary():=( // 17.10.26 for R
- regional(texparentorg);
- texparentorg=Texparent;
- if(isstring(Slidename),
- Texparent=Slidename;
- );
- Mkslidesummary(Texparent,Texparent+"digest",["m","Wait=3"]);
- Texparent=texparentorg;
-);
-Mkslidesummary(fin,fout):=
- Mkslidesummary(fin,fout,["m","Wait=3"]);
-Mkslidesummary(inputfile,outputfile,options):=(
-//help:Mkslidesummary(fin,fout,options);
- regional(fin,fout,out,figflg,dirworkorg,dirtop,tmp);
- dirworkorg=Dirwork;//17.04.10from
- dirtop=replace(Dirwork,pathsep()+"fig","");
- Changework(dirtop);//17.04.10uptp
- if(ismacosx(), //180604from
- println(setexec(Dirwork,Shellparent));
- ); //180604to
- fin=inputfile;
- if(indexof(fin,".")==0,fin=fin+".tex");
- fout=outputfile;
- if(indexof(fout,".")==0,fout=fout+".tex");
- cmdL=[
- "Dt=readLines('"+fin+"',encoding='UTF-8')",[],
- "num=grep('hypertarget',Dt,fixed=TRUE)",[], //180412
- "Dt=Dt[setdiff(1:length(Dt),num)]",[],
- "Smain=c();Snew=c();Ssame=c()",[],
- "for(J in 1:length(Dt)){",[],
- " Tmp=length(grep('mainslide{',Dt[J],fixed=TRUE))",[], //180412
- " if(Tmp>0){Smain=c(Smain,1)}else{Smain=c(Smain,0)}",[],
- " Tmp=length(grep('newslide{',Dt[J],fixed=TRUE))",[], //180412
- " if(Tmp>0){Snew=c(Snew,1)}else{Snew=c(Snew,0)}",[],
- " Tmp=length(grep('sameslide',Dt[J],fixed=TRUE))",[], //180412
- " if(Tmp>0){Ssame=c(Ssame,1)}else{Ssame=c(Ssame,0)}",[],
- "}",[],
- "Nnew=c();Nsame=c()",[],
- "for(J in 1:length(Dt)){",[],
- " if((Snew[J]==1)|(Smain[J]==1)){Nnew=c(Nnew,J)}",[],
- " if(Ssame[J]==1){Nsame=c(Nsame,J)}",[],
- "}",[],
- "Out=Dt[1:Nnew[1]]",[],
- "for(J in Looprange(2,length(Nnew))){",[],
- " Tmp=max(c(1,Nsame[Nsame<Nnew[J]]))",[],
- " Tmp=max(c(Tmp,Nnew[J-1]))+1",[],
- " Out=c(Out,Dt[Tmp:Nnew[J]])",[],
- "}",[],
- "Tmp=max(c(Nsame[-1],Nnew[-1]))+1",[],
- "Out=c(Out,Dt[Tmp:length(Dt)])",[],
- "writeLines(Out,'"+fout+"',sep='\n')",[] //180412(2lines removed)
- ];
- CalcbyR("",cmdL,append(options,"Cat=n"));//180412
- wait(1000);
- Changework(dirtop);//17.04.10
- tmp=replace(fout,".tex","");
- if(iswindows(),
- Makebat(tmp,"tv");
- ,
- Makeshell(tmp,"tv");
- );
- kc();
- Changework(dirworkorg);//17.04.10
-);
-
-Example(exorg):=Example(exorg,"");
-Example(exorg,suborg):=(
-//help:Example("Mxfun","diff");
- regional(ex,tmp,tmp1,tmp2);
- ex=replace(exorg,"'",Dq);
- sub=replace(suborg,"'",Dq);
- setdirectory(Dirlib);
- tmp=load("examples.txt");
- setdirectory(Dirwork);
- tmp=tokenize(tmp,"//");
- tmp=tmp_(1..(length(tmp)-1));
- tmp1=select(tmp,substring(#,0,length(ex))==ex);
- tmp1=sort(tmp1);
- if(length(sub)>0,
- tmp1=select(tmp1,indexof(#,sub)>0);
- );
- forall(tmp1,
- if((indexof(#,"##")>0) % (indexof(#,"~#")>0),
- tmp=indexof(#,",");
- println(substring(#,tmp,length(#)));
- ,
- println(#);
- );
- );
-);
-
-BBdata():=Bbdata(BBTarget,0);
-BBdata(fname):=Bbdata(fname,0); // 16.04.09
-BBdata(fname,optionorg):=(
-//help:BBdata(filename);
-//help:BBdata(options=0(automatic),1(make),"w=","h=");
- regional(fout,flg,path,file,kcfile,options,eqL,reL,stL,
- waiting,addop,tmp,tmp1,tmp2);
- path="";
- file=fname;
- flg=0;
- waiting=2;
- forall(reverse(1..length(fname)),
- if(flg==0,
- tmp=substring(fname,#-1,#);
- if(tmp=="/" % tmp=="\", // 14.01.15
- path=substring(fname,0,#-1);
- file=substring(fname,#,length(fname));
- flg=1;
- );
- );
- );
- if(path=="",path=Dirwork);//16.10.05
- if(indexof(file,".")==0,file=file+".pdf");
- if(islist(optionorg),options=optionorg,options=[optionorg]);
- tmp=divoptions(options);
- eqL=tmp_5;
- reL=tmp_6;
- stL=tmp_7;
- flg=0;
- addop="";
- if(length(reL)>0,
- tmp=reL_1;
- if(tmp==1,flg=1);
- );
- forall(stL,
- tmp=Toupper(substring(#,0,1));
- if(tmp=="M",flg=1);
- );
- forall(eqL,
- tmp=indexof(#,"=");
- tmp1=Toupper(substring(#,0,2));
- tmp2=substring(#,tmp,length(#));
- if(tmp1=="W=",
- addop=addop+",width="+tmp2;
- options=remove(options,[#]);
- );
- if(tmp1=="H=",
- addop=addop+",height="+tmp2;
- options=remove(options,[#]);
- );
- );
- tmp=indexof(file,".");
- tmp1=substring(file,0,tmp-1);
- fout=tmp1+".txt";
- if(iswindows(),
- kcfile="kc.bat";
- ,
- kcfile="kc.sh";
- );
- if(flg==0,
- tmp=load(fout); //
- if(length(tmp)==0,
- flg=1;
- ,
- tmp=tokenize(tmp,"%%");
- tmp=tmp_2;
- tmp1=indexof(tmp,":");
- tmp=substring(tmp,tmp1,length(tmp));
- tmp=Removespace(tmp);
- if(tmp!=file,flg=1);
- );
- );
- if(length(path)==0,
- path=Dirwork;
- );
- if(flg==1,
- setdirectory(path);
- tmp=load(file);
- setdirectory(Dirwork);
- if(length(tmp)==0,
- println(" => "+file+" not exists");
- flg=-1;
- );
- );
- if(flg==1,
- SCEOUTPUT = openfile(kcfile);
- if(!iswindows(),
- println(SCEOUTPUT,"#!/bin/sh");
- );
- println(SCEOUTPUT,"cd "+Dq+path+Dq);
- tmp=replace(PathT,"pdflatex","extractbb"); //16.11.22
- tmp=replace(tmp,"pdftex","extractbb"); //16.11.22
- tmp=replace(tmp,"xelatex","extractbb");
- tmp=replace(tmp,"uplatex","extractbb"); //17.09.20
- tmp=replace(tmp,"platex","extractbb");
- tmp=replace(tmp,"latex","extractbb");
- tmp=tmp+" -O "+file;
- if(iswindows(),
- tmp=tmp+" > "+Dirwork+"\"+fout;
- ,
- tmp=tmp+" > "+Dirwork+"/"+fout;
- );
- println(SCEOUTPUT,tmp);
- println(SCEOUTPUT,"exit 0");
- closefile(SCEOUTPUT);
- kc(Dirwork+"/"+kcfile,Mackc+Dirlib,Fnametex); // 16.06.07
- );
- if(flg>=0,
- tmp1=0;
- repeat(floor(waiting*1000/WaitUnit),
- if(tmp1==0,
- wait(10);
- tmp=load(fout);
- if(indexof(tmp,"CreationDate")>0,
- tmp1=1;
- );
- );
- );
- if(length(tmp)==0,
- println(fout+" not generated. Maybe "+kcfile+" not run.");
- ,
- tmp=tokenize(tmp,"%%");
- tmp=select(tmp,indexof(#,"Bounding")>0);
- tmp=tmp_2; //
- tmp1=indexof(tmp,":");
- tmp=substring(tmp,tmp1,length(tmp));
- tmp=removespace(tmp);
- tmp=tokenize(tmp," ");
- tmp1="";
- forall(tmp,
- tmp1=tmp1+Sprintf(#,2)+" ";
- );
- tmp1=removespace(tmp1)+addop;
- tmp2="\includegraphics[bb="+tmp1+"]{"+file+"}";
- println(tmp2);
- );
- );
-// setdirectory(Dirwork);
- tmp2; // 16.04.25
-);
-
-//help:end();
-
+// Copyright (C) 2014 Setsuo Takato, KETCindy Japan project team
+//
+//This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>
+//
+
+println("ketcindybasic2(20180610) loaded");
+
+//help:start();
+
+Dispchoice():=(
+ if(islist(Ch),
+ if(!isreal(ChNum),ChNum=1);
+ drawtext(mouse().xy,"Ch="+text(Ch)+" N="+text(ChNum),size->24,color->[0,0,1]);
+ );
+);
+
+Datetime():=(
+//help:Datetime();
+ regional(names,dt,tmp);
+ tmp=getdatetime();
+ dt=tokenize(tmp," ");
+ dt=apply(dt,if(!isstring(#),text(#),#));
+ names=["Jan","Feb","Mar","Apr","May","Jun",
+ "Jul","Aug","Sep","Oct","Nov","Dec"];
+ tmp=select(1..12,names_#==dt_2);
+ tmp=text(tmp_1);
+ tmp=[dt_6+"/"+tmp+"/"+dt_3,dt_4];
+);
+
+Rotatepoint(point,Theta,ctr):=(
+//help:Rotatepoint(A,2*pi/3,B);
+ regional(X1,X2,Y1,Y2,Cx,Cy,tmp);
+ tmp=Lcrd(point);
+ X1=tmp_1; Y1=tmp_2;
+ tmp=Lcrd(ctr);
+ Cx=tmp_1; Cy=tmp_2;
+ X2=Cx+(X1-Cx)*cos(Theta)-(Y1-Cy)*sin(Theta);
+ Y2=Cy+(X1-Cx)*sin(Theta)+(Y1-Cy)*cos(Theta);
+ [X2,Y2];
+);
+
+Translatepoint(point,mov):=(
+//help:Translatepoint(A,[2,3]);
+ regional(X1,X2,Y1,Y2,Cx,Cy,tmp);
+ tmp=Lcrd(point);
+ X1=tmp_1; Y1=tmp_2;
+ tmp=Lcrd(mov);
+ Cx=tmp_1; Cy=tmp_2;
+ X2=X1+Cx;
+ Y2=Y1+Cy;
+ [X2,Y2];
+);
+
+Scalepoint(point,ratio,center):=(
+//help:Scalepoint(A,[3,2],[0,0]);
+ regional(X1,X2,Y1,Y2,Cx,Cy,tmp);
+ tmp=Lcrd(point);
+ X1=tmp_1; Y1=tmp_2;
+ tmp=Lcrd(center);
+ Cx=tmp_1; Cy=tmp_2;
+ X2=Cx+ratio_1*(X1-Cx);
+ Y2=Cy+ratio_2*(Y1-Cy);
+ [X2,Y2];
+);
+
+Reflectpoint(point,symL):=(
+//help:Reflectpoint(A,B);
+//help:Reflectpoint(A,[[2,3]]);
+//help:Reflectpoint(A,[C,E]);
+ regional(X1,X2,Y1,Y2,Us,Vs,Pt1,Pt2,Cx,Cy,tmp);
+ tmp=Lcrd(point);
+ X1=tmp_1; Y1=tmp_2;
+ Pt1=Lcrd(symL_1);
+ if(length(symL)==1,
+ Pt2=Pt1;
+ ,
+ Pt2=Lcrd(symL_2);
+ );
+ Us=Pt2_1-Pt1_1;
+ Vs=Pt2_2-Pt1_2;
+ if(Pt1==Pt2,
+ X2=2*Pt1_1-X1;
+ Y2=2*Pt1_2-Y1;
+ ,
+ X2=(Us^2-Vs^2)/(Us^2+Vs^2)*X1+2*Us*Vs/(Us^2+Vs^2)*Y1
+ -2*Vs*(Us*Pt1_2-Vs*Pt1_1)/(Us^2+Vs^2);
+ Y2=2*Us*Vs/(Us^2+Vs^2)*X1-(Us^2-Vs^2)/(Us^2+Vs^2)*Y1
+ +2*Us*(Us*Pt1_2-Vs*Pt1_1)/(Us^2+Vs^2);
+ );
+ [X2,Y2];
+);
+
+Rotatedata(nm,plist,Theta):=Rotatedata(nm,plist,Theta,[]);
+Rotatedata(nm,plist,angle,options):=(
+//help:Rotatedata("1",["crAB","pt1"],pi/3,[[1,5],"dr,2"]);
+//help:Rotatedata("1",[[A.xy],[B.xy]],pi/3,[[1,5],"dr,2"]);
+ regional(tmp,tmp1,tmp2,pdata,Theta,Pt,Cx,Cy,PdLL,PdL,
+ opcindy,Nj,Njj,Kj,Mj,X1,Y1,X2,Y2,Ltype,Noflg,name,color);
+ name="rt"+nm;
+ Pt=[0,0];
+ tmp=Divoptions(options);
+ Ltype=tmp_1;
+ Noflg=tmp_2;
+ color=tmp_(length(tmp)-2);
+ opcindy=tmp_(length(tmp));
+ tmp1=tmp_6;
+ if(length(tmp1)>0,Pt=Lcrd(tmp1_1));
+ pdata=plist;
+ if(isstring(pdata),pdata=[pdata]);
+ if(!isstring(pdata_1) & MeasureDepth(pdata)==1,
+ pdata=[pdata];
+ );
+ if(isstring(angle),Theta=parse(angle),Theta=angle);
+ Cx=Pt_1; Cy=Pt_2;
+ PdL=[];
+ forall(pdata,Njj,
+ if(isstring(Njj),Kj=parse(Njj),Kj=Njj);
+ if(MeasureDepth(Kj)==0,Kj=[Kj]); //17.11.24
+ if(MeasureDepth(Kj)==1,Kj=[Kj]);
+ tmp2=[];
+ forall(Kj,Nj,
+ tmp1=[];
+ forall(Nj,
+ tmp=LLcrd(#);
+ X1=tmp_1;
+ Y1=tmp_2;
+ X2=Cx+(X1-Cx)*cos(Theta)-(Y1-Cy)*sin(Theta);
+ Y2=Cy+(X1-Cx)*sin(Theta)+(Y1-Cy)*cos(Theta);
+ tmp1=concat(tmp1,[[X2,Y2]]);
+ );
+ tmp2=concat(tmp2,[tmp1]);
+ );
+ PdL=concat(PdL,tmp2);
+ );
+ if(Noflg<3,
+ println("generate Rotatedata "+name);
+ tmp1=[];
+ forall(PdL,tmp2,
+ tmp=apply(tmp2,Pcrd(#));
+ tmp1=append(tmp1,tmp);
+ );
+ if(length(tmp1)==1,tmp1=tmp1_1);
+ tmp=name+"="+textformat(tmp1,5);
+ parse(tmp);
+ tmp1=text(plist);
+ tmp1=RSform(tmp1,1);// 180602
+ tmp=name+"=Rotatedata("+tmp1+","
+ +textformat(angle,5)+","+RSform(textformat(Pt,5))+")"; //17.12.23
+ GLIST=append(GLIST,tmp);
+ );
+ if(Noflg<2,
+ if(isstring(Ltype),
+ if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
+ Ltype=GetLinestyle(text(Noflg)+Ltype,name);
+ if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+text(KCOLOR)+")"));
+ ,
+ if(Noflg==1,Ltype=0);
+ );
+ GCLIST=append(GCLIST,[name,Ltype,opcindy]);
+ );
+ PdL;
+);
+
+Translatedata(nm,plist,mov):=Translatedata(nm,plist,mov,[]);
+Translatedata(nm,plist,mov,options):=(
+//help:Translatedata("1",["gr1","pt1"],[1,2]);
+ regional(tmp,tmp1,tmp2,pdata,Cx,Cy,PdL,Nj,Njj,Kj,
+ opcindy,X2,Y2,Ltype,Noflg,name,color,leveL);
+ name="tr"+nm;
+ tmp=Divoptions(options);
+ Ltype=tmp_1;
+ Noflg=tmp_2;
+ color=tmp_(length(tmp)-2);
+ opcindy=tmp_(length(tmp));
+ pdata=plist;
+ if(isstring(pdata),pdata=[pdata]);
+ if(!isstring(pdata_1) & MeasureDepth(pdata)==1,
+ pdata=[pdata];
+ );
+ tmp=Lcrd(mov);
+ Cx=tmp_1; Cy=tmp_2;
+ PdL=[];
+ forall(pdata,Njj,
+ if(isstring(Njj),Kj=parse(Njj),Kj=Njj);
+ if(MeasureDepth(Kj)==1,Kj=[Kj]);
+ tmp2=[];
+ forall(Kj,Nj,
+ tmp1=[];
+ forall(Nj,
+ tmp=LLcrd(#);
+ X2=tmp_1+Cx;
+ Y2=tmp_2+Cy;
+ tmp1=concat(tmp1,[[X2,Y2]]);
+ );
+ tmp2=concat(tmp2,[tmp1]);
+ );
+ PdL=concat(PdL,tmp2);
+ );
+ if(Noflg<3,
+ println("generate Translatedata "+name);
+ tmp1=[];
+ forall(PdL,tmp2,
+ tmp=apply(tmp2,Pcrd(#));
+ tmp1=append(tmp1,tmp);
+ );
+ if(length(tmp1)==1,tmp1=tmp1_1);
+ tmp=name+"="+textformat(tmp1,5);
+ parse(tmp);
+ tmp1=text(plist);
+ tmp1=RSform(tmp1,1);// 180602
+ tmp=name+"=Translatedata("+tmp1+","+RSform(textformat(mov,5))+")";
+ GLIST=append(GLIST,tmp);
+ );
+ if(Noflg<2,
+ if(isstring(Ltype),
+ if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
+ Ltype=GetLinestyle(text(Noflg)+Ltype,name);
+ if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+text(KCOLOR)+")"));
+ ,
+ if(Noflg==1,Ltype=0);
+ );
+ GCLIST=append(GCLIST,[name,Ltype,opcindy]);
+ );
+ PdL;
+);
+
+Scaledata(nm,plist,ratioV):=(
+ regional(tmp);
+ tmp=ratioV; //180603from
+ if(!islist(tmp),tmp=[tmp,tmp]);
+ tmp=Lcrd(tmp);//180603to
+ Scaledata(nm,plist,tmp_1,tmp_2,[]);
+);
+Scaledata(nm,plist,Arg1,Arg2):=(
+//help:Scaledata("1",["crAB","pt1"],3,2,[[0,0]]);
+//help:Scaledata("1",["crAB","pt1"],2,[[0,0]]);
+ regional(tmp,options);
+ if(islist(Arg2),
+ tmp=Arg1;//180603(2lines)
+ if(!islist(tmp),tmp=[tmp,tmp]);
+ tmp=Lcrd(tmp);
+ options=Arg2;
+ Scaledata(nm,plist,tmp_1,tmp_2,options);
+ ,
+ Scaledata(nm,plist,Arg1,Arg2,[]);
+ );
+);
+Scaledata(nm,plist,rx,ry,options):=(
+ regional(tmp,tmp1,tmp2,pdata,Theta,Pt,Cx,Cy,PdL,
+ opcindy,Nj,Njj,Kj,X2,Y2,Ltype,Noflg,name,color);
+ name="sc"+nm;
+ Pt=[0,0];
+ tmp=Divoptions(options);
+ Ltype=tmp_1;
+ Noflg=tmp_2;
+ color=tmp_(length(tmp)-2);
+ opcindy=tmp_(length(tmp));
+ tmp1=tmp_6;
+ if(length(tmp1)>0,
+ Pt=Lcrd(tmp1_1);
+ );
+ pdata=plist;
+ if(isstring(pdata),pdata=[pdata]);
+ if(!isstring(pdata_1) & MeasureDepth(pdata)==1,
+ pdata=[pdata];
+ );
+ Cx=Pt_1; Cy=Pt_2;
+ PdL=[];
+ forall(pdata,Njj,
+ if(isstring(Njj),Kj=parse(Njj),Kj=Njj);
+ if(MeasureDepth(Kj)==1,Kj=[Kj]);
+ tmp2=[];
+ forall(Kj,Nj,
+ tmp1=[];
+ forall(Nj,
+ tmp=LLcrd(#);
+ X2=Cx+rx*(tmp_1-Cx);
+ Y2=Cy+ry*(tmp_2-Cy);
+ tmp1=concat(tmp1,[[X2,Y2]]);
+ );
+ tmp2=concat(tmp2,[tmp1]);
+ );
+ PdL=concat(PdL,tmp2);
+ );
+ if(Noflg<3,
+ println("generate Scaledata "+name);
+ tmp1=[];
+ forall(PdL,tmp2,
+ tmp=apply(tmp2,Pcrd(#));
+ tmp1=append(tmp1,tmp);
+ );
+ if(length(tmp1)==1,tmp1=tmp1_1);
+ tmp=name+"="+textformat(tmp1,5);
+ parse(tmp);
+ tmp1=text(plist);
+ tmp1=RSform(tmp1,1); // 180602
+ tmp=name+"=Scaledata("+tmp1+","
+ +textformat(rx,5)+","+textformat(ry,5)+","+RSform(textformat(Pt,5))+")";
+ GLIST=append(GLIST,tmp);
+ );
+ if(Noflg<2,
+ if(isstring(Ltype),
+ if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
+ Ltype=GetLinestyle(text(Noflg)+Ltype,name);
+ if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+text(KCOLOR)+")"));
+ ,
+ if(Noflg==1,Ltype=0);
+ );
+ GCLIST=append(GCLIST,[name,Ltype,opcindy]);
+ );
+ PdL;
+);
+
+Reflectdata(nm,plist,symL):=Reflectdata(nm,plist,symL,[]);
+Reflectdata(nm,plist,symL,options):=(
+//help:Reflectdata("1",["crAB"],[C]);
+ regional(tmp,tmp1,tmp2,pdata,Us,Vs,Pt1,Pt2,Cx,Cy,PdL,
+ opcindy,Nj,Njj,Kj,X1,Y1,X2,Y2,Ltype,Noflg,name,color);
+ name="re"+nm;
+ Pt=[0,0];
+ tmp=Divoptions(options);
+ Ltype=tmp_1;
+ Noflg=tmp_2;
+ color=tmp_(length(tmp)-2);
+ opcindy=tmp_(length(tmp));
+ pdata=plist;
+ if(isstring(pdata),pdata=[pdata]);
+ if(!isstring(pdata_1) & MeasureDepth(pdata)==1,
+ pdata=[pdata];
+ );
+ Pt1=Lcrd(symL_1);
+ if(length(symL)==1,
+ Pt2=Pt1;
+ ,
+ Pt2=Lcrd(symL_2);
+ );
+ Us=Pt2_1-Pt1_1;
+ Vs=Pt2_2-Pt1_2;
+ PdL=[];
+ forall(pdata,Njj,
+ if(isstring(Njj),Kj=parse(Njj),Kj=Njj);
+ if(MeasureDepth(Kj)==1,Kj=[Kj]);
+ tmp2=[];
+ forall(Kj,Nj,
+ tmp1=[];
+ forall(Nj,
+ tmp=LLcrd(#);
+ X1=tmp_1;
+ Y1=tmp_2;
+ if(Pt1==Pt2,
+ X2=2*Pt1_1-X1;
+ Y2=2*Pt1_2-Y1;
+ ,
+ X2=(Us^2-Vs^2)/(Us^2+Vs^2)*X1+2*Us*Vs/(Us^2+Vs^2)*Y1
+ -2*Vs*(Us*Pt1_2-Vs*Pt1_1)/(Us^2+Vs^2);
+ Y2=2*Us*Vs/(Us^2+Vs^2)*X1-(Us^2-Vs^2)/(Us^2+Vs^2)*Y1
+ +2*Us*(Us*Pt1_2-Vs*Pt1_1)/(Us^2+Vs^2);
+ );
+ tmp1=concat(tmp1,[[X2,Y2]]);
+ );
+ tmp2=concat(tmp2,[tmp1]);
+ );
+ PdL=concat(PdL,tmp2);
+ );
+ if(Noflg<3,
+ println("generate Reflectdata "+name);
+ tmp1=[];
+ forall(PdL,tmp2,
+ tmp=apply(tmp2,Pcrd(#));
+ tmp1=append(tmp1,tmp);
+ );
+ if(length(tmp1)==1,tmp1=tmp1_1);
+ tmp=name+"="+textformat(tmp1,5);
+ parse(tmp);
+ tmp1=text(plist);
+ tmp1=RSform(tmp1,1);// 180602
+ tmp=name+"=Reflectdata("+tmp1+","+RSform(textformat(symL,5))+")";//17.12.23
+ GLIST=append(GLIST,tmp);
+ );
+ if(Noflg<2,
+ if(isstring(Ltype),
+ if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
+ Ltype=GetLinestyle(text(Noflg)+Ltype,name);
+ if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+text(KCOLOR)+")"));
+ ,
+ if(Noflg==1,Ltype=0);
+ );
+ GCLIST=append(GCLIST,[name,Ltype,opcindy]);
+ );
+ PdL;
+);
+
+Mksegments():=Mksegments([]);
+Mksegments(options):=(
+//help:Mksegments();
+ regional(segstr,p,q,r,tmp1,tmp2,tmp3);
+ forall(allsegments(),seg,
+ str=text(inspect(seg,"definition"));
+ tmp1=indexof(str,"(");
+ tmp2=indexof(str,";");
+ tmp3=indexof(str,")");
+ p=substring(str,tmp1,tmp2-1);
+ q=substring(str,tmp2,tmp3-1);
+ Listplot([parse(p),parse(q)]);
+ );
+);
+
+Mkcircles():=Mkcircles([]);
+Mkcircles(options):=(
+//help:Mkcircles():
+ regional(seg,cir,str,p,q,r,tmp1,tmp2,tmp3,tmp4);
+ forall(allcircles(),cir,
+ str=text(inspect(cir,"definition"));
+ tmp1=indexof(str,"(");
+ tmp2=indexof(str,";");
+ tmp3=indexof(str,")");
+ tmp4=indexof(str,";",tmp2+1);
+ if(tmp4==0,
+ p=substring(str,tmp1,tmp2-1);
+ q=substring(str,tmp2,tmp3-1);
+ Circledata([parse(p),parse(q)]);
+ ,
+ p=substring(str,tmp1,tmp2-1);
+ q=substring(str,tmp2,tmp4-1);
+ r=substring(str,tmp4,tmp3-1);
+ Circledata([parse(p),parse(q),parse(r)]);
+ );
+ );
+);
+
+MakeRarg(arglist):=(
+ regional(str,tmpstr);
+ str="";
+ forall(arglist,
+ if(isstring(#),
+ tmpstr=Dq+RSslash(#)+Dq;
+ ,
+ tmpstr=textformat(#,6);
+ );
+ str=str+tmpstr+",";
+ );
+ str=substring(str,0,length(str)-1);
+ str;
+);
+
+Setax(arglist):=(
+//help:Setax(["l","x","e","y","n","O","sw"]);
+//help:Setax([7,"nw"]);
+ regional(tmp);
+ tmp=MakeRarg(arglist);
+ Com1st("Setax("+tmp+")");
+);
+
+Htickmark(arglist):=(
+//help:Htickmark([1,"1",2,"sw","2"]);
+ regional(tmp);
+ tmp="";
+ tmp=MakeRarg(arglist);
+ Com2nd("Htickmark("+tmp+")");
+);
+
+Vtickmark(arglist):=(
+//help:Vtickmark([1,"1",2,"sw","2"]);
+ regional(tmp);
+ tmp=MakeRarg(arglist);
+ Com2nd("Vtickmark("+tmp+")");
+);
+
+Vtick(py):=Vtick(py,MARKLEN,[]);
+Vtick(py,len):=Vtick(py,len,[]);
+Vtick(py,len,options):=(
+//help:Vtick(1,0.1,options);
+ regional(tmp,tmp1,tmp2);
+ tmp="v"+text(round(py*100));
+ tmp=replace(tmp,"-","m");
+ tmp1=[0-len/2,py];
+ tmp2=[0+len/2,py];
+ Listplot(tmp,[tmp1,tmp2],options);
+);
+
+Htick(px):=Htick(px,MARKLEN,[]);
+Htick(px,len):=Htick(px,len,[]);
+Htick(px,lenorg,options):=(
+//help:Htick(-1,0.1,options);
+ regional(len,tmp,tmp1,tmp2);
+ tmp=LLcrd([0,lenorg]);
+ len=tmp_2;
+ tmp="h"+text(round(px*100));
+ tmp=replace(tmp,"-","m");
+ tmp1=[px,0-len/2];
+ tmp2=[px,0+len/2];
+ Listplot(tmp,[tmp1,tmp2],options);
+);
+
+Drwxy():=(
+//help:Drwxy();
+ Com2nd("Drwxy()");
+ Addax(0); // 16.01.21
+);
+
+Drwpt(pstr):=Drawpoint(pstr);
+Drwpt(ptlist,nn):=( // 16.03.05 from
+//help:Drwpt(A);
+//help:Drwpt("[1,1],0");
+//help:Drwpt(A,0);
+//help:Drwpt([1,2],0);
+ Drawpoint(ptlist,nn);
+);
+Drawpoint(pstr):=(
+ if(isstring(pstr),
+ println("Drwpt : "+pstr);
+ Com2nd("Drwpt("+pstr+")");
+ ,
+ Drawpoint(pstr,1);
+ );
+);
+Drawpoint(ptlistorg,nn):=(
+ regional(ptlist,thick,tmp,tmp1);
+ println("Drwpt : "+text(ptlistorg));
+ if(islist(ptlistorg),
+ if(MeasureDepth(ptlistorg)==1,
+ ptlist=ptlistorg
+ ,
+ ptlist=[ptlistorg]
+ );
+ ,
+ ptlist=[ptlistorg]
+ );
+ thick=PenThick/PenThickInit;// 16.04.09 from
+ tmp1=max(TenSize/TenSizeInit,1)/8;
+ Setpen(tmp1); // 16.04.09 until
+ forall(ptlist,
+ tmp=textformat(#,5)+","+text(nn);
+ Com2nd("Drwpt("+tmp+")"); // 16.04.09
+ );
+ Setpen(thick); // 16.04.09
+);// 16.03.05 until
+
+Addax(param):=(
+//help:Addax(0);
+ ADDAXES=textformat(param,5);
+);
+
+Expr(Pt,Dr,St):=Expr([Pt,Dr,St]);
+Expr(list):=Expr(list,[]);
+Expr(listorg,options):=( //16.10.09
+//help:Expr([A,"e","f(x)=x^2"]);
+//help:Expr([A,"e","f(x)=x^2"],["size->24"]);
+ regional(list,str,tmp,tmp1,tmp2);
+ list=listorg;
+ forall(1..round(length(list)/3),
+ str=list_(3*#);
+ if(!isstring(str),str=format(str,5));
+ str="$"+str+"$";
+ list_(3*#)=str;
+ );
+ Letter(list,options);
+);
+
+Letter(Pt,Dr,St):=Letter([Pt,Dr,St]);
+Letter(list):=Letter(list,[]);
+Letter(list,options):=(
+//help:Letter([C,"c","Graph of $f(x)$"]);
+//help:Letter([C,"c","xy"],["size->30"]);
+ regional(Nj,Pos,Dir,Str,Off,Dmv,Xmv,Ymv,Noflg,opcindy,
+ opL,aln,sz,clr,bld,ita,tmp,tmp1,tmp2,color);
+ tmp=Divoptions(options);
+ Noflg=tmp_2;
+ color=tmp_(length(tmp)-2);
+ opL=select(options,indexof(#,"->")>0); //16.10.09from
+ tmp=select(opL,indexof(#,"color"));
+ size=12;
+ bld=false;
+ ita=false;
+ aln="left";
+ forall(opL,
+ tmp=indexof(#,"->");
+ tmp1=removespace(substring(#,0,tmp-1));
+ tmp2=substring(#,tmp+1,length(#));
+ if(tmp1=="size",sz=parse(tmp2));
+ if(tmp1=="color",clr=parse(tmp2));
+ if(tmp1=="bold",bld=parse(tmp2));
+ if(tmp1=="ita",ita=parse(tmp2));
+ );//16.10.09until
+ Off=-4;
+ Dmv=8;
+ Nj=1;
+ while(Nj+2<=length(list),
+// Pos=textformat(list_Nj,5);
+ Pos=list_Nj;
+ Dir=list_(Nj+1);
+ tmp=indexof(Dir,"s")+indexof(Dir,"n");//16.10.19from
+ if(tmp>0,
+ tmp=indexof(Dir,"w")+indexof(Dir,"e");
+ if(tmp==0,
+ Dir="c"+Dir;//16.10.08
+ );
+ );//16.10.19until
+ Str=list_(Nj+2);
+ if(!isstring(Str),Str=format(Str,5)); // 16.09.30,10.09
+ tmp=replace(Str,".xy","");
+ tmp=replace(tmp,".x","(1)");
+ Str=replace(tmp,".y","(2)");
+ Str=RSslash(Str); // 17.09.24
+ Str=replace(Str,"`","'");//180303
+ tmp=Dq+","+Dq+Str+Dq+")";
+ if(Noflg==0,
+ if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
+ Com2nd("Letter("+Lcrd(Pos)+","+Dq+Dir+tmp);//16.10.10
+ if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+text(KCOLOR)+")"));
+ );
+ if(Noflg<2,
+ Xmv=0;//16.10.13
+ Ymv=-4;
+ if(indexof(Dir,"n")>0,
+ Ymv=Dmv/2;
+ );
+ if(indexof(Dir,"s")>0,
+ Ymv=-Dmv*3/2;//16.10.13
+ );
+ if(indexof(Dir,"e")>0,
+ Xmv=Dmv/2;
+ Off=0;
+ aln="left";
+ );
+ if(indexof(Dir,"w")>0,
+ Xmv=-Dmv/2;
+ Off=0; // 16.09.30from
+ aln="right";
+ );
+ if(indexof(Dir,"c")>0,
+ Xmv=0;//16.10.13
+ Off=0;
+ if(Ymv==0,Ymv=-4);//16.10.08
+ aln="mid"; // 16.09.30until
+ );
+ Str=list_(Nj+2); //17.10.17
+ drawtext(Pcrd(Pos),Str,offset->[Off+Xmv,Off+Ymv],
+ size->sz,color->color,align->aln,bold->bld,italics->ita);//16.10.09
+ );
+ Nj=Nj+3;
+ );
+);
+
+Letterrot(pt,dir,str):=Letterrot(pt,dir,0,0,str,[]);
+Letterrot(pt,dir,Arg1,Arg2):=(
+ if(islist(Arg2),
+ Letterrot(pt,dir,"t0n0",Arg1,Arg2);
+ ,
+ Letterrot(pt,dir,Arg1,Arg2,[]);
+ );
+);
+Letterrot(pt,dir,movstr,str,options):=(
+//help:Letterrot(C,B-A,"AB"):
+//help:Letterrot(C,B-A,0,5,"AB"):
+//help:Letterrot(C,B-A,"t0n5","AB"):
+ regional(tmov,nmov,tmp,tmp1,tmp2,color);
+ tmp1=indexof(movstr,"t");
+ tmp2=indexof(movstr,"n");
+ if(tmp1>0,
+ if(tmp2>0,tmp=tmp2-1,tmp=length(movstr));
+ tmov=parse(substring(movstr,tmp1,tmp));
+ ,
+ tmov=0;
+ );
+ if(tmp2>0,
+ nmov=parse(substring(movstr,tmp2,length(movstr)));
+ ,
+ nmov=0;
+ );
+ Letterrot(pt,dir,tmov,nmov,str,options);
+);
+Letterrot(pt,dir,tmov,nmov,str,options):=(
+ regional(tmp,color);
+ tmp=Divoptions(options);
+ color=tmp_(length(tmp)-2);
+ Letter([pt,"c",str],append(options,"notex"));
+ tmp=replace(str,"\","\\"); //17.10.18
+ if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
+ Com2nd("Letterrot("+pt+","+dir+","+tmov+","+nmov+",'"+tmp+"')");
+ if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+text(KCOLOR)+")"));
+);
+
+Exprrot(pt,dir,str):=Exprrot(pt,dir,0,0,str,[]);
+Exprrot(pt,dir,Arg1,Arg2):=(
+ if(islist(Arg2),
+ Exprrot(pt,dir,"t0n0",Arg1,Arg2);
+ ,
+ Exprrot(pt,dir,Arg1,Arg2,[]);
+ );
+);
+Exprrot(pt,dir,movstr,str,options):=(
+//help:Exprrot(C,B-A,"d"):
+//help:Exprrot(C,B-A,0,5,"d"):
+//help:Exprrot(C,B-A,"t0n5","d"):
+ regional(tmov,nmov,tmp,tmp1,tmp2,color);
+ tmp1=indexof(movstr,"t");
+ tmp2=indexof(movstr,"n");
+ if(tmp1>0,
+ if(tmp2>0,tmp=tmp2-1,tmp=length(movstr));
+ tmov=parse(substring(movstr,tmp1,tmp));
+ ,
+ tmov=0;
+ );
+ if(tmp2>0,
+ nmov=parse(substring(movstr,tmp2,length(movstr)));
+ ,
+ nmov=0;
+ );
+ Exprrot(pt,dir,tmov,nmov,str,options);
+);
+Exprrot(pt,dir,tmov,nmov,str,options):=(
+ regional(tmp,color);
+ tmp=Divoptions(options);
+ color=tmp_(length(tmp)-2);
+ Expr([pt,"c",str],append(options,"notex"));
+ tmp=replace(str,"\","\\"); //17.10.18
+ if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
+ Com2nd("Exprrot("+pt+","+dir+","+tmov+","+nmov+",'"+tmp+"')");
+ if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
+);
+
+Putslider(ptstr,p1,p2):=Slider(ptstr,p1,p2);
+Slider(ptstr,p1,p2):=( //17.04.11
+//help:Slider("A-C-B",[-3,0],[3,0]);
+ regional(pA,pB,pC,seg,sname,Alpha,tmp,tmp1);
+ tmp=indexall(ptstr,"-");
+ pA=substring(ptstr,0,tmp_1-1);
+ pC=substring(ptstr,tmp_1,tmp_2-1);
+ pB=substring(ptstr,tmp_2,length(ptstr));
+ seg=pA+pB;
+ Alpha="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+ sname="";
+ forall(1..(length(seg)),
+ tmp=substring(seg,#-1,#);
+ tmp1=indexof(Alpha,tmp);
+ if(tmp1>0,
+ sname=sname+unicode(text(tmp1+96),base->10);
+ ,
+ sname=sname+tmp;
+ );
+ );
+ Putpoint(pA,p1);
+ Putpoint(pB,p2);
+ Listplot([parse(pA),parse(pB)],["notex","color->[0,0.4,0.4]","size->2"]);
+// create([sname],"Segment",[parse(pA),parse(pB)]);
+// tmp2=Listplot("",[p1,p2],["nodata"]);
+ Putonseg(pC,parse("sg"+pA+pB));
+// create([pC],"PointOn",[parse(sname),0.5]);
+);
+
+Putpoint(name,Pt):=Putpoint(name,Pt,Pt);
+Putpoint(name,Ptinit,Pt):=(
+//help:Putpoint("A",[1,2],[1,A.y]);
+ regional(ptstr);
+ ptstr=apply(allpoints(),#.name);//16.10.06
+ if(!contains(ptstr,name),
+ createpoint(name,Pcrd([Ptinit_1,Ptinit_2]));
+ ,
+ ptstr=name+".xy="+textformat(Pcrd(Pt),5);
+ parse(ptstr);
+ );
+);
+
+Bezierpt(t,ptlist,ctrlist):=(
+ regional(flg3,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9);
+ p0=ptlist_1;
+ p3=ptlist_2;
+ p1=ctrlist_1;
+ if(length(ctrlist)==1,
+ p2=p3;
+ flg3=0;
+ ,
+ p2=ctrlist_2;
+ flg3=1;
+ );
+ if(length(p0)<3, // 15.02.08
+ p0=Lcrd(p0);
+ p3=Lcrd(p3);
+ p1=Lcrd(p1);
+ p2=Lcrd(p2);
+ );
+ p4=(1-t)*p0+t*p1;
+ p5=(1-t)*p1+t*p2;
+ p6=(1-t)*p2+t*p3;
+ p7=(1-t)*p4+t*p5;
+ p8=(1-t)*p5+t*p6;
+ p9=(1-t)*p7+t*p8;
+ if(flg3==0,p7,p9);
+);
+
+Bezier(ptctrlist):=BezierCurve(ptctrlist_3,ptctrlist_1,ptctrlist_2,[]);
+Bezier(ptctrlist,options):=BezierCurve(ptctrlist_3,ptctrlist_1,ptctrlist_2,options);
+Bezier(nm,ptlist,ctrlist):=BezierCurve(nm,ptlist,ctrlist,[]);
+Bezier(nm,ptlist,ctrlist,options):=BezierCurve(nm,ptlist,ctrlist,options);
+BezierCurve(nm,ptlist,ctrlist):=BezierCurve(nm,ptlist,ctrlist,[]);
+BezierCurve(nm,ptlistorg,ctrlistorg,options):=(
+//help:Bezier("1",[A,D],[B,C]);
+//help:Bezier(options=["Num=10"]);
+ regional(name,Ltype,Noflg,opstr,opcindy,Num,
+ ptlist,ctrlist,tmp,tmp1,tmp2,ii,st,out,list,color);
+ name="bz"+nm;
+ tmp=Divoptions(options);
+ Ltype=tmp_1;
+ Noflg=tmp_2;
+ color=tmp_(length(tmp)-2);
+ opstr=tmp_(length(tmp)-1);
+ opcindy=tmp_(length(tmp));
+ Num=10;
+ tmp1=tmp_5;
+ forall(tmp1, // 14.12.31
+ if(substring(#,0,1)=="N",
+ tmp2=indexof(#,"=");
+ Num=parse(substring(#,tmp2,length(#)));
+ opstr=opstr+","+Dq+#+Dq;
+ );
+ );
+ ptlist=apply(ptlistorg,Lcrd(#)); // 16.08.16
+ ctrlist=[]; // 14.12.31
+ if(length(ctrlistorg)==length(ptlist)-1,
+ forall(ctrlistorg,tmp1,
+ if(MeasureDepth(tmp1)==0,tmp=[tmp1],tmp=tmp1);
+ tmp=apply(tmp,Lcrd(#)); // 16.08.16
+ ctrlist=append(ctrlist,tmp);
+ );
+ ,
+ forall(1..(length(ptlist)-1),ii,
+ tmp=ctrlistorg_((2*ii-1)..(2*ii));
+ tmp=apply(tmp,Lcrd(#)); // 16.08.16
+ ctrlist=append(ctrlist,tmp);
+ );
+ );
+ if(!islist(Num),
+ Num=apply(ctrlist,Num);
+ );
+ list=[];
+ forall(1..(length(ptlist)-1),ii,
+ tmp1=ptlist_(ii..(ii+1));
+ tmp2=ctrlist_ii;
+ if(ii==1,st=0,st=1);
+ forall(st..Num_ii,
+ tmp=Bezierpt(#/Num_ii,tmp1,tmp2);
+ list=append(list,tmp);
+ );
+ );
+ if(Noflg<3,
+ println("generate Bezier "+name);
+ out=apply(list,Pcrd(#));
+ tmp=name+"="+textformat(out,5);
+ parse(tmp);
+ tmp1=textformat(ptlist,5);
+ tmp1=RSform(tmp1,2); //17.12.23
+ tmp2=textformat(ctrlist,5);
+ tmp2=RSform(tmp2,3); //17.12.23
+ GLIST=append(GLIST,name+"=Bezier("+tmp1+","+tmp2+opstr+")");
+ );
+ if(Noflg<2,
+ if(isstring(Ltype),
+ if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
+ Ltype=GetLinestyle(text(Noflg)+Ltype,name);
+ if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+text(KCOLOR)+")"));
+ ,
+ if(Noflg==1,Ltype=0);
+ );
+ GCLIST=append(GCLIST,[name,Ltype,opcindy]);
+ );
+ list;
+);
+
+Readcsvsla(fname):=Readplotdigdata(fname,[]);
+Readcsvsla(fname,options):=Readplotdigdata(fname,options);
+Readplotdigdata(fname):=Readplotdigdata(fname,[]);
+Readplotdigdata(fname,options):=(
+ regional(fsc,mv,cmdall,dataL,nd,npt,ptdata,ii,tmp,tmp1,tmp2,tmp3);
+ tmp=Divoptions(options);
+ tmp1=tmp_6;
+ sc=1;//10;
+ mv=[0,0];//[5,5];
+ forall(tmp1,
+ if(!islist(#),sc=#,mv=#);
+ );
+ if(indexof(fname,".")>0,
+ tmp=load(fname);
+ ,
+ tmp=load(fname+".txt");
+ );
+ cmdall=tokenize(tmp,"//");
+ dataL=[];
+ forall(2..length(cmdall),ii,
+ tmp1=parse("["+cmdall_ii+"]");
+ dataL=append(dataL,tmp1);
+ );
+ if(length(dataL_(length(dataL)))<2,
+ dataL=dataL_(1..(length(dataL)-1));
+ );
+ nd=length(dataL_1)/2;
+ npt=length(dataL);
+ ptdata=[];
+ forall(1..nd,ii,
+ tmp3=[];
+ forall(1..npt,
+ tmp1=dataL_#_(2*ii-1);
+ tmp2=dataL_#_(2*ii);
+ if(isreal(tmp1),
+ tmp3=append(tmp3,[tmp1,tmp2]);
+ );
+ );
+ ptdata=append(ptdata,tmp3);
+ );
+ tmp1=[];
+ forall(ptdata,
+ tmp=#/sc;
+ tmp=Translatedata("1",[tmp],-mv,["nodata"]);
+ tmp1=append(tmp1,tmp);
+ );
+ ptdata=tmp1;
+ ptdata;
+);
+
+Putbezierdata(name,ptL):=Putbezierdata(name,ptL,[]);
+Putbezierdata(name,ptL,options):=(
+ regional(psize,Deg,tmp,tmp1,tmp2,p1,p2,pts,ctrs);
+ tmp=Divoptions(options);
+ psize=3;
+ Deg=3;
+ tmp1=tmp_5;
+ forall(tmp1,
+ if(substring(#,0,1)=="D",
+ tmp=indexof(#,"=");
+ Deg=parse(substring(#,tmp,length(#)));
+ );
+ if(substring(#,0,1)=="S",
+ tmp=indexof(#,"=");
+ psize=parse(substring(#,tmp,length(#)));
+ );
+ );
+ pts=[];
+ ctrs=[];
+ forall(1..length(ptL),
+ p2=ptL_#; // 16.08.16
+ if(ispoint(p2),
+ tmp1=text(p2);
+ ,
+ tmp1=name+text(#);
+ Putpoint(tmp1,p2,Lcrd(parse(tmp1))); // 16.08.16
+ );
+ inspect(parse(tmp1),"ptsize",psize);
+ pts=append(pts,parse(tmp1));
+ inspect(parse(tmp1),"color",4);
+ if(#>1,
+ p1=Lcrd(ptL_(#-1)); // 16.08.16
+ p2=Lcrd(ptL_#); // 16.08.16
+ if(Deg==3,
+ tmp=(2*p1+p2)/3;
+ tmp1=name+"p"+text(#-1);
+ Putpoint(tmp1,tmp,Lcrd(parse(tmp1))); // 16.08.16
+ inspect(parse(tmp1),"labeled",false); //15.01.22
+ Letter([parse(tmp1),"ne",tmp1],["notex"]); //15.01.22
+ inspect(parse(tmp1),"ptsize",psize);
+ inspect(parse(tmp1),"color",3);
+ tmp=(p1+2*p2)/3;
+ tmp2=name+"q"+text(#-1);
+ Putpoint(tmp2,tmp,Lcrd(parse(tmp2))); // 16.08.16
+ inspect(parse(tmp2),"labeled",false); //15.01.22
+ Letter([parse(tmp2),"ne",tmp2],["notex"]); //15.01.22
+ inspect(parse(tmp2),"ptsize",psize);
+ inspect(parse(tmp2),"color",3);
+ ctrs=append(ctrs,[parse(tmp1),parse(tmp2)]);
+ ,
+ tmp=(p1+p2)/2;
+ tmp1=name+"p"+text(#-1);
+ Putpoint(tmp1,tmp,Lcrd(parse(tmp1))); // 16.08.16
+ inspect(parse(tmp1),"labeled",false); //15.01.22
+ Letter([parse(tmp1),"ne",tmp1],["notex"]); //15.01.22
+ inspect(parse(tmp1),"ptsize",psize);
+ inspect(parse(tmp1),"color",3);
+ ctrs=append(ctrs,[parse(tmp1)]);
+ );
+ );
+ );
+ [pts,ctrs,name];
+);
+
+Bezierstart(n):=( // 2016.02.26
+ BezierNumber=n;
+);
+
+Mkbezierptcrv(ptdata):=Mkbezierptcrv(ptdata,[]);
+Mkbezierptcrv(ptdata,options):=(
+ //help:Mkbezierptcrv([A,B,C,D]);
+ //help:Mkbezierptcrv([[A,B],[C,D]]);
+ //help:Mkbezierptcrv(options=["Num=10"]);
+ // global BezierNumber
+ regional(ptlist,Out,tmp,tmp1,tmp2);
+ if(isstring(ptdata),
+ ptlist=Readcsvsla(ptdata,options);
+ ,
+ ptlist=ptdata;
+ );
+ if(MeasureDepth(ptlist)==1,ptlist=[ptlist]);
+ Out=[];
+ forall(1..length(ptlist),
+ tmp=floor((BezierNumber-1)/26);// 15.02.23
+ if(tmp==0,tmp="",tmp=text(tmp));
+ tmp2=mod(BezierNumber,26);
+ if(tmp2==0,tmp2=26);
+ tmp1=unicode(text(96+tmp2),base->10)+tmp;// 15.03.11
+ tmp2=Putbezierdata(tmp1,ptlist_#,options);
+ Bezier(tmp2,options);
+ BezierNumber=BezierNumber+1;
+ Out=append(Out,tmp2_(1..2));
+ );
+ Out;
+);
+
+Mkbeziercrv(nm,ptctrL):=Mkbeziercrv(nm,ptctrL,[]);
+Mkbeziercrv(nm,ptctrL,options):=(
+ //help:Mkbeziercrv("1",[[A,B,C,D],[[P,Q],[R,S],T]]);
+ regional(ptctrLL,name,ptlist,ctrlist,tmp,tmp1,tmp2);
+ if(MeasureDepth(ptctrL)==2,ptctrLL=[ptctrL],ptctrLL=ptctrL);
+ forall(1..length(ptctrLL),
+ name=nm+text(#);
+ ptlist=ptctrLL_#_1;
+ ctrlist=ptctrLL_#_2;
+ Bezier(nm,ptlist,ctrlist,options); // 17.01.06
+ );
+);
+
+Writebezier():=Writebezier(Fhead,"all");
+Writebezier(head):=Writebezier(head,"all");
+Writebezier(head,seL):=(
+//help:Writebezier(file);
+//help:Writebezier(file,"acd");
+ regional(bz,dt,name,tmp,tmp1,tmp2);
+ bz=select(GLIST,indexof(#,"=Bezier")>0);
+ tmp1=[]; // 16.04.22from
+ if(seL!="all",
+ forall(1..length(seL),
+ tmp=substring(seL,#-1,#);
+ tmp=select(bz,indexof(#,"bz"+tmp)>0);
+ tmp1=concat(tmp1,tmp);
+ );
+ bz=tmp1;// 16.04.22until
+ );
+ dt=[head+"n",[[length(bz),0]]];
+ forall(1..length(bz),
+ tmp=indexof(bz_#,"=");
+ name=substring(bz_#,0,tmp-1);
+ tmp=indexof(bz_#,","+Dq);
+ if(tmp>0,
+ tmp1=substring(bz_#,0,tmp-1)+")";
+ ,
+ tmp1=bz_#;
+ );
+ tmp1=replace(tmp1,"Bezier(","[");
+ tmp1=replace(tmp1,"list(","[");
+ tmp1=replace(tmp1,")","]");
+ tmp1=replace(tmp1,",",".xy,");
+ tmp1=replace(tmp1,"]",".xy]");
+ tmp1=replace(tmp1,".xy,[",",[");
+ tmp1=replace(tmp1,"].xy","]");
+ tmp1=replace(tmp1,name,head+text(#));
+ parse(tmp1);
+ tmp=parse(head+text(#)+"_1");
+ dt=concat(dt,[head+text(#)+"k",tmp]);
+ tmp=parse(head+text(#)+"_2");
+ dt=concat(dt,[head+text(#)+"c",tmp]);
+ );
+ WriteOutData(head+".txt",dt);
+ dt;
+);
+
+Readbezier(file):=Readbezier(file,[]);
+Readbezier(file,optionorg):=(
+//help:Readbezier("xsr");
+//help:Readbezier(options=["Num=10","nogeo"]);
+ regional(nn,options,stL,geo,nc,alpha,out,tmp,tmp1,tmp2,tmp3);
+ options=optionorg;
+ tmp=Divoptions(options);
+ stL=tmp_7;
+ geo=0;
+ forall(stL,
+ tmp=Toupper(substring(#,0,1));
+ if(tmp=="G",geo=1);
+ options=remove(options,[#]);
+ );
+ ReadOutData(file);
+ tmp=file+"n_1_1";
+ nn=parse(tmp);
+ out=[];
+ forall(1..nn,nc,
+ tmp=file+text(nc);
+ tmp1=parse(tmp+"k");
+ tmp2=parse(tmp+"c");
+ if(MeasureDepth(tmp2)==1,tmp2=[tmp2]); // 16.04.22from
+ if(geo==1,
+ alpha="abcdefghijklmnopqrstuvwxyz";
+ forall(1..length(tmp1),
+ tmp="k"+BezierNumber+"n"+text(nc)+substring(alpha,#-1,#);
+ Putpoint(tmp,tmp1_#,parse(tmp+".xy"));
+ inspect(parse(tmp),"labeled",false);
+ inspect(parse(tmp),"ptsize",3);
+ tmp1_#=parse(tmp+".xy");
+ );
+ forall(1..length(tmp2),
+ tmp="c"+BezierNumber+"n"+text(nc)+substring(alpha,#-1,#)+"1";
+ Putpoint(tmp,tmp2_#_1,parse(tmp+".xy"));
+ inspect(parse(tmp),"labeled",false);
+ inspect(parse(tmp),"color",4);
+ inspect(parse(tmp),"ptsize",3);
+ tmp2_#_1=parse(tmp+".xy");
+ tmp="c"+BezierNumber+"no"+text(nc)+substring(alpha,#-1,#)+"2";
+ Putpoint(tmp,tmp2_#_2,parse(tmp+".xy"));
+ inspect(parse(tmp),"labeled",false);
+ inspect(parse(tmp),"color",4);
+ inspect(parse(tmp),"ptsize",3);
+ tmp2_#_2=parse(tmp+".xy");
+ );
+ BezierNumber=BezierNumber+1;
+ );
+ Bezier(file+text(nc),tmp1,tmp2,options);// 16.04.22until
+ out=append(out,"bz"+tmp);
+ );
+ out;
+);
+
+Ospline(nm,ptlist):=Ospline(nm,ptlist,[]);
+Ospline(nm,ptlist,options):=(
+//help:Ospline("1",ptlist,[options]);
+ regional(tmp,tmp1,tmp2,list,ptL,ctrL,name,closed,flg,
+ p0,p1,p2,p3,pQ,pR,cc,p01,p02,p11,p12,p21,p22,p31,p32);
+ name="o"+nm;
+ if(isstring(ptlist),list=parse(ptlist),list=ptlist);
+ if(|list_1-list_(length(list))|<10^(-6),closed=1,closed=0);
+// list=apply(list,LLcrd(#));
+ ctrL=[];
+ forall(1..(length(list)-1),
+ flg=0;
+ p1=Lcrd(list_#); // 16.08.16
+ p2=Lcrd(list_(#+1)); // 16.08.16
+ if(#==1 % #==length(list)-1,
+ flg=1;
+ if(closed==0,
+ pQ=(p1+2*p2)/3; // 15.09.21 // 16.08.16
+ pR=(2*p1+p2)/3; // 16.08.16
+ ctrL=append(ctrL,[pQ,pR]);
+ flg=2;
+ ,
+ if(#==1,
+ p0=Lcrd(list_(length(list)-1)); // 16.08.16
+ p3=Lcrd(list_(#+2)); // 16.08.16
+ ,
+ p0=Lcrd(list_(#-1)); // 16.08.16
+ p3=Lcrd(list_2); // 16.08.16
+ );
+ );
+ );
+ if(flg<=1,
+ if(flg==0,
+ p0=Lcrd(list_(#-1)); // 16.08.16
+ p3=Lcrd(list_(#+2)); // 16.08.16
+ );
+ tmp=1+sqrt((1+Dotprod(p2-p0,p3-p1)/|p2-p0|/|p3-p1|)/2);
+ cc=4*|p2-p1|/3/(|p2-p0|+|p3-p1|)/tmp;
+ pQ=p1+cc*(p2-p0); // 15.09.21 // 16.08.16
+ pR=p2+cc*(p1-p3); // 16.08.16
+ ctrL=append(ctrL,[pQ,pR]);
+ );
+ );
+// list=apply(list,LLcrd(#)); // 16.08.16
+// ctrL=apply(ctrL,LLcrd(#));
+ if(closed==0, // 15.09.21
+ p1=ctrL_2_1;
+ p2=Lcrd(list_2); // 16.08.16
+ pQ=p2+(p2-p1);
+ ctrL_1=[pQ];
+ tmp=length(ctrL);
+ tmp1=ctrL_(tmp-1);
+ p1=ctrL_(tmp-1)_2;
+ p2=Lcrd(list_(tmp)); // 16.08.16
+ pQ=p2+(p2-p1);
+ ctrL_tmp=[pQ];
+ );
+ Bezier("o"+nm,list,ctrL,options);
+);
+
+CRspline(nm,ptL):=CRspline(nm,ptL,[]);
+CRspline(nm,ptL,options):=(
+ // Catmull-Rom spline
+//help:CRspline("1",[A,B,C,A]);
+ regional(name,ptlist,ctrpts,eqL,opcindy,c,v,tmp,tmp1,tmp2,ctrlist,cflg);
+ name="crsp"+nm;
+ if(MeasureDepth(ptL)==1,tmp=[ptL],tmp=ptL);
+ ptlist=tmp_1;
+ if(length(tmp)==1,
+ cflg=1;
+ ,
+ cflg=0;
+ ctrpts=tmp_2;
+ );
+ c=1/6;
+ tmp=Divoptions(options);
+ eqL=tmp_5;
+ opcindy=tmp_(length(tmp)); // 15.03.05
+ forall(eqL,
+ if(substring(#,0,1)=="R",
+ tmp2=indexof(#,"=");
+ c=parse(substring(#,tmp2,length(#)));
+ );
+ );
+ ptlist=apply(ptlist,Lcrd(#)); // 16.08.16
+ ctrlist=[];
+ forall(1..(length(ptlist)-1),
+ if(#==1,
+ if(cflg==0,
+ tmp1=ctrpts_1;
+ ,
+ v=ptlist_2-ptlist_(length(ptlist)-1);
+ tmp1=ptlist_#+c*v;
+ );
+ ,
+ v=ptlist_(#+1)-ptlist_(#-1);
+ tmp1=ptlist_#+c*v;
+ );
+ if(#==length(ptlist)-1,
+ if(cflg==0,
+ tmp2=ctrpts_2;
+ ,
+ v=ptlist_2-ptlist_#;
+ tmp2=ptlist_(#+1)-c*v;
+ );
+ ,
+ v=ptlist_(#+2)-ptlist_#;
+ tmp2=ptlist_(#+1)-c*v;
+ );
+ tmp=select(options,indexof(text(#),"->")>0);
+ tmp=append(tmp,"notex"); //15.03.05
+ Pointdata(name+text(#),[tmp1,tmp2],tmp);
+ ctrlist=append(ctrlist,[tmp1,tmp2]);
+ );
+ Bezier(nm,ptlist,ctrlist,options);
+);
+
+Beziersmooth(nm,ptL):=Bzspline(nm,ptL,[]);
+//help:Beziersmooth("1",[A,B,C,A]);
+Beziersmooth(nm,ptL,options):=Bzspline(nm,ptL,options);
+Bzspline(nm,ptL):=Bzspline(nm,ptL,[]);
+Bzspline(nm,ptLorg,options):=(
+ // smooth bezier
+ regional(name,Eps,ptL,pt,pt1,pt2,pt3,npt,lstr,
+ tmp,tmp1,tmp2,cflg,ctrlist);
+ name="bzsp"+nm;
+ Eps=10^(-3);
+ ptL=apply(ptLorg,Lcrd(#)); // 16.08.16
+ if(|ptL_1-ptL_(length(ptL))|<Eps,cflg=1,cflg=0);
+ forall(2..length(ptL),
+ pt=ptL_#;
+ pt1=ptL_(#-1);
+ tmp1="C"+text(#-1)+"q";// 16.10.07
+ Putpoint(tmp1,(pt1+4*pt)/5,Lcrd(parse(tmp1))); // 16.08.16
+ );
+ forall(2..(length(ptL)-1),
+ if(#<length(ptL) % cflg==1,
+ lstr="c"+text(#);
+ pt=ptLorg_#; // 16.08.16
+ pt1=parse("C"+text(#-1)+"q");
+ create([lstr],"Join",[pt1,pt]);
+ tmp2="C"+text(#)+"p";
+ tmp=Append((2*pt.xy-pt1.xy),1);
+ create([tmp2],"PointOnLine",[parse(lstr),tmp]);
+ );
+ );
+ if(cflg==0,
+ pt=ptL_1;
+ pt1=ptL_2;
+ tmp1="C1p";
+ Putpoint(tmp1,(4*pt+pt1)/5,Lcrd(parse(tmp1))); // 16.08.16
+ );
+ if(cflg==1,
+ lstr="c1";
+ pt=ptLorg_1; // 16.08.16
+ pt1=parse("C"+text(length(ptL)-1)+"q");
+ create([lstr],"Join",[pt1,pt]);
+ tmp1="C1p";
+ tmp=Append((2*pt.xy-pt1.xy),1);
+ create([tmp1],"PointOnLine",[parse(lstr),tmp]);
+ );
+ ctrlist=[];
+ forall(1..(length(ptL)-1),
+ if(#>1 % cflg==1,
+ tmp1="c"+text(#);
+ inspect(parse(tmp1),"alpha",0.3);
+ );
+ tmp1="C"+text(#)+"p";
+ tmp2="C"+text(#)+"q";
+ inspect(parse(tmp1),"ptsize",3);
+ inspect(parse(tmp1),"color",3);
+ inspect(parse(tmp2),"ptsize",3);
+ inspect(parse(tmp2),"color",3);
+ tmp=[parse(tmp1),parse(tmp2)];
+ ctrlist=append(ctrlist,tmp);
+ );
+ Bezier(nm,ptL,ctrlist,options);
+ [ptL,ctrlist];
+);
+
+Beziersym(nm,ptL):=Bzsspline(nm,ptL,[]);
+Beziersym(nm,ptL,options):=Bzsspline(nm,ptL,options);
+Bzsspline(nm,ptL):=Bzsspline(nm,ptL,[]);
+Bzsspline(nm,ptLorg,options):=(
+ // smooth bezier with symmetric control points
+ regional(name,Eps,ptL,pt,pt1,pt2,pt3,npt,lstr,
+ tmp,tmp1,tmp2,cflg,ctrlist);
+ name="bzssp"+nm;
+ Eps=10^(-3);
+ ptL=apply(ptLorg,Lcrd(#)); // 16.08.16
+ if(|ptL_1-ptL_(length(ptL))|<Eps,cflg=1,cflg=0);
+ forall(2..length(ptL),
+ pt=ptL_#;
+ pt1=ptL_(#-1);
+ tmp1="C"+text(#-1)+"q";
+ Putpoint(tmp1,(pt1+4*pt)/5,Lcrd(parse(tmp1)));
+ );
+ forall(2..(length(ptL)-1),
+ if(#<length(ptL) % cflg==1,
+ pt=ptL_#;
+ pt1=parse("C"+text(#-1)+"q");
+ tmp2="C"+text(#)+"p=2*pt-pt1";
+ parse(tmp2);
+ );
+ );
+ if(cflg==0,
+ pt=ptL_1;
+ pt1=ptL_2;
+ Putpoint("C1p",(4*pt+pt1)/5,Lcrd(C1p)); // 16.08.16
+ inspect(C1p,"ptsize",3);
+ inspect(C1p,"color",3);
+ );
+ if(cflg==1,
+ pt=ptL_1;
+ pt1=Lcrd(parse("C"+text(length(ptL)-1)+"q")); // 16.08.16
+ tmp1="Putpoint("+Dq+"C1p"+Dq+",2*pt-pt1)"; // 16.08.16
+ parse(tmp1);
+ );
+ ctrlist=[];
+ forall(1..(length(ptL)-1),
+ tmp1="C"+text(#)+"p";
+ tmp2="C"+text(#)+"q";
+ inspect(parse(tmp2),"ptsize",3);
+ inspect(parse(tmp2),"color",3);
+ tmp=[parse(tmp1),parse(tmp2)];
+ ctrlist=append(ctrlist,tmp);
+ );
+ Bezier(nm,ptL,ctrlist,options);
+ [ptL,ctrlist];
+);
+
+Listbspline2bz(listorg):=(
+ regional(Eps,list,pcl,ptl,ctrl,k);
+ Eps=10^(-3);
+ list=apply(listorg,Lcrd(#)); // 16.08.16
+ k=length(list);
+ if(|list_1-list_k|>Eps,
+ pcl=list;
+ pcl_1=2*list_1-list_2;
+ pcl_k=2*list_k-list_(k-1);
+ ,
+ pcl=concat(list,[list_2]);
+ );
+ ctrl=apply(2..(length(pcl)-1),[pcl_#]);
+ ptl=apply(1..(length(pcl)-1),(pcl_#+pcl_(#+1))/2);
+ [ptl,ctrl];
+);
+
+Bspline(nm,ctrL):=Bspline(nm,ctrL,[]);
+Bspline(nm,ctrL,options):=(
+//help:Bspline("",[A,B,C]);
+ regional(list,tmp);
+ list=Listbspline2bz(ctrL);
+ tmp=BezierCurve("b"+nm,list_1,list_2,options);
+ tmp;
+);
+
+MeetCurve(Crv,Xorg,Yorg):=(
+ regional(Cv,tmp,tmp1,tmp2,X0,Y0,x1,x2,y1,y2,Ylist,Ban,Tate);
+ if(isstring(Crv),Cv=parse(Crv),Cv=Crv);
+ if(MeasureDepth(Cv)==2,Cv=Cv_1);
+ Cv=apply(Cv,LLcrd(#)); // 14.12.18
+ while(length(Cv)==1,
+ Cv=Cv_1;
+ );
+ Cv=apply(Cv,Lcrd(#));
+ tmp1=min(apply(Cv,#_1));
+ tmp2=max(apply(Cv,#_1));
+ if(isstring(Xorg),X0=parse(Xorg),X0=Xorg);
+ if(isstring(Yorg),Y0=parse(Yorg),Y0=Yorg);
+ if(X0<tmp1,
+ X0=tmp1;
+ ,
+ if(X0>tmp2,
+ X0=tmp2;
+ );
+ );
+ tmp1=select(
+ 1..(length(Cv)-1),Cv_#_1<=X0 & X0<=Cv_(#+1)_1);
+ tmp2=select(
+ 1..(length(Cv)-1),Cv_#_1>=X0 & X0>=Cv_(#+1)_1);
+ tmp2=remove(tmp2,common(tmp2,tmp1));
+ Ban=concat(tmp1,tmp2);
+ Tate=select(Ban,
+ abs(Cv_#_1-Cv_(#+1)_1)<=
+ 10^(-2)*abs(Cv_#_2-Cv_(#+1)_2)
+ );
+ Ban=remove(Ban,Tate);
+ Ylist=[];
+ forall(Ban,
+ tmp=Cv_#;
+ x1=tmp_1; y1=tmp_2;
+ tmp=Cv_(#+1);
+ x2=tmp_1; y2=tmp_2;
+ tmp=((x2-X0)*y1+(X0-x1)*y2)/(x2-x1);
+ Ylist=append(Ylist,tmp);
+ );
+ forall(Tate,
+ tmp=Cv_#;
+ x1=tmp_1; y1=tmp_2;
+ tmp=Cv_(#+1);
+ x2=tmp_1; y2=tmp_2;
+ tmp1=min([y1,y2]);
+ tmp2=max([y1,y2]);
+ if(Y0<tmp1,
+ tmp=tmp1;
+ ,
+ if(Y0>tmp2,
+ tmp=tmp2;
+ ,
+ tmp=Y0;
+ );
+ );
+ Ylist=append(Ylist,tmp);
+ );
+ tmp=sort(Ylist,abs(#_1-Y0));
+ [X0,tmp_1];
+);
+
+PutonLine(name,p1,p2):=PutonLine(name,p1,p2,[]);
+PutonLine(name,p1org,p2org,options):=(
+//help:PutonLine("C","sgAB");
+//help:PutonLine("C",pA,pB);
+ regional(par,p1,p2,dx,dy,tmp,tmp1,tmp2);
+ par=0.5;
+ tmp=Divoptions(options);
+ if(length(tmp_6)>0,
+ par=tmp_6_1;
+ );
+ p1=Lcrd(p1org);//16.10.11from
+ p2=Lcrd(p2org);
+ dx=p2_1-p1_1;
+ dy=p2_2-p1_2;
+ tmp1=(1-par)*p1+par*p2;
+ if(abs(dx)>abs(dy),
+ tmp=name+".x";
+ tmp2="["+tmp+",dy/dx*("+tmp+"-p1_1)+p1_2]";//16.10.11until
+ Putpoint(name,tmp1,parse(tmp2));
+ ,
+ if(abs(dy)>0,
+ tmp=name+".y";
+ tmp2="[dx/dy*("+tmp+"-p1.y)+p1_1,"+tmp+"]";
+ Putpoint(name,tmp1,parse(tmp2));
+ ,
+ tmp2=p1;//16.10.11
+ Putpoint(name,tmp1,tmp2);
+ );
+ );
+);
+
+PutonSeg(name,sgstr):=(
+ regional(seg,p1,p2);
+ if(isstring(sgstr),seg=parse(sgstr),seg=sgstr);
+ PutonSeg(name,LLcrd(seg_1),LLcrd(seg_2));
+);
+PutonSeg(name,p1,p2):=PutonSeg(name,p1,p2,[]);
+PutonSeg(name,p1org,p2org,options):=(
+//help:PutonSeg("C","sgAB");
+//help:PutonSeg("C",pA,pB);
+ regional(par,dx,dy,p,tmp,tmp1,tmp2);
+ par=0.5;
+ tmp=Divoptions(options);
+ if(length(tmp_6)>0,
+ par=tmp_6_1;
+ );
+ p1=Lcrd(p1org);//16.10.11from
+ p2=Lcrd(p2org);
+ PutonLine(name,p1,p2,[par]);
+ dx=p2_1-p1_1;
+ dy=p2_2-p1_2;
+ p=parse(name+".xy");
+ p=LLcrd(p);
+ if(abs(dx)>abs(dy) & (p_1-p1_1)*(p_1-p2_1)>0,
+ if(|p-p1|<|p-p2|,
+ parse(name+".xy=Pcrd(p1)");
+ ,
+ parse(name+".xy=Pcrd(p2)");
+ );
+ );
+ if(abs(dx)<abs(dy) & (p_2-p1_2)*(p_2-p2_2)>0,
+ if(|p-p1|<|p-p2|,
+ parse(name+".xy=Pcrd(p1)");
+ ,
+ parse(name+".xy=Pcrd(p2)");//16.10.11until
+ );
+ );
+);
+
+PutonCurve(pn,crv):=PutonCurve(pn,crv,[]);
+PutonCurve(pn,crv,options):=(
+//help:PutonCurve("A","gr1");
+ regional(Pmt,pstr,optionL,leftlim,rightlim,tmp,tmp1,Flg,Msg);
+ if(!islist(options),optionL=[options],optionL=options);
+ leftlim=XMIN;
+ rightlim=XMAX;
+ Flg=0;
+ Msg="y";
+ forall(optionL,
+ if(isstring(#), // 16.02.10 from
+ tmp=indexof(#,"=");
+ tmp1=Toupper(substring(#,tmp,tmp+1));
+ if(tmp1=="N", Msg="n"); // 16.02.10 until
+ ,
+ if(Flg==0,
+ leftlim=#;
+ Flg=Flg+1;
+ ,
+ rightlim=#;
+ );
+ );
+ );
+ Pmt=MeetCurve(crv,leftlim,0);
+ pstr=apply(allpoints(),textformat(#,5)); // 15.04.07
+ if(!contains(pstr,pn),
+ createpoint(pn,Pcrd(Pmt));
+ ,
+ tmp1=parse(pn+".x");
+ if(tmp1< leftlim % tmp1>rightlim,
+ if(tmp1< leftlim,tmp= leftlim, tmp=rightlim);
+ Pmt=MeetCurve(crv,textformat(tmp,5),pn+".y");
+ ,
+ Pmt=MeetCurve(crv,pn+".x",pn+".y");
+ );
+ ptstr=pn+".xy="+textformat(Pcrd(Pmt),5)+";";
+ parse(ptstr);
+ );
+ if(Msg=="y",
+ println("Put "+pn+" on Curve "+text(crv));
+ );
+);
+
+CrossPoint(name,Crv1,Crv2,range):=(
+ regional(Mx1,Mx2,Mx3,tmp,Crs1,Crs2,Crs3,Crs4,df1,df2);
+ Mx1=range_1; Mx2=range_2;
+ repeat(15,
+ Mx3=(Mx1+Mx2)/2;
+ Crs1=MeetCurve(Crv1,Mx1,0);
+ Crs2=MeetCurve(Crv2,Mx1,0);
+ Crs3=MeetCurve(Crv1,Mx3,0);
+ Crs4=MeetCurve(Crv2,Mx3,0);
+ df1=Crs1_2-Crs2_2;
+ df2=Crs3_2-Crs4_2;
+ if((df1>0 & df2>0) % (df1<0 & df2<0),
+ Mx1=Mx3;
+ ,
+ Mx2=Mx3;
+ );
+ );
+ Putpoint(name,Crs1);
+);
+
+Setscaling(sc):=(
+//help:Setscaling(3);
+ SCALEX=1;
+ SCALEY=sc;
+ Com0th("Setscaling("+sc+")");
+ Setwindow("Msg=no");
+);
+
+Periodfun(defL,rep):=Periodfun(defL,rep,[]);
+Periodfun(defL,rep,optionorg):=( // 16.11.24
+//help:Periodfun(["0",[-1,0],"1",1,[0,1],1],2(num of repetition),options);
+//help:Periodfun(options=["Con=y"]);
+//help:Periodfun(defL=[function string, range, devision number,...]);
+ regional(nn,fun,range,num,options,nr,maxfun,
+ tmp,tmp1,tmp2,eqL,connect,minx,maxx,pdata,Eps,prept);
+ options=optionorg;
+ tmp=Divoptions(options);
+ eqL=tmp_5;
+ connect="Y";
+ forall(eqL,
+ tmp=indexof(#,"=");
+ tmp2=substring(#,tmp,tmp+1);
+ tmp=substring(#,0,3);
+ if(Toupper(tmp)=="CON",
+ connect=Toupper(tmp2);
+ options=remove(options,[#]);
+ );
+ );
+ minx=10000;
+ maxx=-10000;
+ mxfun="";
+ pdata=[];
+ forall(1..(length(defL)/3),nn,
+ fun=defL_(3*nn-2);
+ range=defL_(3*nn-1);
+ tmp1=if(isstring(range_1),parse(range_1),range_1); //17.06.11(2lines)
+ tmp2=if(isstring(range_2),parse(range_2),range_2);
+ minx=min(minx,tmp1);
+ maxx=max(maxx,tmp2);
+ num=defL_(3*nn);
+ options=append(options,"Num="+text(num));
+ Plotdata("pe"+text(nn),fun,
+ "x="+textformat([tmp1,tmp2],5),options);
+ pdata=append(pdata,"grpe"+text(nn));
+ tmp1=range_1; //17.06.11(4lines)
+ if(isstring(tmp1),tmp1=replace(tmp1,"pi","%pi"),tmp1=format(tmp1,5));
+ tmp2=range_2;
+ if(isstring(tmp2),tmp2=replace(tmp2,"pi","%pi"),tmp2=format(tmp2,5));
+ mxfun=mxfun+"elseif ("+tmp1+
+ "<=x and x<"+tmp2+") then "+fun+" ";
+ );
+ per=maxx-minx;
+ forall(1..rep,nr,
+ tmp1=[];
+ forall(pdata,
+ Translatedata("p"+#+text(nr),#,[per*nr,0],options);
+ Translatedata("m"+#+text(nr),#,[-per*nr,0],options);
+ tmp1=concat(tmp1,["trp"+#+text(nr),"trm"+#+text(nr)]);
+ );
+ );
+ pdata=concat(pdata,tmp1);
+ if(connect=="Y",
+ Eps=10^(-5);
+ pdata=sort(pdata,[parse(#)_1_1]);
+ prept=parse(pdata_1)_1;
+ forall(1..(length(pdata)),
+ tmp=parse(pdata_#);
+ tmp1=tmp_1;
+ tmp2=tmp_(length(tmp));
+ if(|prept-tmp1|>Eps,
+ Listplot("con"+text(#),[prept,tmp1],append(options,"da"));
+ );
+ prept=tmp_(length(tmp));
+ );
+ );
+ mxfun=substring(mxfun,4,length(mxfun)-1);
+ [mxfun,per];
+);
+
+Fourierseries(nm,coeff,per,nterm):=
+ Fourierseries(nm,coeff,per,nterm,[]); // 16.11.24
+Fourierseries(nm,coeff,per,nterm,options):=(
+//help:Fourierseries("1",[c0,cn,sn],period,numterm,options);
+ regional(c0,cn,sn,fs,tmp,tmp1,tmp2);
+ c0=coeff_1;
+ if(!isstring(c0),c0=format(c0,5));
+ c0=replace(c0,"%pi","pi");
+ cn=coeff_2;
+ if(!isstring(cn),cn=format(cn,5));
+ cn=replace(cn,"%pi","pi");
+ sn=coeff_3;
+ if(!isstring(sn),sn=format(sn,5));
+ sn=replace(sn,"%pi","pi");
+ fs=c0;
+ forall(1..nterm,
+ tmp=parse(Assign(cn,["n",#]));
+ tmp1=Assign("("+format(tmp,5)+")*cos(n*2*pi/per*x)",
+ ["n",#,"per",per]);
+ tmp=parse(Assign(sn,["n",#]));
+ tmp2=Assign("("+format(tmp,5)+")*sin(n*2*pi/per*x)",
+ ["n",#,"per",per]);
+ fs=fs+"+"+tmp1+"+"+tmp2;
+ );
+ Plotdata("four"+nm,fs,"x",options);
+);
+
+Tabledatalight(nm,xLst,yLst,rmvL):=Tabledatalight(nm,xLst,yLst,rmvL,[]);
+Tabledatalight(nm,xLst,yLst,rmvL,optionorg):=(
+//help:Tabledatalight("",xLst,yLst,rmvL,[2,"Rng=y"]);
+ regional(options,rng,name,upleft,ul,flg,tick,eqL,reL,n,m,xsize,ysize,
+ rlist,clist,Tb,tmp,tmp1,tmp2,tmp3,Eps);
+// name="tb"+nm;
+ name="tb";
+ options=optionorg;
+ tmp=Divoptions(options);
+ eqL=tmp_5; //16.12.16from
+ reL=tmp_6;
+ rng="Y";
+ forall(eqL,
+ tmp=indexof(#,"=");
+ tmp1=Toupper(substring(#,0,2));
+ tmp2=Toupper(substring(#,tmp,tmp+1));
+ if(tmp1=="RN",
+ rng=tmp2;
+ options=remove(options,[#]);
+ );
+ );//16.12.16until
+ tick=1;
+ flg=0;
+ forall(reL,
+ if(flg==0,
+ tick=#;
+ flg=flg+1;
+ ,
+ upleft=tmp_6_1;
+ );
+ );
+ tmp=sum(yLst);
+ upleft=[0,tmp];
+ TableOptions=options; // 16.11.28
+ println("Tabledatalight "+name+" generated");
+ ul=upleft/10;
+ m=length(xLst);
+ n=length(yLst);
+ xsize=sum(xLst);
+ ysize=sum(yLst);
+ clist=[ul];
+ rlist=[ul];
+ forall(1..m,
+ tmp1=clist_(#)_1+xLst_#/10;
+ clist=append(clist,[tmp1,clist_1_2]);
+ );
+ forall(1..n,
+ tmp1=rlist_(#)_2-yLst_#/10;
+ rlist=append(rlist,[0,tmp1]);
+ );
+ Tb=[clist,rlist];
+ tmp=name+"="+Tb;
+ parse(tmp);
+ forall(0..m,
+ tmp1="c"+text(#)+"r0";
+ tmp2="c"+text(#)+"r"+text(n);
+ Tlistplot("c"+text(#)+"r0r"+text(n),[tmp1,tmp2],options);
+ if(mod(#,tick)==0 % #==m,
+ tmp=clist_(#+1);
+ drawtext(clist_(#+1)-[0.04,-0.1],"c"+text(#));
+ );
+ );
+ forall(0..n,
+ tmp1="c0r"+text(#);
+ tmp2="c"+text(m)+"r"+text(#);
+ Tlistplot("r"+text(#)+"c0c"+text(m),[tmp1,tmp2],options);
+ if(mod(#,tick)==0 % #==n,
+ tmp=rlist_(#+1);
+ drawtext(rlist_(#+1)-[0.4,0.1],"r"+text(#));
+ );
+ );
+ Tsegrmv(rmvL,options);
+ Addax(0);
+ Eps=10^(-3);
+ tmp1=clist_(length(clist));
+ tmp2=rlist_1;
+ tmp3=rlist_(length(rlist));
+ if(rng=="Y", // 16.12.16
+ Setwindow([0-Eps,tmp1_1+Eps],[tmp3_2-Eps,tmp2_2+Eps]);
+ );
+ Tb;
+);
+
+Tabledata(nm,n,m,xsize,ysize,rmvL):=
+ Tabledata(nm,n,m,xsize,ysize,rmvL,[]);
+Tabledata(nm,n,m,xsize,ysize,rmvL,options):=(
+ regional(Tb,name,tmp,xLst,yLst);
+ name="tb"+nm;
+ xLst=apply(1..n,xsize/n);
+ yLst=apply(1..m,ysize/m);
+ Tabledata(nm,xLst,yLst,rmvL,options)
+);
+Tabledata(nm,xLst,yLst,rmvL):=Tabledata(nm,xLst,yLst,rmvL,[]);
+Tabledata(nm,xLst,yLst,rmvL,optionorg):=(
+//help:Tabledata("",xLst,yLst,rmvL,[2,"Rng=y"]);
+ regional(name,options,eqL,reL,rng,upleft,ul,flg,tick,n,m,xsize,ysize,
+ rlist,clist,Tb,tmp,tmp1,tmp2,tmp3,Eps);
+// name="tb"+nm;
+ name="tb";
+ tmp=sum(yLst);
+ upleft=[0,tmp];
+ options=optionorg;
+ tmp=Divoptions(options);
+ eqL=tmp_5; //16.12.16from
+ reL=tmp_6;
+ rng="Y";
+ forall(eqL,
+ tmp=indexof(#,"=");
+ tmp1=Toupper(substring(#,0,2));
+ tmp2=Toupper(substring(#,tmp,tmp+1));
+ if(tmp1=="RN",
+ rng=tmp2;
+ options=remove(options,[#]);
+ );
+ );//16.12.16until
+ tick=1;
+ flg=0;
+ forall(reL,
+ if(flg==0,
+ tick=#;
+ flg=flg+1;
+ ,
+ upleft=tmp_6_1;
+ );
+ );
+ TableOptions=options; // 16.11.28
+ println("Tabledata "+name+" generated");
+ ul=upleft/10;
+ m=length(xLst);
+ n=length(yLst);
+ xsize=sum(xLst);
+ ysize=sum(yLst);
+ clist=[ul];
+ rlist=[ul];
+ forall(1..m,
+ tmp1=clist_(#)_1+xLst_#/10;
+ clist=append(clist,[tmp1,clist_1_2]);
+ );
+ forall(1..n,
+ tmp1=rlist_(#)_2-yLst_#/10;
+ rlist=append(rlist,[0,tmp1]);
+ );
+ Tb=[clist,rlist];
+ tmp=name+"="+Tb;
+ parse(tmp);
+ forall(0..m,
+ tmp="C"+text(#);
+ tmp1="c"+text(#)+"r0";
+ if(#==0,
+ Putpoint(tmp,Tgrid(tmp1));
+ ,
+ Putpoint(tmp,Tgrid(tmp1),[parse(tmp+".x"),C0.y]);
+ clist_(#+1)=parse(tmp+".xy");
+ );
+ inspect(parse(tmp),"ptsize",3);
+ inspect(parse(tmp),"labeled",false);
+ if(mod(#,tick)==0 % #==m,
+ tmp=clist_(#+1);
+ drawtext(clist_(#+1)-[0.04,-0.1],"c"+text(#));
+ );
+ );
+ forall(0..n,
+ tmp="R"+text(#);
+ tmp1="c0r"+text(#);
+ if(#==0,
+ Putpoint(tmp,Tgrid(tmp1));
+ ,
+ Putpoint(tmp,Tgrid(tmp1),[R0.x,parse(tmp+".y")]);
+ rlist_(#+1)=parse(tmp+".xy");
+ );
+ Putpoint(tmp,Tgrid(tmp1),[R0.x,parse(tmp+".y")]);
+ inspect(parse(tmp),"ptsize",3);
+ inspect(parse(tmp),"labeled",false);
+ if(mod(#,tick)==0 % #==n,
+ tmp=rlist_(#+1);
+ drawtext(rlist_(#+1)-[0.4,0.1],"r"+text(#));
+ );
+ );
+ Tb=[clist,rlist];
+ tmp=name+"="+Tb;
+ parse(tmp);
+ forall(0..m,
+ tmp1="c"+text(#)+"r0";
+ tmp2="c"+text(#)+"r"+text(n);
+ Tlistplot("c"+text(#)+"r0r"+text(n),[tmp1,tmp2],options);
+ if(#<m,
+ tmp1=parse("C"+text(#));
+ tmp2=parse("C"+text(#+1));
+ tmp=(tmp1.xy+tmp2.xy)/2;
+ drawtext(tmp+[-0.2,0.5],text((tmp2.x-tmp1.x)*10));
+ );
+ );
+ forall(0..n,
+ tmp1="c0r"+text(#);
+ tmp2="c"+text(m)+"r"+text(#);
+ Tlistplot("r"+text(#)+"c0c"+text(m),[tmp1,tmp2],options);
+ if(#<n,
+ tmp1=parse("R"+text(#));
+ tmp2=parse("R"+text(#+1));
+ tmp=(tmp1.xy+tmp2.xy)/2;
+ drawtext(tmp-[1.2,0.1],text(abs(tmp1.y-tmp2.y)*10));
+ );
+ );
+ Tsegrmv(rmvL,options);
+ Addax(0);
+ Eps=10^(-3);
+ tmp1=clist_(length(clist));
+ tmp2=rlist_1;
+ tmp3=rlist_(length(rlist)); // 15.06.11
+ if(rng=="Y", // 16.12.16
+ Setwindow([0-Eps,tmp1_1+Eps],[tmp3_2-Eps,tmp2_2+Eps]);
+ );
+ Tb;
+);
+
+Tseginfo(seg):=(
+ regional(cr,tp,tpc,n1,n2,n3,tmp,tmp1,tmp2);
+ if(substring(seg,0,2)=="sg",
+ cr=substring(seg,2,length(seg));
+ ,
+ cr=seg;
+ );
+ tp=substring(cr,0,1);
+ if(tp=="c",
+ tpc="r";
+ ,
+ tpc="c";
+ );
+ tmp1=indexof(cr,tpc);
+ tmp=substring(cr,tmp1,length(cr));
+ tmp2=tmp1+indexof(tmp,tpc);
+ n1=substring(cr,1,tmp1-1);
+ n2=substring(cr,tmp1,tmp2-1);
+ n3=substring(cr,tmp2,length(cr));
+ [tp+n1,tpc,parse(n2),parse(n3)];
+);
+
+Tsegrmv(rmvL):=Tsegrmv(rmvL,[]);
+Tsegrmv(rmvL,options):=(
+ regional(cr,gcL,flg,gc,hd,tail,tpc,m1,m2,n1,n2,tmp,tmp1,tmp2);
+ forall(rmvL,cr,
+ tmp1=Tseginfo(cr);
+ hd=tmp1_1;
+ tpc=tmp1_2;
+ m1=tmp1_3;
+ m2=tmp1_4;
+ gcL=select(GCLIST,Tseginfo(#_1)_1==tmp1_1);
+ flg=0;
+ forall(gcL,
+ if(flg==0,
+ tmp=Tseginfo(#_1);
+ n1=tmp_3;
+ n2=tmp_4;
+ if(m1>=n1 & m2<=n2,
+ gc=#;
+ flg=1;
+ );
+ );
+ );
+ if(flg==1,
+ Changestyle([gc_1],["nodisp"]);
+ tail="";
+ if(indexof(hd,"r")>0,
+ tail=hd; hd="";
+ );
+ if(n1<m1,
+ tmp1=tpc+text(n1);
+ tmp2=tpc+text(m1);
+ tmp=hd+tail+tmp1+tmp2;
+ Tlistplot(tmp,[hd+tmp1+tail,hd+tmp2+tail],options);
+ );
+ if(m2<n2,
+ tmp1=tpc+text(m2);
+ tmp2=tpc+text(n2);
+ tmp=hd+tail+tmp1+tmp2;
+ Tlistplot(tmp,[hd+tmp1+tail,hd+tmp2+tail],options);
+ );
+ );
+ );
+);
+
+Tgrid(ptstr):=(
+//help:Tgrid("c2r5");
+ regional(tmp,tmp1,tmp2);
+ tmp=parse(ptstr);
+ if(islist(tmp),
+ tmp;
+ ,
+ tmp=indexof(ptstr,"r");
+ tmp1=substring(ptstr,1,tmp-1);
+ tmp1=parse(tmp1);
+ tmp2=substring(ptstr,tmp,length(ptstr));
+ tmp2=parse(tmp2);
+ [tb_1_(tmp1+1)_1,tb_2_(tmp2+1)_2];
+ );
+);
+
+Tlistplot(ptL):=Tlistplot(ptL,[]);
+Tlistplot(Ag1,Ag2):=(
+ regional(nm,ptL,options);
+ if(isstring(Ag1),
+ nm=Ag1;
+ ptL=Ag2;
+ options=[];
+ ,
+ ptL=Ag1;
+ options=Ag2;
+ nm=ptL_1+ptL_2;
+ );
+ Tlistplot(nm,ptL,options);
+);
+Tlistplot(nm,ptL,options):=(
+//help:Tlistplot(["c0r0","c0r4"]);
+//help:Tlistplot("1",["c0r0","c0r4"]);
+//help:Tlistplot([options2="Msg=y"]);
+ regional(tmp,tmp1);
+ tmp1=divoptions(options);//180404from
+ tmp1=tmp1_5;
+ tmp1=apply(tmp1,Toupper(substring(#,0,1)));
+ if(contains(tmp1,"M"),
+ tmp1=options;
+ ,
+ tmp1=append(options,"Msg=n");
+ );//180404to
+ tmp=apply(ptL,Tgrid(#)); // 15.06.03
+ Listplot(nm,tmp,tmp1);
+);
+
+ChangeTablestyle(nameL,style):=(
+////help:ChangeTablestyle(["r0c0c3"],["da"]);
+ regional(nmL,grid,head,sb,tmp,tmp1,tmp2,
+ tsg,segall,sg,str);
+ if(islist(nameL),nmL=nameL,nmL=[nameL]);
+ forall(nmL,grid,
+ if(substring(grid,0,1)=="r",sb="c",sb="r");
+ tmp=Indexall(grid,sb);
+ head=substring(grid,0,tmp_1-1);
+ tmp1=substring(grid,tmp_1,tmp_2-1);
+ tmp2=substring(grid,tmp_2,length(grid));
+ tsg=apply([tmp1,tmp2],parse(#));
+ tmp1=apply(GCLIST,#_1); // 16.12.06from
+ segall=[];
+ forall(tmp1,
+ tmp2=substring(#,2,length(#));
+ tmp=indexof(tmp2,sb);
+ tmp2=substring(tmp2,0,tmp-1);
+ if(head==tmp2,segall=append(segall,#));
+ );// 16.12.06until
+ sg=[];
+ forall(segall,
+ tmp=Indexall(#,sb);
+ tmp1=substring(#,tmp_1,tmp_2-1);
+ tmp2=substring(#,tmp_2,length(#));
+ tmp=apply([tmp1,tmp2],parse(#));
+ if((tsg_1>=tmp_1) & (tsg_2<=tmp_2),
+ sg=tmp;
+ Changestyle(#,["nodisp"]);
+ );
+ );
+ if(length(sg)==0,
+ println("No segment includes "+grid);
+ ,
+ if(sb=="c",str=sb+"no"+head,str=head+sb+"no");
+ if(sg_1<tsg_1,
+ tmp1=replace(str,"no",text(sg_1));
+ tmp2=replace(str,"no",text(tsg_1));
+ tmp=head+sb+text(sg_1)+"c"+text(tsg_1);
+ Tlistplot(tmp,[tmp1,tmp2],TableOptions);
+ );
+ tmp1=replace(str,"no",text(tsg_1));
+ tmp2=replace(str,"no",text(tsg_2));
+ tmp=head+"c"+text(tsg_1)+"c"+text(tsg_2);
+ Tlistplot(tmp,[tmp1,tmp2],style);
+ if(tsg_2<sg_2,
+ tmp1=replace(str,"no",text(tsg_2));
+ tmp2=replace(str,"no",text(sg_2));
+ tmp=head+"c"+text(tsg_2)+"c"+text(sg_2);
+ Tlistplot(tmp,[tmp1,tmp2],TableOptions);
+ );
+ );
+ );
+);
+
+Findcell(pos1,pos2):=Findcell("",pos1,pos2);
+Findcell(Tbdata,pos1,pos2):=(
+//help:Findcell("c0r0","c2r1");
+ regional(tmp1,tmp2,posnw,posse,ctr,dx,dy);
+ if(isstring(pos1),
+ posnw=Tgrid(pos1); // 15.05.20
+ posse=Tgrid(pos2);
+ //posnw=parse(pos1);
+ //posse=parse(pos2);
+ ,
+ if(islist(pos1),
+ posnw=pos1;
+ posse=pos2;
+ ,
+ tmp1="c"+text(pos1-1)+"r"+text(pos2-1);
+ tmp2="c"+text(pos1)+"r"+text(pos2);
+ posnw=Tgrid(tmp1);
+ posse=Tgrid(tmp2);
+// posnw=parse(tmp1);
+// posse=parse(tmp2);
+ );
+ );
+ ctr=(posnw+posse)/2;
+ dx=abs(posse_1-ctr_1);
+ dy=abs(posnw_2-ctr_2);
+ [ctr,dx,dy];
+);
+
+Putcell(pos1,pos2,dir,lttr):=Putcell("",pos1,pos2,dir,lttr);
+Putcell(Tbdata,pos1,pos2,dir,lttr):=(
+//help:Putcell("c0r0","c2r1","lt","abc");
+//help:Putcell(2,3,"c","xyz");
+ regional(tmp,tmp1,tmp2,posnw,posse,
+ posdir,posstr,ctr,dx,dy);
+ tmp=Findcell(Tbdata,pos1,pos2);
+ ctr=tmp_1; dx=tmp_2; dy=tmp_3;
+ posdir=ctr;
+ posstr=dir;
+ if(indexof(dir,"b")>0,
+ posdir_2=posdir_2-dy;
+ posstr=replace(posstr,"b","n");
+ );
+ if(indexof(dir,"t")>0,
+ posdir_2=posdir_2+dy;
+ posstr=replace(posstr,"t","s");
+ );
+ if(indexof(dir,"l")>0,
+ posdir_1=posdir_1-dx;
+ posstr=replace(posstr,"l","e");
+ );
+ if(indexof(dir,"r")>0,
+ posdir_1=posdir_1+dx;
+ posstr=replace(posstr,"r","w");
+ );
+ Letter(posdir,posstr,text(lttr));
+);
+
+Putcellexpr(pos1,pos2,dir,ex):=Putcellexpr("",pos1,pos2,dir,ex);
+Putcellexpr(Tbdata,pos1,pos2,dir,ex):=(
+//help:Putcellexpr("c0r0","c2r1","lt","abc");
+//help:Putcellexpr(2,3,"c","\sin x");
+ Putcell(Tbdata,pos1,pos2,dir,"$"+text(ex)+"$");
+);
+
+Putrow(nrow,dir,lttrL):=Putrow("",nrow,dir,lttrL);
+Putrow(Tbdata,nrow,dir,lttrL):=(
+//help:Putrow(1,"c",["x","y","z"]);
+ regional(tmp,tmp1,mcol);
+ mcol=length(lttrL);
+ forall(1..mcol,
+ Putcell(Tbdata,#,nrow,dir,lttrL_#);
+ );
+);
+
+Putrowexpr(nrow,dir,exL):=Putrowexpr("",nrow,dir,exL);
+Putrowexpr(Tbdata,nrow,dir,exL):=(
+//help:Putrowexpr(2,"r",["x","y","z"]);
+ regional(lttrL);
+ lttrL=apply(exL,"$"+#+"$");
+ Putrow(Tbdata,nrow,dir,lttrL);
+);
+
+PutcoL(mcol,dir,lttrL):=PutcoL("",mcol,dir,lttrL);
+PutcoL(Tbdata,mcol,dir,lttrL):=(
+//help:PutcoL(1,"c",["x","y","z"]);
+ regional(tmp,tmp1,nrow);
+ nrow=length(lttrL);
+ forall(1..nrow,
+ Putcell(Tbdata,mcol,#,dir,lttrL_#);
+ );
+);
+PutcoLexpr(mcol,dir,exL):=PutcoLexpr("",mcol,dir,exL);
+PutcoLexpr(Tbdata,mcol,dir,exL):=(
+//help:PutcoLexpr(2,"r",["x","y","z"]);
+ regional(lttrL);
+ lttrL=apply(exL,"$"+#+"$");
+ PutcoL(Tbdata,mcol,dir,lttrL);
+);
+
+Setrange():=(
+//help:Setrange();
+ SW.xy=Pcrd([XMIN,YMIN]);
+ NE.xy=Pcrd([XMAX,YMAX]);
+ drawpoly([Pcrd([XMIN,YMIN]), Pcrd([XMAX,YMIN]),
+ Pcrd([XMAX,YMAX]),Pcrd([XMIN,YMAX])],color->[1,1,1]);
+);
+
+Sciform(list):=(
+ regional(plotlist,comp,pos,out,out2,nn,strL,flg,
+ tmp,tmp1,tmp2,tmp3,Nj);
+ plotlist=Flatten([list]);
+ out=replace(plotlist_1,".xy","");
+ out=replace(out,".x","(1)");
+ out=replace(out,".y","(2)");
+ if(length(plotlist)==1,
+ comp=[];
+ forall(1..length(out),
+ comp=append(comp,substring(out,#-1,#));
+ );
+ out="";
+ pos=0;
+ forall(comp,
+ if(#!="'",
+ out=out+#;
+ ,
+ if(pos==0,
+ tmp=indexof(out,"Assign(");
+ if(substring(out,length(out)-7,length(out))=="Assign(",
+ out=out+"'";
+ pos=1;
+ ,
+ out=out+"Assign('";
+ pos=2;
+ );
+ ,
+ if(pos==2,
+ out=out+"')";
+ ,
+ out=out+"'";
+ );
+ pos=0;
+ );
+ );
+ );
+ ,
+ forall(2..length(plotlist),
+ comp=plotlist_#;
+ if(isstring(comp),
+ pos=indexof(comp,"Assign(");
+ if(pos>0,
+ comp=substring(comp,6,length(comp));
+ );
+ out=out+"Assign(";
+ comp=replace(comp,".xy","");
+ comp=replace(comp,".x","(1)");
+ comp=replace(comp,".y","(2)");
+ out=out+"'"+comp+"'";
+ out=out+"),";
+ );
+ if(islist(comp),
+ forall(comp,
+ out=out+"'"+#+"',";
+ );
+ );
+ );
+ if(length(plotlist)>1,
+ out=substring(out,0,length(out)-1);
+ out=out+");";
+ );
+ );
+ pos=[];
+ forall(1..length(out),
+ tmp=indexof(substring(out,#-1,length(out)),"Assign");
+ if(tmp>0,
+ tmp1=#-1+tmp;
+ if(length(pos)==0,
+ pos=[tmp1];
+ ,
+ if(pos_(length(pos))<tmp1,
+ pos=append(pos,tmp1);
+ );
+ );
+ );
+ );
+ if(length(pos)>0,
+ strL=[];
+ Nj=0;
+ forall(pos,
+ tmp=substring(out,Nj,#-1);
+ strL=append(strL,tmp);
+ Nj=#-1;
+ );
+ strL=append(strL,substring(out,Nj,length(out)));
+ out="";
+ forall(strL,
+ if(indexof(#,"Assign")==0,
+ out=out+#;
+ ,
+ tmp=indexof(#,"('");
+ tmp1=indexof(#,"')");
+ tmp2=substring(#,tmp+1,tmp1-2);
+ tmp3=substring(#,tmp1-2,length(#));
+ if(indexof(tmp2,"=")==0,
+ out=out+#;
+ ,
+ tmp=substring(tmp2,0,indexof(tmp2,"="));
+ out=out+"'"+tmp+"'+"+"Assign('";
+ tmp=substring(tmp2,indexof(tmp2,"="),length(tmp2));
+ out=out+tmp+tmp3;
+ );
+ );
+ );
+ );
+ out2=""; // patched 16.01.21 from
+ nn=length(out);
+ flg=0;
+ forall(1..nn,
+ if(flg==0,
+ tmp=indexof(out,"='+Assign('");
+ if(tmp==0,
+ out2=out2+out;
+ flg=1;
+ ,
+ out2=out2+substring(out,0,tmp);
+ out=substring(out,tmp+10,length(out));
+ tmp=indexof(out,"'"); // 16.04.19 from
+ tmp1=substring(out,0,tmp-1);
+ tmp2="1234567890";
+ tmp=apply(1..length(tmp1),
+ indexof(tmp2,substring(tmp1,#-1,#)));
+ tmp=min(tmp);
+ if(tmp==0, // 16.04.19 until
+ out2=out2+"'+Assign('";
+ ,
+ tmp=indexof(out,"'");
+ out=substring(out,0,tmp)+substring(out,tmp+1,length(out));
+ // 16.04.18 until
+ );
+ );
+ );
+ );
+ out2=replace(out2,"Dist=","D=");
+ out2=replace(out2,"Dis=","D=");
+ out2;
+);
+
+RSform(str):=RSform(str,3);
+RSform(str,listfrom):=(
+//help:RSform(string,listfrom);
+ regional(posL,mxlv,rep1,rep2,rep3,prev,out,
+ tmp,tmp1,tmp2);
+ rep1="c("; rep2="c("; rep3="list(";
+ if(listfrom<3,rep2="list(");
+ if(listfrom==1,rep1="list(");
+ posL=Bracket(str,"[]");
+ tmp=apply(posL,#_2);
+ mxlv=max(tmp);
+ out="";
+ prev=0;
+ forall(posL,
+ out=out+substring(str,prev,#_1-1);
+ prev=#_1;
+ if(#_2>0,
+ tmp1=select(posL,tmp,(tmp_2<0)&(tmp_1>#_1));
+ tmp1=tmp1_1_1;
+ tmp=substring(str,#_1,tmp1);
+ if(#_2==mxlv,out=out+rep1);
+ if(#_2==mxlv-1,out=out+rep2);
+ if(#_2<=mxlv-2,out=out+rep3);
+ ,
+ out=out+")";
+ );
+ );
+ out=out+substring(str,prev,length(str));
+ out=replace(out,".xy","");
+ out=replace(out,".x","[1]");
+ out=replace(out,".y","[2]");
+ out=replace(out,"c(1)","[1]");//17.10.06(2lines)
+ out=replace(out,"c(2)","[2]");
+ out;
+);
+
+RSslash(str):=( //17.09.24
+ regional(tmp);
+ tmp=replace(str,"\","\\");
+// tmp=replace(tmp,"\\\\","\\");
+ tmp;
+);
+
+Rform(list):=(
+ regional(plotlist,comp,pos,out,strL,tmp,tmp1,tmp2,tmp3,Nj);
+ out=list;
+ out=replace(out,"[[[","list([[");
+ out=replace(out,"[","c(");
+ out=replace(out,"]",")");
+ out=replace(out,".xy","");
+ out=replace(out,".x","[1]");
+ out=replace(out,".y","[2]");
+ out;
+);
+
+Defvar(varstr):=(
+ regional(name,value,tmp,tmp1);
+ if(isstring(varstr),
+ parse(varstr);
+ tmp=indexof(varstr,"=");
+ name=substring(varstr,0,tmp-1);
+ value=substring(varstr,tmp,length(varstr));
+ value=parse(value);
+ tmp1=select(1..length(VLIST),VLIST_#_1==name);
+ if(length(tmp1)>0,
+ tmp=tmp1_1;
+ VLIST_tmp=[name,value];
+ ,
+ VLIST=prepend([name,value],VLIST);
+ );
+ ,
+ forall(1..(length(varstr)/2), // 16.11.16from
+ name=varstr_(2*#-1);
+ value=varstr_(2*#);
+ Defvar(name,value);
+ ); // 16.11.16until
+ );
+);
+
+Defvar(name,value):=(
+//help:Defvar("a",0.3);
+//help:Defvar(["a",0.3,"b",2]);
+ regional(tmp,tmp1);
+ if(islist(value),
+ tmp1="[";
+ forall(value,
+ if(isstring(#), // 16.11.14
+ tmp1=tmp1+Dq+#+Dq+","; // 16.11.14
+ ,
+ tmp1=tmp1+format(#,5)+",";
+ );
+ );
+ tmp1=substring(tmp1,0,length(tmp1)-1)+"]";
+ ,
+ tmp1=format(value,5);
+ );
+ tmp=name+"="+tmp1; // 15.02.06
+ parse(tmp);
+ VLIST=select(VLIST,#_1!=name); // 15.02.08
+ VLIST=prepend([name,value],VLIST);
+);
+
+IftoR(strorg):=(
+ regional(str,pre,post,sub,ppL,ifstr,out,tmp,tmp1,tmp2);
+ str=strorg;
+ ifstr=indexof(str,"if(");
+ if(ifstr==0,
+ out=replace(str,",","}else{");
+ ,
+ pre=substring(str,0,ifstr-1)+"if(";
+ ppL=Bracket(str,"()");
+ tmp1=ifstr+2;
+ tmp=select(ppL,#_1==tmp1);
+ tmp=select(ppL,#_2==-tmp_1_2);
+ tmp2=tmp_1_1;
+ sub=substring(str,tmp1,tmp2-1);
+ post="}"+substring(str,tmp2,length(str));
+ tmp=indexof(sub,",");
+ tmp1=substring(sub,0,tmp-1);
+ tmp2=substring(sub,tmp,length(sub));
+ sub=tmp1+"){"+tmp2;
+ tmp=IftoR(sub);
+ out=pre+tmp+"}";
+ );
+ out;
+);
+
+FortoR(strorg):=(
+ regional(str,pre,post,sub,ppL,forstr,out,tmp,tmp1,tmp2);
+ str=strorg;
+ forstr=indexof(str,"forall(");
+ if(forstr==0,
+ out=str;
+ ,
+ pre=substring(str,0,forstr-1)+"for(";
+ ppL=Bracket(str,"()");
+ tmp1=forstr+6;
+ tmp=select(ppL,#_1==tmp1);
+ tmp=select(ppL,#_2==-tmp_1_2);
+ tmp2=tmp_1_1;
+ sub=substring(str,tmp1,tmp2-1);
+ post="}"+substring(str,tmp2,length(str));
+ tmp=indexof(sub,",");
+ tmp1=substring(sub,0,tmp-1);
+ tmp2=substring(sub,tmp,length(sub));
+ sub=tmp1+"){"+tmp2;
+ tmp1=indexof(sub,"{");
+ tmp2=indexof(sub,",");
+ tmp=substring(sub,tmp1,tmp2-1);
+ pre=pre+tmp+" in "+substring(sub,0,tmp1-1)+"{";
+ sub=substring(sub,tmp2,length(sub));
+ tmp=FortoR(sub);
+ out=pre+tmp+"}";
+ );
+ out=replace(out,"..",":");
+ out;
+);
+
+Deffun(name,bodylist):=(
+//help:Deffun("f(x)",["regional(y)","y=x^2*(x-3)","y"]);
+ regional(funstr,str,Pos,nbody,bdy,ppL,bpL,excma,tmp,tmp1,tmp2);
+ funstr=name+":=(";
+ forall(bodylist,
+ funstr=funstr+#+";";
+ );
+ funstr=funstr+");";
+ parse(funstr);
+ tmp=indexof(name,"(");
+ str=substring(name,0,tmp-1)+"<-function(";
+ str=str+substring(name,tmp,length(name))+"{";
+ forall(1..(length(bodylist)-1),nbody,
+ bdy=bodylist_nbody;
+ Pos=indexof(bdy,"regional")+indexof(bdy,"local");
+ if(Pos==0,
+ bdy=replace(bdy,LFmark,"");
+ bdy=replace(bdy," ","");
+ ppL=Bracket(bdy,"()");
+ bpL=Bracket(bdy,"[]");
+ tmp1=select(bpL,#_2==1);
+ tmp2=select(bpL,#_2==-1);
+ excma=[];
+ forall(1..(length(tmp1)),
+ excma=append(excma,[tmp1_#_1,tmp2_#_1]);
+ );
+ tmp1=Indexall(bdy,",");
+ forall(tmp1,cma,
+ tmp=select(excma,(#_1<cma)&(cma<#_2));
+ if(length(tmp)>0,
+ bdy=substring(bdy,0,cma-1)+"'"+substring(bdy,cma,length(bdy));
+ );
+ );
+ tmp=indexof(bdy,"forall");
+ if(tmp>0,
+ bdy=FortoR(bdy);
+ );
+ tmp=indexof(bdy,"if(");
+ if(tmp>0,
+ bdy=IftoR(bdy);
+ );
+ bdy=RSform(replace(bdy,"'",","));
+ str=str+bdy+";";
+ );
+ );
+ str=str+"return("+bodylist_(length(bodylist))+")}";
+ FUNLIST=append(FUNLIST,str);
+);
+
+Windispg():=(
+ regional(Nj,Nk,Dt,Vj,tmp,tmp1,tmp2,opcindy);
+ gsave();
+ layer(KETPIClayer);
+ forall(GCLIST,Nj,
+ if(isstring(Nj_1),Dt=parse(Nj_1),Dt=Nj_1); // 11.17
+ if(islist(Dt) & length(Dt)>0, // 12.19,12.22
+ tmp=MeasureDepth(Dt);
+ if(tmp==1,Dt=[Dt]);
+ opcindy=Nj_3;
+ if(Nj_2<0,tmp1=0,tmp1=Nj_2);
+ if(tmp1<10,
+ forall(Dt,Nk,
+// tmp2=apply(Nk,if(ispoint(#),Lcrd(#),#));
+// tmp2=apply(tmp2,Pcrd(#));
+ tmp2=Nk; // 14.12.04
+ if(length(Nk)>1,
+ tmp="connect("+textformat(tmp2,5)+
+ ",dashtype->"+text(tmp1)+",linecolor->"+KCOLOR+opcindy+")";
+ parse(tmp);
+ ,
+ if(length(Nk)==1,
+ tmp="draw("+text(tmp2_1)+opcindy+")"; // 14.12.31
+ parse(tmp);
+ );
+ );
+ );
+ );
+ );
+ );
+// if(ADDAXES=="1", // 16.10.08from
+// draw([XMIN,0],[XMAX,0],color->[0,0.2,0]);
+// draw([0,YMIIN],[0,YMAX],color->[0,0.2,0]);
+// Letter([[XMAX,0],"e","x",[0,YMAX],"n","y"]);
+// Letter([[0,0],"sw","O"]);
+// ); // 16.10.08until
+ grestore();
+ layer(0);
+);
+
+Windispg(pltdata):=(
+ regional(pdata,Nj,Nk,Dt,tmp,tmp1,tmp2,opcindy);
+ gsave();
+ layer(KETPIClayer);
+ if(!islist(pltdata),tmp=[pltdata],tmp=pltdata);
+ pdata=select(GCLIST,contains(tmp,#_1));
+ forall(pdata,Nj,
+ if(isstring(Nj_1),Dt=parse(Nj_1),Dt=Nj_1); // 11.17
+ if(islist(Dt) & length(Dt)>0, // 12.19,12.22
+ tmp=MeasureDepth(Dt);
+ if(tmp==1,Dt=[Dt]);
+ opcindy=Nj_3;
+ if(Nj_2<0,tmp1=0,tmp1=Nj_2);
+ if(tmp1<10,
+ forall(Dt,Nk,
+ tmp2=Nk; // 14.12.04
+ if(length(Nk)>1,
+ tmp="connect("+textformat(tmp2,5)+ // 15.05.11
+ ",dashtype->"+text(tmp1)+
+ ",linecolor->"+KCOLOR+opcindy+")";
+ parse(tmp);
+ ,
+ if(length(Nk)==1,
+ tmp="draw("+text(tmp2_1)+opcindy+")"; // 14.12.31
+ parse(tmp);
+ );
+ );
+ );
+ );
+ );
+ );
+ grestore();
+ layer(0);
+);
+
+WritetoSci():=WritetoRS(); //17.12.19
+WritetoRS():=WritetoRS(FnameR);// 17.09.17from
+WritetoRS(Arg):=(
+ regional(string,filename,shch,tmp1,tmp2);
+ if(isstring(Arg),
+ string=Arg;
+ if(indexof(string,".r")>0,
+ filename=string;
+ shch="";
+ ,
+ filename=FnameR;
+ shch=string;
+ );
+ WritetoRS(filename,shch);
+ ,
+ if(Arg<=1,WritetoRS(FnameR,"all"));
+ if(Arg==2,WritetoRS(FnameR,"sh"));
+ );
+);
+WritetoRS(filename,shchoice):=(
+ regional(Plist,Pos,GrL,str,tmp,tmp1,tmp2,cmd);
+ //help:WritetoRS(2);
+ println("Write to R "+filename);
+ Plist=[];
+ Pnamelist=[];
+ forall(remove(allpoints(),[SW,NE]),
+ tmp=Lcrd(#);
+ tmp1=format(re(tmp_1),6);// 15.02.05
+ tmp2=format(re(tmp_2),6);
+ tmp=#.name+"="+"c("+tmp1+","+tmp2+");";
+ tmp=tmp+"Assignadd('"+#.name+"',"+#.name+")";
+ Plist=append(Plist,tmp);
+ );
+ SCEOUTPUT = openfile(filename);
+ tmp=Datetime();
+ println(SCEOUTPUT,"# date time="+tmp_1+" "+tmp_2);
+ if(isstring(CindyName), // 16.12.25from
+ if(length(CindyPathName)>0,
+ println(SCEOUTPUT,
+ "# path file="+CindyPathName+" "+CindyFileName+".cdy");
+ ,
+ println(SCEOUTPUT,"");
+ );
+ ,
+ println(SCEOUTPUT,"");
+ );
+ if(iswindows(),
+ println(SCEOUTPUT,"options(encoding='UTF-8')"); //180513
+ );
+ tmp1=replace(Dirwork,"\","/");
+ if((iswindows())&(indexof(tmp1,"Users")>0),
+ tmp=Indexall(tmp1,"/");
+ tmp2=substring(tmp1,tmp_3-1,length(tmp1));
+ tmp1=substring(tmp1,0,tmp_3-1);
+ println(SCEOUTPUT,"Drv=shell('echo %HOMEDRIVE%',intern=TRUE)");
+ println(SCEOUTPUT,"Drv=Drv[length(Drv)]");
+ println(SCEOUTPUT,"Hpath=shell('echo %HOMEPATH%',intern=TRUE)");
+ println(SCEOUTPUT,"Hpath=Hpath[length(Hpath)]");
+ println(SCEOUTPUT,"Rest="+Dqq(tmp2));
+ println(SCEOUTPUT,"Path=paste(Drv,Hpath,Rest,sep='')");
+ println(SCEOUTPUT,"Path=gsub('\\','/',Path,fixed=TRUE)"); //180610
+ println(SCEOUTPUT,"setwd(Path)");
+ ,
+ println(SCEOUTPUT,"setwd('"+tmp1+"')");
+ );//180409to
+ tmp=replace(Libname,"\","/"); //17.09.24from
+ println(SCEOUTPUT,"source('"+tmp+".r')");//temporary
+ if((indexof(PathT,"pdflatex")>0)%(indexof(PathT,"lualatex")>0),
+ // 17.10.07added
+ tmp=replace(tmp+"_rep2e","\","/");
+ println(SCEOUTPUT,"source('"+tmp+".r')");
+ );
+ println(SCEOUTPUT,"Ketinit()");
+ println(SCEOUTPUT,"cat(ThisVersion,'\n')");
+ println(SCEOUTPUT,"Fnametex='"+Fnametex+"'");
+ println(SCEOUTPUT,"FnameR='"+FnameR+"'");
+ println(SCEOUTPUT,"Fnameout='"+Fnameout+"'");
+ println(SCEOUTPUT,"arccos=acos; arcsin=asin; arctan=atan");
+ println(SCEOUTPUT,"");
+ forall(COM0thlist,
+ if(indexof(#,"Texcom")==0, //17.09.22
+ println(SCEOUTPUT,RSform(#));
+ ,
+ println(SCEOUTPUT,#);
+ );
+ );
+ println(SCEOUTPUT,
+ "Setwindow(c("+XMIN+","+XMAX+"), c("+YMIN+","+YMAX+"))");
+ forall(Plist,
+ println(SCEOUTPUT,#);
+ );
+ forall(VLIST,
+ tmp=#_1;
+ tmp1=#_2;
+ if(!isstring(tmp1),
+ if(islist(tmp1),
+ tmp2="[";
+ forall(tmp1,
+ tmp2=tmp2+textformat(#,6)+",";
+ );
+ tmp1=substring(tmp2,0,length(tmp2)-1)+"]";
+ ,
+ tmp1=format(tmp1,6);
+ );
+ );
+ tmp1=RSform(tmp1);
+ print(SCEOUTPUT,tmp+"="+tmp1+";"); //17.09.22
+// tmp=substring(tmp,0,length(tmp)-1);
+ println(SCEOUTPUT,"Assignadd('"+tmp+"',"+tmp+")");
+ );
+ forall(FUNLIST,
+ println(SCEOUTPUT,#);
+ );
+ forall(GLIST,
+ println(SCEOUTPUT,RSform(#));
+ );
+ tmp=text(Pnamelist);
+ tmp=replace(tmp,"[","list(");
+ Pnamelist=replace(tmp,"]",")");
+ println(SCEOUTPUT,"PtL="+Pnamelist);
+ tmp=select(GCLIST,#_2==-1);
+ GrL=apply(tmp,#_1);
+ tmp=text(GrL);
+ tmp=replace(tmp,"[","list(");
+ tmp=replace(tmp,"]",")");
+ println(SCEOUTPUT,"GrL="+tmp);
+ tmp1="";
+ if(length(tmp1)>0,
+ tmp1="WriteOutData(Fnameout"+tmp1+");";
+ println(SCEOUTPUT,tmp1);
+ );
+ forall(COM1stlist,
+ if(indexof(#,"Texcom")==0, //17.09.22
+ println(SCEOUTPUT,RSform(#));
+ ,
+ println(SCEOUTPUT,#);
+ );
+ );
+ println(SCEOUTPUT,"");
+ println(SCEOUTPUT,"# Windisp(GrL)");
+ println(SCEOUTPUT,"");
+ println(SCEOUTPUT,"if(1==1){");
+ println(SCEOUTPUT,"");
+ tmp1=replace(Dirwork,"\","/"); //180408to
+ if((iswindows())&(indexof(tmp1,"Users")>0),
+ println(SCEOUTPUT,"Path=paste(Path,"+Dqq("/"+Fnametex)+",sep='')");
+ tmp="Openfile(Path,'"+ULEN+"'";
+ ,
+ tmp="Openfile('"+tmp1+"/"+Fnametex+"','"+ULEN+"'";
+ );
+ tmp=tmp+",'Cdy="+Cindyname()+".cdy"; //180404
+ tmp=replace(tmp,"\","\\");
+ println(SCEOUTPUT,tmp+"')");
+ forall(COM2ndlistb, //180613from
+ if(indexof(#,"Texcom")==0,
+ println(SCEOUTPUT,RSform(#));
+ ,
+ println(SCEOUTPUT,#);
+ );
+ );//180613to
+ forall(COM2ndlist,
+ if(indexof(#,"Texcom")==0, //17.09.22
+ println(SCEOUTPUT,RSform(#));
+ ,
+ println(SCEOUTPUT,#);
+ );
+ );
+ if(length(GrL)>0,
+ println(SCEOUTPUT," Drwline(GrL)");
+ );
+ println(SCEOUTPUT,"Closefile('"+ADDAXES+"')");
+ println(SCEOUTPUT,"");
+ println(SCEOUTPUT,"}");
+ if(shchoice=="sh",
+ println(SCEOUTPUT,"");
+ println(SCEOUTPUT,"quit()");
+ ,
+ println(SCEOUTPUT,"");
+ println(SCEOUTPUT,"#quit()");
+ );
+ closefile(SCEOUTPUT);
+ if(iswindows(), //180513from
+ SCEOUTPUT = openfile("execsrc.r");//180514
+ tmp1=replace(Dirwork,"\","/");
+ if(indexof(tmp1,"Users")>0,
+ tmp=Indexall(tmp1,"/");
+ tmp2=substring(tmp1,tmp_3-1,length(tmp1));
+ tmp1=substring(tmp1,0,tmp_3-1);
+ println(SCEOUTPUT,"Drv=shell('echo %HOMEDRIVE%',intern=TRUE)");
+ println(SCEOUTPUT,"Drv=Drv[length(Drv)]");
+ println(SCEOUTPUT,"Hpath=shell('echo %HOMEPATH%',intern=TRUE)");
+ println(SCEOUTPUT,"Hpath=Hpath[length(Hpath)]");
+ println(SCEOUTPUT,"Rest="+Dqq(tmp2));
+ println(SCEOUTPUT,"Path=paste(Drv,Hpath,Rest,sep='')");
+ println(SCEOUTPUT,"setwd(Path)");
+ println(SCEOUTPUT,"source('"+filename+"',encoding='UTF-8')");
+ );
+ closefile(SCEOUTPUT);
+ ); //180513to
+);
+
+Extractdata(name):=Extractdata(1,name,[]);
+Extractdata(Arg1,Arg2):=(
+ if(isstring(Arg1),
+ Extractdata(1,Arg1,Arg2);
+ ,
+ Extractdata(Arg1,Arg2,[]);
+ );
+);
+Extractdata(number,name,options):=(
+//help:ExtractData("ha1");
+//help:ExtractData(1,"ha1");
+ regional(dlist,tmp,tmp1,tmp2,tmp3,File,Ltype,Noflg,opstr,opcindy,color);
+ tmp=Divoptions(options);
+ Ltype=tmp_1;
+ Noflg=tmp_2;
+ color=tmp_(length(tmp)-2);
+ opstr=tmp_(length(tmp)-1);
+ opcindy=tmp_(length(tmp));
+ tmp1=[];
+ forall(1..length(GOUTLIST),
+ if(contains(GOUTLIST_#_2,name),
+ tmp1=append(tmp1,#);
+ );
+ );
+ if(length(tmp1)==0,
+ println(name+" not found");
+ ,
+ tmp1=tmp1_number;
+ tmp2=GOUTLIST_tmp1;
+ tmp=remove(tmp2_2,[name]);
+ GOUTLIST_tmp1=[tmp2_1,tmp];
+ File=tmp2_1;
+ );
+ if(Noflg<3,
+ println("extract outdata "+name);
+ tmp1=parse(name);
+ tmp3=[ //17.09.18
+ "Tmpout=ReadOutData("+Dq+File+Dq+")"
+ ];
+ GLIST=concat(GLIST,tmp3);
+ );
+ if(Noflg<2,
+ if(isstring(Ltype),
+ if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
+ Ltype=GetLinestyle(text(Noflg)+Ltype,name);
+ if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+text(KCOLOR)+")"));
+ ,
+ if(Noflg==1,Ltype=0);
+ );
+ GCLIST=append(GCLIST,[name,Ltype,opcindy]);
+ );
+ tmp2;
+);
+
+RemoveOut(pltlist):=(
+ regional(name,tmp,tmp1,tmp2);
+ forall(pltlist,name,
+ tmp1=[];
+ forall(GOUTLIST,
+ tmp=remove(#_2,[name]);
+ tmp1=append(tmp1,[#_1,tmp]);
+ );
+ GOUTLIST=tmp1;
+ );
+);
+
+ReadOutData():=ReadOutData(Fnameout);
+ReadOutData(filename):=ReadOutData("",filename); //16.03.07
+ReadOutData(pathorg,filenameorg):=(
+//help:ReadOutData();
+//help:Readoutdata();
+//help:ReadOutData("file.txt");
+//help:Readoutdata("file.txt");
+//help:ReadOutData("/datafolder","file.txt");
+//help:Readoutdata("/datafolder","file.txt");
+ regional(path,filename,varname,varL,ptL,pts,tmp,tmp1,tmp2,tmp3,tmp4,
+ nmbr,cmdall,cmd,cmdorg,outdt,goutdt);
+ path=pathorg; //16.03.07 from
+ if(length(path)>0,
+ setdirectory(path);
+ if(indexof(path,"\")>0,tmp1="\",tmp1="/");
+ tmp=substring(path,length(path)-1,length(path));
+ if(tmp!=tmp1,path=path+tmp1);
+ ); //16.03.07 until
+ filename=filenameorg; // 16.04.17
+ if(indexof(filename,".")==0,filename=filename+".txt");
+ tmp=load(filename);
+ cmdall=tokenize(tmp,"//");
+ varname=cmdall_1;
+ cmdall=cmdall_(2..length(cmdall));
+ outdt=[];
+ varL=[varname];
+ ptL=[];
+ forall(cmdall,cmdorg,
+ cmd=replace(cmdorg,LFmark,"");
+ if(length(cmd)>0,
+ if(cmd=="start" % cmd=="end" % substring(cmd,0,1)=="[",
+ if(cmd=="start",
+ pts=[];
+ );
+ if(cmd=="end",
+ ptL=append(ptL,pts);
+ );
+ if(substring(cmd,0,1)=="[",
+ tmp1=parse(cmd);
+ if(length(tmp1_1)==2,
+ tmp1=apply(tmp1,Pcrd(#));
+ );
+ pts=concat(pts,tmp1);
+ );
+ ,
+ if(length(ptL)>0,
+ if(length(ptL)==1,
+ ptL=ptL_1;
+ tmp=apply(ptL,textformat(#,6));
+ ,
+ tmp="[";
+ forall(ptL,tmp1,
+ tmp=tmp+apply(tmp1,textformat(#,6))+",";
+ );
+ tmp=substring(tmp,0,length(tmp)-1)+"]";
+ );
+ ,
+ tmp="[]";
+ );
+ parse(varname+"="+tmp);
+ outdt=append(outdt,ptL);
+ ptL=[];
+ varname=cmd;
+ varL=append(varL,varname);
+ );
+ );
+ );
+ if(length(ptL)>0,
+ if(length(ptL)==1,
+ ptL=ptL_1;
+ tmp=apply(ptL,textformat(#,6));
+ ,
+ tmp="[";
+ forall(ptL,tmp1,
+ tmp=tmp+apply(tmp1,textformat(#,6))+",";
+ );
+ tmp=substring(tmp,0,length(tmp)-1)+"]";
+ );
+ ,
+ tmp="[]";
+ );
+ parse(varname+"="+tmp);
+ outdt=append(outdt,ptL);
+ if(path=="",tmp=filename,tmp=path+filename); //16.03.07
+ GOUTLIST=append(GOUTLIST,[tmp,varL]);
+ if(length(path)>0, // 16.03.09
+ setdirectory(Dirwork); // 16.03.07
+ );
+ print("readoutdata from "+tmp+" : ");
+ println(varL);
+ varL;
+);
+
+WriteOutData(filename,ptlist):=(
+//help:WriteOutData("file.txt",["g1",gr1,"sg",sgAB]);
+//help:Writeoutdata("file.txt",["g1",gr1,"sg",sgAB]);
+ regional(nn,Gname,Gdata,Str,Gstr,Gj,Pt,Flg,tmp,tmp1,loopend);
+ Flg=0;
+ if(isstring(ptlist_(length(ptlist))),
+ Flg=1;
+ );
+ SCEOUTPUT = openfile(filename);
+ if(Flg==0,
+ loopend=length(ptlist)/2;
+ ,
+ loopend=length(ptlist);
+ );
+ Gstr="[";
+ forall(1..loopend,nn,
+ if(Flg==0,
+ Gname=ptlist_(2*nn-1);
+ ,
+ Gname=ptlist_nn;
+ );
+ Gstr=Gstr+Gname+",";
+ println(SCEOUTPUT,Gname+"//");
+ if(Flg==0,
+ Gdata=ptlist_(2*nn);
+ ,
+ Gdata=parse(Gname);
+ );
+ Gdata=Flattenlist(Gdata);
+ if(MeasureDepth(Gdata)==1,Gdata=[Gdata]);
+ forall(Gdata,Gj,
+ println(SCEOUTPUT,"start//");
+ Str="";
+ forall(Gj,Pt,
+ if(length(Str)>0,
+ Str=Str+","
+ );
+ Str=Str+"["+format(Pt_1,5)+",";
+ Str=Str+format(Pt_2,5);
+ if(length(Pt)<3,
+ Str=Str+"]";
+ ,
+ Str=Str+","+format(Pt_3,5)+"]";
+ );
+ if(length(Str)>80,
+ println(SCEOUTPUT,"["+Str+"]//");
+ Str="";
+ );
+ );
+ if(length(Str)>0,
+ println(SCEOUTPUT,"["+Str+"]//");
+ );
+ if((nn==loopend) & (Gj==Gdata_(length(Gdata))),
+ println(SCEOUTPUT,"end////");
+ ,
+ println(SCEOUTPUT,"end//");
+ );
+ );
+ );
+ closefile(SCEOUTPUT);
+ Gstr=substring(Gstr,0,length(Gstr)-1)+"]";
+ println("writeoutdata "+filename+":"+Gstr);
+);
+
+Makeshell():=(
+ if(length(Texmain)>0,
+ Texparent=Texmain;
+ );
+ if(length(Texparent)>0,
+ Makeshell(Texparent);
+ if(length(FigPdfList)>0,
+ SCEOUTPUT=openfile(Texparent+".tex");
+ forall(FigPdfList,println(SCEOUTPUT,#));
+ closefile(SCEOUTPUT);
+ );
+ ,
+ Makeshell(Fhead+"main");
+ );
+);
+Makeshell(texmainfile):=Makeshell(texmainfile,"rtv");
+Makeshell(texmainfile,flow):=(
+ regional(parent,tmp,tmp1,tmp2,tmp3,flg,tex,path,shnm);
+ parent=Dirwork+Shellparent; // 16.05.29
+ kc():=(
+ println("kc : "+kc(Dirwork+Shellparent,Mackc+Dirlib,Fnametex)); // 16.06.04,06.07
+ );
+ tmp1="";
+// tmp2=parent;
+ flg=0;
+ forall(reverse(1..length(parent)),
+ if(flg==0,
+ tmp=substring(parent,#-1,#);
+ if(tmp=="/" % tmp=="\", // 14.01.15
+ tmp1=substring(parent,0,#-1);
+ tmp2=substring(parent,#,length(parent));
+ flg=1;
+ );
+ );
+ );
+ if(length(tmp1)>0,
+ setdirectory(tmp1);
+ );
+ SCEOUTPUT = openfile(tmp2);
+ println(SCEOUTPUT,"#!/bin/sh");
+ println(SCEOUTPUT,"cd "+Dq+Dirwork+Dq); // 15.07.16
+ tmp1=" "+Dq+Fhead+Dq+" "+Dq+texmainfile+Dq; // 15.12.11
+ flg=0;
+ forall(reverse(1..length(PathT)),
+ if(flg==0,
+ if(substring(PathT,#-1,#)=="/",
+ tex=substring(PathT,#,length(PathT));
+ path=substring(PathT,0,#-1);
+ flg=1;
+ );
+ );
+ );
+ if(flg==0, // 17.10.13(Norbert)
+ tex=PathT;
+ path="";
+ );
+ if(indexof(flow,"r")>0,
+ tmp=Dq+PathR+Dq+" --vanilla --slave < "+Fhead+".r";
+ // 17.09.14
+ println(SCEOUTPUT,tmp);
+ );
+ if(tex=="latex" % tex=="platex" % tex=="uplatex", //17.08.13
+ tmp=Dq+PathT+Dq+" "+texmainfile+".tex";
+ println(SCEOUTPUT,tmp);
+ if(indexof(flow,"tt")>0,println(SCEOUTPUT,tmp)); //17.10.14
+ tmp=replace(Dq+PathT+Dq,tex,"dvipdfmx")+" "+texmainfile+".dvi";
+ println(SCEOUTPUT,tmp);
+ tmp="rm "+texmainfile+".dvi";
+ println(SCEOUTPUT,tmp);
+ );
+ if(tex=="xelatex",
+ tmp="export PATH="+path+":${PATH}";
+ println(SCEOUTPUT,tmp);
+ tmp="xelatex"+" "+texmainfile+".tex";
+ println(SCEOUTPUT,tmp);
+ if(indexof(flow,"tt")>0,println(SCEOUTPUT,tmp)); //17.10.14
+ tmp="rm "+texmainfile+".dvi";
+ println(SCEOUTPUT,tmp);
+ );
+ if(tex=="pdflatex" % tex=="pdftex",//16.11.22from
+ tmp=Dq+PathT+Dq+" "+texmainfile+".tex";
+ println(SCEOUTPUT,tmp);
+ if(indexof(flow,"tt")>0,println(SCEOUTPUT,tmp)); //17.10.14
+ );//16.11.22until
+ if(tex=="lualatex",//16.12.16
+ tmp=Dq+PathT+Dq+" "+texmainfile+".tex";
+ println(SCEOUTPUT,tmp);
+ if(indexof(flow,"tt")>0,println(SCEOUTPUT,tmp)); //17.10.14
+ );//16.12.16
+ if(!isstring(Pathpdf),
+ tmp="preview";
+ ,
+ tmp=Pathpdf;
+ );
+ if(tmp=="preview" % tmp=="skim", // 16.09.09from,16.10.20
+ tmp="open -a "+Dq+tmp+Dq+" "+texmainfile+".pdf";
+ ,
+ tmp=Dq+tmp+Dq+" "+texmainfile+".pdf";
+ );// 16.09.09until
+ println(SCEOUTPUT,tmp); // 16.07.21until
+ println(SCEOUTPUT,"exit 0");
+ closefile(SCEOUTPUT);
+ setdirectory(Dirwork);
+);
+
+Convsjiswin(dir,fname,ext):=( //180401
+ regional(ctr,flg,mx,tmp);
+ mx=200;
+ ctr=0;flg=0;
+ nkfwin(dir,fname,ext);
+ while((!isexists(dir,fname+".out"))&(ctr<mx),
+ wait(100);ctr=ctr+1;
+ );
+ if(ctr==mx,flg=1);
+ if(flg==0,
+ wait(100);ctr=0;
+ nkfcpdel(dir,fname,ext);
+ while((isexists(dir,fname+".out"))&(ctr<mx),
+ wait(100);ctr=ctr+1;
+ );
+ if(ctr==mx,flg=2);
+ );
+ tmp=dir+pathsep()+fname+"."+ext;
+ if(flg==0,
+ tmp=
+ println(tmp+" converted");
+ ,
+ println(tmp+" not converted "+text(flg));
+ );
+);
+
+Makebat():=(
+ if(length(Texmain)>0,
+ Texparent=Texmain;
+ );
+ if(length(Texparent)>0,
+ Makebat(Texparent);
+ if(length(FigPdfList)>0,
+ SCEOUTPUT=openfile(Texparent+".tex");
+ forall(FigPdfList,println(SCEOUTPUT,#));
+ closefile(SCEOUTPUT);
+ );
+ ,
+ Makebat(Fhead+"main");
+ );
+);
+Makebat(texmainfile):=Makebat(texmainfile,"rtv");
+Makebat(texmainfile,flow):=(
+ regional(drive,fname,tmp,tmp1,tmp2,tmp3,flg,tex,path,batnm);
+ drive="C:";
+ fname=Dirwork+Batparent;
+ kc():=(
+ println("kc : "+kc(Dirwork+Batparent,Dirlib,Fnametex)); // 16.06.04
+ );
+ tmp=indexof(fname,":");
+ if(tmp>0,
+ drive=substring(fname,0,tmp);
+ fname=substring(fname,tmp,length(fname));
+ );
+ tmp1="";
+ tmp2=fname;
+ flg=0;
+ forall(reverse(1..length(fname)),
+ if(flg==0,
+ tmp=substring(fname,#-1,#);
+ if(tmp=="/" % tmp=="\" % tmp=="\", // 14.01.15
+ tmp1=substring(fname,0,#-1);
+ tmp2=substring(fname,#,length(fname));
+ flg=1;
+ );
+ );
+ );
+ if(length(tmp1)>0,
+ setdirectory(drive+tmp1);
+ );
+ SCEOUTPUT = openfile(tmp2);
+ fname=replace(Dirwork,"/","\");
+ tmp=indexof(fname,":");
+ if(tmp>0,
+ drive=substring(Dirwork,0,tmp);
+ fname=substring(Dirwork,tmp,length(Dirwork));
+ println(SCEOUTPUT,drive);
+ );
+ tmp=Dirwork;//180408form
+ if(iswindows(),
+ if((isincludefull(Dirwork))&(isexists(Dirwork,"sjis.txt")),
+ import("sjis.txt");
+ );
+ );
+// tmp=replace(tmp,"\","/"); //180408
+// println(SCEOUTPUT,"cd "+Dq+tmp+Dq); //180408
+ tmp1=indexof(fname,"Users");//180409from
+ tmp2=indexof(fname,Homehead);
+ if((tmp1>0)%(tmp2>0),
+ if(tmp1>0,
+ fname=substring(fname,tmp1+length("Users")-1,length(fname));
+ ,
+ fname=substring(fname,tmp2+length(Homehead)-1,length(fname));
+ );
+ tmp=Indexall(fname,"\");//180403from
+ fname=substring(fname,tmp_2,length(fname));
+ fname="%HOMEPATH%\"+fname;
+ );//180403to
+ println(SCEOUTPUT,"cd "+Dq+fname+Dq);//180409to
+ flg=0;
+ tmp=replace(PathT,"\","/");
+ forall(reverse(1..length(PathT)),
+ if(flg==0,
+ if(substring(tmp,#-1,#)=="/",
+ tex=substring(PathT,#,length(PathT));
+ path=substring(PathT,0,#-1);
+ flg=1;
+ );
+ );
+ );
+ if(flg==0, // 17.10.13(Norbert)
+ tex=PathT;
+ path="";
+ );
+ if(indexof(flow,"r")>0,
+ tmp=Dq+PathR+"\R"+Dq+" --vanilla --slave < execsrc.r";//180514
+ // 17.09.14
+ println(SCEOUTPUT,tmp);
+ );
+ if(tex=="latex" % tex=="platex" % tex=="uplatex", //17.08.13
+ tmp=Dq+PathT+Dq+" "+texmainfile+".tex";
+ println(SCEOUTPUT,tmp);
+ if(indexof(flow,"tt")>0,println(SCEOUTPUT,tmp)); //17.10.14
+ tmp=replace(Dq+PathT+Dq,tex,"dvipdfmx")+" "+texmainfile+".dvi";
+ println(SCEOUTPUT,tmp);
+ tmp="del "+texmainfile+".dvi";
+ println(SCEOUTPUT,tmp);
+ );
+ if(tex=="xelatex",
+ tmp="set Path = %Path%;"+Dq+path+Dq;
+ println(SCEOUTPUT,tmp);
+ if(indexof(flow,"tt")>0,println(SCEOUTPUT,tmp)); //17.10.14
+ tmp="xelatex"+" "+texmainfile+".tex";
+ println(SCEOUTPUT,tmp);
+ tmp="del "+texmainfile+".dvi";
+ println(SCEOUTPUT,tmp);
+ );
+ if(tex=="pdflatex" % tex=="pdftex",//16.11.22from
+ tmp=Dq+PathT+Dq+" "+texmainfile+".tex";
+ println(SCEOUTPUT,tmp);
+ if(indexof(flow,"tt")>0,println(SCEOUTPUT,tmp)); //17.10.14
+ );//16.11.22until
+ if(tex=="lualatex",//16.12.16
+ tmp=Dq+PathT+Dq+" "+texmainfile+".tex";
+ println(SCEOUTPUT,tmp);
+ if(indexof(flow,"tt")>0,println(SCEOUTPUT,tmp)); //17.10.14
+ );//16.12.16
+ if(!isstring(Pathpdf),
+ tmp=indexof(PathS,"\scilab");// 15.12.12
+ tmp=substring(PathS,0,tmp-1)+"\SumatraPDF\SumatraPDF.exe";
+ ,
+ tmp=Pathpdf;
+ );
+ tmp=Dq+tmp+Dq+" "+texmainfile+".pdf";
+ println(SCEOUTPUT,tmp);
+ println(SCEOUTPUT,"exit 0");
+ closefile(SCEOUTPUT);
+ if(indexof(Dirwork,":")==0, // 14.01.15
+ drive="C:";
+ ,
+ drive="";
+ );
+ setdirectory(drive+Dirwork);
+);
+
+Addpackage(packorg):=(
+//help:Addpackage("bm");
+//help:Addpackage(["bm","enumerate"]);
+//help:Addpackage(["bm","[c]{somepackage}"]);
+ regional(packL,tmp);
+ packL=packorg; //17.06.25from
+ if(!islist(packL),packL=[packL]);
+ packL=apply(packL,replace(#,"\","/"));
+ forall(1..(length(packL)),
+ tmp=packL_#;
+ if(substring(tmp,0,11)=="ketpicstyle",
+ tmp=replace(Dirhead+"/"+tmp,"\","/");
+ );
+ if(indexof(tmp,"[")==0,
+ packL_#="{"+tmp+"}";
+ );
+ );
+ ADDPACK=concat(ADDPACK,packL); //17.06.25to
+);
+
+Viewtex():=(
+ regional(texfile,tmp,tmp1,sep);
+ texfile=Fhead+"main";
+// if(iswindows(),sep="\",sep="/"); // 17.04.07
+// sep="/";
+ SCEOUTPUT=openfile(texfile+".tex");
+ tmp="\documentclass{article}"; // 16.06.09from
+ if(indexof(PathT,"platex")>0,
+ tmp=replace(tmp,"article","jarticle");
+ if(indexof(PathT,"uplatex")>0, //17.08.13from
+ tmp=replace(tmp,"jarticle","ujarticle");
+ );//17.08.13until
+ ); // 16.06.09until
+ println(SCEOUTPUT,tmp);
+ if((indexof(PathT,"pdflatex")>0)%(indexof(PathT,"lualatex")>0) ,
+ //16.11.23,12.16
+ if(indexof(PathT,"pdflatex")>0,
+ println(SCEOUTPUT,"\usepackage[pdftex]{pict2e}");//16.11.24
+ ,
+ println(SCEOUTPUT,"\usepackage{pict2e}");//16.12.16
+ println(SCEOUTPUT,"\usepackage{luatexja}");//16.12.18
+ );
+ tmp=replace(Dirhead,"\","/"); //17.10.30from
+ tmp=replace(tmp,"scripts","tex/latex");
+ if(isexists(tmp,""),
+ println(SCEOUTPUT,"\usepackage{ketpic2e,ketlayer2e}");
+ ,
+ tmp=replace(Dirhead+"/ketpicstyle","\","/");
+ println(SCEOUTPUT,"\usepackage{"+tmp+"/ketpic2e}");
+ println(SCEOUTPUT,"\usepackage{"+tmp+"/ketlayer2e}");
+ );
+ ,
+ tmp=replace(Dirhead,"\","/");
+ tmp=replace(tmp,"scripts","tex/latex");
+ if(isexists(tmp,""),
+ println(SCEOUTPUT,"\usepackage{ketpic,ketlayer}");
+ ,
+ tmp=replace(Dirhead+"/ketpicstyle","\","/");
+ println(SCEOUTPUT,"\usepackage{"+tmp+"/ketpic}");
+ println(SCEOUTPUT,"\usepackage{"+tmp+"/ketlayer}");
+ );
+ );//17.10.30until
+ println(SCEOUTPUT,"\usepackage{amsmath,amssymb}");
+ println(SCEOUTPUT,"\usepackage{graphicx}");
+ println(SCEOUTPUT,"\usepackage{color}");
+ forall(ADDPACK, // 16.05.16from
+ println(SCEOUTPUT,"\usepackage"+#); //17.05.25
+ );// 16.05.16until
+ println(SCEOUTPUT,"");
+// println(SCEOUTPUT,"\def\ketcindy{{K\kern-.20em%"); // deleted 16.11.27,recovered11.29 redeleted17.04.07
+// println(SCEOUTPUT,"\lower.5ex\hbox{E}\kern-.125em{TCindy}}}");
+// println(SCEOUTPUT,"");
+ println(SCEOUTPUT,"\setmargin{20}{20}{20}{20}");
+ println(SCEOUTPUT,"");
+ println(SCEOUTPUT,"\begin{document}");
+ println(SCEOUTPUT,"");
+ println(SCEOUTPUT,"\verb|"+Fhead+"| by \ketcindy");// 16.01.12, 18, 16.04.08
+// println(SCEOUTPUT,"\verb|"+Fhead+"| by KeTCindy");// 16.11.29 temporarily
+ println(SCEOUTPUT,"\vspace{5mm}");
+ println(SCEOUTPUT,"");
+ println(SCEOUTPUT,"\input{"+Fhead+".tex}");
+ println(SCEOUTPUT,"");
+ println(SCEOUTPUT,"\end{document}");
+ closefile(SCEOUTPUT);
+ if(iswindows(),
+ kc():=(
+ println("kc : "+kc(Dirwork+Batparent,Dirlib,Fnametex)); // 16.06.04
+ );
+ Makebat(texfile);
+ ,
+ kc():=(
+ println("kc : "+kc(Dirwork+Shellparent,Mackc+Dirlib,Fnametex)); // 16.06.04
+ );
+ Makeshell(texfile);
+ );
+ WritetoRS(2); //17.09.19
+);
+
+Viewparent():=( //17.04.13
+ if(!isexists(Dirwork,Texparent+".tex"),
+ if(isstring(Texparent),
+ drawtext(mouse().xy,Texparent+".tex not exist",
+ size->24,color->[1,0,0]);
+ ,
+ drawtext(mouse().xy,"Texparent not defined",
+ size->24,color->[1,0,0]);
+ );
+ ,
+ if(iswindows(),
+ Makebat();
+ ,
+ Makeshell();
+ );
+ WritetoRS(2); //17.09.29
+ kc();
+ );
+);
+
+Makecmdlist(libname):=(
+//help:Makecmdlist("ketcindylib");
+ regional(cmdall,cmd,flg,tmp,tmp1,tmp2,out);
+ setdirectory(Dirlib);
+ tmp=load(libname+".cs");
+ cmdall=tokenize(tmp,":=");
+ out=[];
+ forall(cmdall,cmd,
+ tmp=max([0,length(cmd)-50]);
+ tmp1=";"+substring(cmd,tmp,length(cmd));
+ flg=0;
+ forall(reverse(1..length(tmp1)),
+ if(flg==0,
+ if(substring(tmp1,#-1,#)==";",
+ tmp=substring(tmp1,#,length(tmp1));
+ tmp2=substring(tmp,0,1);
+ if(length(tmp)>0,
+ if(!contains([" ","/"],tmp2),
+ out=append(out,tmp);
+ flg=1;
+ );
+ );
+ );
+ );
+ );
+ );
+ setdirectory(Dirwork);
+ tmp=length(out)-1;
+ out=out_(2..tmp);
+ out=sort(out);
+);
+
+Savecmdlist(cmdlist,cmdfile):=(
+ SCEOUTPUT=openfile(cmdfile+".cs");
+ forall(cmdlist,
+ println(SCEOUTPUT,#);
+ );
+ closefile(SCEOUTPUT);
+);
+
+Quicksort(seq):=(
+ regional(pivot,left,right,out);
+ if(length(seq)<2,
+ out=seq;
+ ,
+ pivot = max(seq_1,seq_2);
+ left = [];
+ right = [];
+ forall(seq,
+ if(#< pivot,
+ left=append(left,#);
+ ,
+ right=append(right,#);
+ );
+ );
+ left = Quicksort(left);
+ right = Quicksort(right);
+ out=concat(left,right);
+ );
+ out;
+);
+
+Lessstr(st1,st2):=(
+ regional(tmp,tmp1,tmp2,out);
+ tmp=min(length(st1),length(st2));
+ flg=0;
+ forall(1..tmp,
+ if(flg==0,
+ tmp1=substring(st1,#-1,#);
+ tmp2=substring(st2,#-1,#);
+ if(tmp1<tmp2,
+ out=(1<2);
+ flg=1;
+ ,
+ if(tmp1>tmp2,
+ out=(1>2);
+ flg=1;
+ );
+ );
+ );
+ );
+ if(flg==0,
+ if(length(st1)<length(str2),
+ out=(1<2);
+ ,
+ out=(1>2);
+ );
+ );
+ out;
+);
+
+Figpdf():=Figpdf(Texparent,[]);
+Figpdf(Arg1):=(
+ if(isstring(Arg1),
+ Figpdf(Arg1,[]);
+ ,
+ Figpdf(Texparent,Arg1);
+ );
+);
+Figpdf(fnameorg,optionorg):=(
+//help:Figpdf();
+//help:Figpdf([10,,10,,[0,2] ]);(margin(4),move)
+//help:Figpdf([[0,0]]);(move)
+//help:Figpdf(options=[5,5,5,5,[0,0]]]);
+ regional(options,fname,mar,pos,dp,sc,tmp,tmp1,tmp2,sep);
+ fname=fnameorg;
+ if(indexof(fnameorg,".")==0,
+ fname=fnameorg+".tex";
+ );
+ tmp=apply(optionorg,if(isstring(#),parse("["+#+"]"),#)); // 16.04.07
+ tmp=select(tmp,#!=[]);
+ options=optionorg;//16.11.08from
+// mar=[5,5,5,5];
+ dp=[0,-3];
+ tmp=select(options,islist(#));
+ if(length(tmp)>0,
+ dp=tmp_1;
+ options=remove(options,tmp);
+ );
+ tmp=4-length(options);
+ tmp1=apply(1..tmp,5);
+ mar=concat(options,tmp1);
+ mar=apply(mar,if(length(#)==0,5,#));//16.11.08until
+ pos=[mar_1+dp_1,mar_3+dp_2];
+ sc=10;
+ tmp=indexof(ULEN,"cm");
+ if(tmp>0,
+ tmp1=Removespace(substring(ULEN,0,tmp-1));
+ sc=parse(tmp1)*10;
+ );
+ tmp=indexof(ULEN,"mm");
+ if(tmp>0,
+ tmp1=Removespace(substring(ULEN,0,tmp-1));
+ sc=parse(tmp1);
+ );
+ tmp="\documentclass{article}"; // 16.06.09from
+ if(indexof(PathT,"platex")>0,
+ tmp=replace(tmp,"article","jarticle");
+ if(indexof(PathT,"uplatex")>0, //17.08.13from
+ tmp=replace(tmp,"jarticle","ujarticle");
+ );//17.08.13until
+ );
+ FigPdfList=append(FigPdfList,tmp); // 16.06.09until
+ tmp1="\special{papersize=W mm,H mm}";
+ tmp=(XMAX-XMIN)*sc+(mar_1+mar_2);
+ tmp1=replace(tmp1,"W",text(tmp));
+ tmp=(YMAX-YMIN)*sc+(mar_3+mar_4);
+ tmp1=replace(tmp1,"H",text(tmp));
+// if(iswindows(),sep="\",sep="/");//17.04.08
+// sep="/";
+ FigPdfList=append(FigPdfList,tmp1);
+ if(indexof(PathT,"pdflatex")+indexof(PathT,"lualatex")>0, //17.11.05from
+ FigPdfList=append(FigPdfList,
+ "\usepackage{pict2e}");
+ tmp=replace(Dirhead,"\","/");
+ tmp=replace(tmp,"scripts","tex/latex");
+ if(isexists(tmp,""),
+ FigPdfList=append(FigPdfList,
+ "\usepackage{ketpic2e,ketlayer2e}");
+ ,
+ tmp=replace(Dirhead+"/ketpicstyle","\","/");
+ FigPdfList=concat(FigPdfList,
+ ["\usepackage{"+tmp+"/ketpic2e}",
+ "\usepackage{"+tmp+"/ketlayer2e}"]);
+ );
+ ,
+ tmp=replace(Dirhead,"\","/");
+ tmp=replace(tmp,"scripts","tex/latex");
+ if(isexists(tmp,""),
+ FigPdfList=append(FigPdfList,
+ "\usepackage{ketpic,ketlayer}");
+ ,
+ tmp=replace(Dirhead+"/ketpicstyle","\","/");
+ FigPdfList=concat(FigPdfList,
+ ["\usepackage{"+tmp+"/ketpic}",
+ "\usepackage{"+tmp+"/ketlayer}"]);
+ );
+ );//17.11.05until
+ FigPdfList=append(FigPdfList,
+ "\usepackage{amsmath,amssymb}");
+ FigPdfList=append(FigPdfList,
+ "\usepackage{graphicx,color}");
+ forall(ADDPACK, // 16.05.16from
+ tmp1="\usepackage"+#; //17.07.10
+ FigPdfList=append(FigPdfList,tmp1); // 16.09.05until
+ );
+ FigPdfList=append(FigPdfList,"");
+ FigPdfList=append(FigPdfList,
+ "\setmargin{0}{0}{0}{0}");
+ FigPdfList=append(FigPdfList,"");
+ FigPdfList=append(FigPdfList,"\begin{document}");
+ FigPdfList=append(FigPdfList,"");
+ FigPdfList=append(FigPdfList,
+ "\begin{layer}{50}{0}");
+ tmp1="\putnotese{X}{Y}{\input{";
+ tmp1=replace(tmp1,"X",text(pos_1));
+ tmp1=replace(tmp1,"Y",text(pos_2));
+ FigPdfList=append(FigPdfList,tmp1+Fhead+".tex}}");
+ FigPdfList=append(FigPdfList,"");
+ FigPdfList=append(FigPdfList,"\end{layer}");
+ FigPdfList=append(FigPdfList,"");
+ FigPdfList=append(FigPdfList,"\end{document}");
+ if(fnameorg!=Texparent,
+ SCEOUTPUT=openfile(fname);
+ forall(FigPdfList,println(SCEOUTPUT,#));
+ closefile(SCEOUTPUT);
+ );
+ FigPdfList;
+);
+
+Makehelplist(libname):=(
+ regional(cmdall,cmd,flg,lev,tmp,tmp1,out);
+ tmp=load(libname);
+ cmdall=tokenize(tmp,"//help:");
+ cmdall=select(cmdall,substring(#,1,3)!=");");
+ flg=0;
+ forall(1..3,
+ if(flg==0,
+ if(substring(cmdall_#,0,7)=="start()",
+ cmdall=cmdall_((#+1)..length(cmdall));
+ flg=1;
+ );
+ );
+ );
+ flg=0;
+ tmp=length(cmdall);
+ forall(0..2,
+ if(flg==0,
+ if(substring(cmdall_(tmp-#),0,5)=="end()",
+ cmdall=cmdall_(1..(tmp-#-1));
+ flg=1;
+ );
+ );
+ );
+ out=[];
+ forall(cmdall,cmd,
+ tmp1=indexof(cmd,"(");
+ lev=1;
+ flg=0;
+ forall((tmp1+1)..length(cmd),
+ if(flg==0,
+ tmp=substring(cmd,#-1,#);
+ if(tmp=="(",lev=lev+1);
+ if(tmp==")",
+ lev=lev-1;
+ if(lev==0,
+ flg=1;
+ out=append(out,substring(cmd,0,#)+";");
+ );
+ );
+ );
+ );
+ );
+ sort(out);
+);
+
+Helplist():=Helplist(Dirlib,["+","+3d"],"helpJ");
+// 15.05.22
+Helplist(Arg):=(
+ if(islist(Arg),
+ Helplist(Dirlib,Arg,"helpJ"); // 15.06.20
+ ,
+ if(indexof(Arg,"help")>0,
+ Helplist(Dirlib,["+","+3d"],Arg);
+ ,
+ Helplist(Arg,["+","+3d"],"helpJ");
+ );
+ );
+);
+Helplist(Arg1,Arg2):=(
+ if(islist(Arg1),
+ Helplist(Dirlib,Arg1,Arg2);
+ ,
+ if(indexof(Arg2,"help")>0,
+ Helplist(Dirlib,Arg1,Arg2);
+ ,
+ Helplist(Arg,["+","+3d"],Arg2);
+ );
+ );
+);
+Helplist(dir,files,help):=(
+//help:Helplist();
+//help:Helplist("helpE");
+ regional(ketfiles,tmp,tmp1,tmp2);
+ setdirectory(dir);
+ if(contains(files,"+"),
+ tmp=remove(files,["+"]);
+ ketfiles=concat(["+basic1","+basic2","+out"],tmp);
+ ,
+ ketfiles=files;
+ );
+ ketfiles=apply(ketfiles,replace(#,"+","ketcindylib"));
+ ketfiles=apply(ketfiles,#+"r.cs"); // 15.11.05 from
+ tmp=apply(files,replace(#,"+","ketcindylib"));
+// tmp=apply(files,replace(#,"r.cs",""));
+// tmp=remove(tmp,["ketcindylibout"]);
+// tmp=apply(tmp,replace(#,"basic",""));
+ tmp=apply(tmp,#+help+".txt");
+ ketfiles=concat(ketfiles,tmp);// 15.11.05 until
+ tmp1=[];
+ forall(ketfiles,
+ tmp=Makehelplist(#);
+ tmp1=concat(tmp1,tmp);
+ );
+ if(!islist(HLIST), // 16.12.31from
+ HLIST=sort(tmp1);
+ ,
+ HLIST=sort(concat(HLIST,tmp1));
+ ); // 16.12.31until
+ setdirectory(Dirwork);
+);
+
+
+Help():=(
+ forall(HLIST,
+ println(#);
+ );
+);
+Help(strorg):=(
+//help:Help("Plot");
+//help:Help("*");
+ regional(str,sel,tmp,tmp1,tmp2,flg,Endflg);
+ if(length(HLIST)>0,flg=0,flg=-1);
+ str=replace(strorg,"'",Dq); // 15.11.25
+ if(length(str)==0,
+ forall(HLIST,
+ if(indexof(#,"*")>0,
+ println(#);
+ );
+ flg=1;
+ );
+ ,
+ if(str=="*",
+ sel=HLIST;
+ ,
+ sel=select(HLIST,substring(#,0,length(str))==str);
+ );
+ if(length(sel)>0,flg=1);
+ forall(sel,
+ tmp=indexof(#,"(");
+ if(substring(#,tmp-2,tmp-1)!="*",
+ println(#);
+ ,
+// println(substring(#,0,tmp-1));
+ tmp1=substring(#,tmp,length(#)-2);
+ tmp2=indexof(tmp1,"//");
+ Endflg=0;
+ forall(1..4,
+ if(Endflg==0,
+ tmp2=indexof(tmp1,"//");
+ if(tmp2==0,
+ println(" "+tmp1);
+ Endflg=1;
+ ,
+ println(" "+substring(tmp1,0,tmp2-1));
+ tmp1=substring(tmp1,tmp2+1,length(tmp1));
+ );
+ );
+ );
+ );
+ );
+ );
+ if(flg==-1,println(" Help not read in"));
+ if(flg==0,println(" no example"));
+);
+
+Helpkey(str):=(
+ regional(tmp,tmp1,tmp2);
+ tmp1=select(HLIST,indexof(#,str)>0);
+ forall(tmp1,
+ tmp=substring(#,0,indexof(#,"*")-1);
+ Help(tmp);
+ );
+);
+Helpkey(str1,str2):=(
+//help:Helpkey(keyword);
+//help:Helpkey(keyword1,keyword2);
+ regional(tmp,tmp1,tmp2);
+ tmp1=select(HLIST,indexof(#,str1)>0);
+ tmp1=select(tmp1,indexof(#,str2)>0);
+ forall(tmp1,
+ tmp=substring(#,0,indexof(#,"*")-1);
+ Help(tmp);
+ );
+);
+
+Slidework():=Slidework(Dirwork); // 16.06.10
+Slidework(dirorg):=(
+//help:Slidework(directory);
+ regional(dir,tmp); // 16.06.25
+ dir=replace(dirorg,unicode("000a"),""); // 16.06.25
+ dir=replace(dir,"/",pathsep());//17.11.20from
+ dir=replace(dir,"\",pathsep());
+ tmp=length(dir);
+ if(substring(dir,tmp-1,tmp)==pathsep(),
+ dir=substring(dir,0,tmp-1);
+ );//17.11.20until
+ if(isexists(dir,""), // 16.12.20
+ Changework(dir);
+ println(makedir(dir,"fig"));//17.11.23
+ tmp=dir+pathsep()+"fig"; //17.04.16from
+ Changework(tmp);// 17.02.19until
+ ,
+ println(dir+ " not exists");
+ );
+);
+
+Setslidepage():=( // 17.03.05
+ regional(tmp1,tmp2,tmp3);
+ tmp1=["letterc","boxc","framec","shadowc","xpos","size"];
+ tmp2=apply([1,2,4,5,7,8],SlideColorList_#);
+ tmp3=apply(1..(length(tmp1)),tmp1_#+"="+tmp2_#);
+ println(tmp3);
+);
+Setslidepage(list):=( // 16.12.22
+//help:Setslidepage([letterc,boxc,framec,shadowc,xpos,size]);
+ regional(numlist,tmp,tmp1,letterc,boxc,shadowc,mboxc);
+ letterc=[0.98,0.13,0,0.43]; boxc=[0,0.32,0.52,0];
+ shadowc=[0,0,0,0.5]; mboxc="yellow";
+ if(!islist(SlideColorList),
+ SlideColorList=[letterc,boxc,boxc,boxc,shadowc,shadowc,6,1.3,
+ letterc,mboxc,mboxc,mboxc,62,2,letterc];
+ );
+ numlist=[1,2,4,5,7,8];
+ forall(1..(length(list)),
+ if(length(list_#)>0,
+ tmp=numlist_#;
+ SlideColorList_tmp=list_#;
+ );
+ );
+ SlideColorList_3=SlideColorList_2;
+ SlideColorList_6=SlideColorList_5;
+);
+
+Setslidemain():=( // 17.03.05
+ regional(tmp1,tmp2,tmp3);
+ tmp1=["letterc","boxc","framec","xpos","size"];
+ tmp2=apply([9,10,12,13,14],SlideColorList_#);
+ tmp3=apply(1..(length(tmp1)),tmp1_#+"="+tmp2_#);
+ println(tmp3);
+);
+Setslidemain(list):=( // 16.12.22
+//help:Setslidemain([letterc,boxc,framec,xpos,size]);
+ regional(numlist,tmp,tmp1,letterc,boxc,shadowc,mboxc);
+ letterc=[0.98,0.13,0,0.43]; boxc=[0,0.32,0.52,0];
+ shadowc=[0,0,0,0.5]; mboxc="yellow";
+ if(!islist(SlideColorList),
+ SlideColorList=[letterc,boxc,boxc,boxc,shadowc,shadowc,6,1.3,
+ letterc,mboxc,mboxc,mboxc,62,2,letterc];
+ );
+ numlist=[9,10,12,13,14];
+ forall(1..(length(list)),
+ if(length(list_#)>0, //17.01.04
+ tmp=numlist_#;
+ SlideColorList_tmp=list_#;
+ );
+ );
+ SlideColorList_11=SlideColorList_10;
+);
+
+Setslidebody():=( // 17.03.05
+ regional(tmp1,tmp2,tmp3);
+ tmp1=["letterc","style","thindense"];
+ tmp2=[SlideColorList_(15),BodyStyle,ThinDense];
+ tmp3=apply(1..(length(tmp1)),tmp1_#+"="+tmp2_#);
+ println(tmp3);
+);
+Setslidebody(str):=(
+ regional(clr,style,thin);
+ if(isstring(str),
+ Setslidebody(str,"\Large\bf\boldmath",0.1);
+ ,
+ if(length(str)==1,Setslidebody(str_1));
+ if(length(str)==2,Setslidebody(str_1,str_2));
+ if(length(str)==3,Setslidebody(str_1,str_2,str_3));
+ );
+);
+Setslidebody(str,Arg):=( //17.01.08
+ if(isstring(Arg),
+ Setslidebody(str,Arg,0.1);
+ ,
+ Setslidebody(str,"\Large\bf\boldmath",Arg);
+ );
+);
+Setslidebody(str,style,density):=( // 16.12.22,17.01.06,01.08
+//help:Setslidebody(["black",,0]);
+//help:Setslidebody(["blue","\Large\bf\boldmath",0.1]);
+ regional(numlist,tmp,tmp1,letterc,boxc,shadowc,mboxc);
+ letterc=[0.98,0.13,0,0.43]; boxc=[0,0.32,0.52,0];
+ shadowc=[0,0,0,0.5]; mboxc="yellow";
+ if(!islist(SlideColorList),
+ SlideColorList=[letterc,boxc,boxc,boxc,shadowc,shadowc,6,1.3,
+ letterc,mboxc,mboxc,mboxc,62,2,letterc];
+ );
+ if(length(str)>0,SlideColorList_(15)=str);
+ if(length(style)>0,BodyStyle=style);
+ ThinDense=density;//17.01.08
+);
+
+Setslidehyper():=( 17.12.16from
+ Setslidehyper(["cl=true,lc=blue,fc=blue",125,70,1]);
+);
+Setslidehyper(Arg):=(
+ if(isstring(Arg),
+ Setslidehyper(Arg,["cl=true,lc=blue,fc=blue",125,70,1]);
+ ,
+ Setslidehyper("",Arg);
+ );
+);
+Setslidehyper(driverorg,options):=(
+//help:Setslidehyper();
+//help:Setslidehyper("dvipdfmx",["cl=true,lc=blue,fc=blue","Pos=[125,73]","Size=1"]);
+ regional(driver,eqL,reL,stL,,str,tmp,tmp1,tmp2);
+ driver=driverorg;
+ if(length(driver)==0,
+ if(indexof(PathT,"pdflatex")+indexof(PathT,"lualatex")==0,
+ driver="dvipdfmx";
+ );
+ );
+ tmp=Divoptions(options);
+ eqL=tmp_5;
+ reL=tmp_6;
+ stL=tmp_7;
+ if(length(stL)>0,
+ str=stL_1;
+ ,
+ str="";
+ );
+ if(length(str)==0,
+ str="cl=true,lc=blue,fc=blue";
+ );
+ if(length(driver)==0,
+ tmp1="["+str+"]";
+ ,
+ tmp1="["+driver+","+str+"]";
+ );
+ tmp1=replace(tmp1,"cl=","colorlinks=");
+ tmp1=replace(tmp1,"lc=","linkcolor=");
+ tmp1=replace(tmp1,"fc=","filecolor=");
+ tmp1=replace(tmp1,"uc=","urlcolor=");
+ ADDPACK=select(ADDPACK,indexof(#,"hyperref")==0);
+ Addpackage(tmp1+"{hyperref}");
+ LinkPosH=125;
+ LinkPosV=73;//180524
+ LinkSize=1;
+// if(length(reL)>0,
+// LinkPosH=reL_1;
+// if(length(reL)>1,LinkPosV=reL_2);
+// if(length(reL)>2,LinkSize=max(reL_3,0.1));
+// );
+ forall(eqL,
+ tmp=Indexall(#,"=");//180524from
+ if(length(tmp)==1,
+ tmp1=Toupper(substring(#,0,1));
+ tmp2=substring(#,tmp_1,length(#));
+ tmp2=parse(tmp2);
+ if(tmp1=="P",
+ LinkPosH=tmp2_1;
+ LinkPosV=tmp2_2;
+ );
+ if(tmp1=="S",
+ LinkSize=max(tmp2,0.1);
+ );
+ );//180524to
+ );
+); //17.12.16to
+
+Settitle(cmdL):=Settitle("",cmdL,[]); // 180608from
+Settitle(Arg1,Arg2):=(
+ if(isstring(Arg1),
+ Settitle(Arg1,Arg2,[]);
+ ,
+ Settitle("",Arg1,Arg2);
+ );
+); // 180608to
+Settitle(titleold,cmdL,options):=(
+//help:Settitle(cmdL);
+//help:Settitle(name,cmdL);
+//help:Settitle(options=["Title=slide0","Layery=0","Color=blue"]);
+ regional(tmp,tmp1,tmp2,eqL,layery,color,size,font);
+ TitleName="slide0"; //180330
+ if(length(titleold)>0,TitleName=titleold);//180608
+ layery="0";
+ color="blue";
+ size="\Large";
+ font="\bf";
+// tmp=Divoptions(options);
+// eqL=tmp_5;
+ eqL=options; //180602
+ forall(eqL,
+ tmp1=Toupper(substring(#,0,1));
+ tmp=indexof(#,"=");
+ tmp2=substring(#,tmp,length(#));
+ if(tmp1=="L",
+ layery=tmp2;
+ );
+ if(tmp1=="C",
+ color=tmp2;
+ );
+ if(tmp1=="S",
+ size=tmp2;
+ if(substring(size,0,1)!="\",size="\"+size);
+ );
+ if(tmp1=="F",
+ font=tmp2;
+ if(substring(font,0,1)!="\",font="\"+font);
+ );
+ if(tmp1=="T", //180330
+ TitleName=tmp2;
+ );
+ );
+ TitleCmdL=["{"+size+font];
+ if(indexof(color,"[")>0,
+ tmp=replace(color,"[","{");
+ tmp=replace(tmp,"]","}");
+ tmp1=Indexall(tmp,",");
+ if(length(tmp1)>=3,
+ tmp="\color[cmyk]"+tmp;
+ ,
+ tmp="\color[rgb]"+tmp;
+ );
+ ,
+ tmp="\color{"+color+"}";
+ );
+ TitleCmdL=append(TitleCmdL,tmp);
+ TitleCmdL=concat(TitleCmdL,["","\begin{layer}{120}{"+layery+"}"]);
+ forall(1..(length(cmdL)),
+ tmp=cmdL_#;
+ if(length(tmp)>0,
+ if(#==1,
+ tmp="{\Huge \putnote"+tmp+"}"
+ ,
+ tmp="\putnote"+tmp;
+ );
+ TitleCmdL=append(TitleCmdL,tmp);
+ );
+ );
+ TitleCmdL=concat(TitleCmdL,["\end{layer}","","}"]);
+);
+
+Maketitle():=(
+ if(!isstring(TitleName), //17.04.13from
+ drawtext(mouse().xy,"Settitle not defined",
+ size->24,color->[1,0,0]);
+ , //17.04.13until
+ Maketitle(TitleName);
+ );
+);
+Maketitle(name):=(
+//help:Maketitle();
+ regional(texfile,texmain,tmp,tmp1,sep);
+ texfile=name;
+ texmain=name+"main";
+ SCEOUTPUT=openfile(texfile+".tex");
+ forall(TitleCmdL,
+ println(SCEOUTPUT,#);
+ );
+ closefile(SCEOUTPUT);
+ SCEOUTPUT=openfile(texmain+".tex");
+ tmp="\documentclass[landscape,10pt]{article}";
+ if(indexof(PathT,"platex")>0,
+ tmp=replace(tmp,"article","jarticle");
+ if(indexof(PathT,"uplatex")>0, //17.08.13from
+ tmp=replace(tmp,"jarticle","ujarticle");
+ );//17.08.13until
+ );
+ println(SCEOUTPUT,tmp);
+ tmp="\special{papersize=\the\paperwidth,\the\paperheight}";
+ println(SCEOUTPUT,tmp);
+ tmp=replace(Dirhead,"\","/");//17.11.01from
+ tmp=replace(tmp,"scripts","tex/latex");
+ if(isexists(tmp,""),
+ println(SCEOUTPUT,"\usepackage{ketpic,ketlayer,ketslide}");
+ ,
+ tmp=replace(Dirhead+"/ketpicstyle","\","/");
+ println(SCEOUTPUT,"\usepackage{"+tmp+"/ketpic}");
+ println(SCEOUTPUT,"\usepackage{"+tmp+"/ketlayer}");
+ println(SCEOUTPUT,"\usepackage{"+tmp+"/ketslide}");
+ );//17.11.01until
+ println(SCEOUTPUT,"\usepackage{amsmath,amssymb}");
+ println(SCEOUTPUT,"\usepackage{bm,enumerate}");
+ if((indexof(PathT,"pdflatex")>0)%(indexof(PathT,"lualatex")>0),
+ println(SCEOUTPUT,"\usepackage{graphicx}");
+ ,
+ println(SCEOUTPUT,"\usepackage[dvipdfmx]{graphicx}");
+ );
+ println(SCEOUTPUT,"\usepackage[usenames]{xcolor}");
+ forall(ADDPACK,
+// if(indexof(#,"[")==0,
+// println(SCEOUTPUT,"\usepackage{"+#+"}");
+// ,
+ println(SCEOUTPUT,"\usepackage"+#); // 17.07.10
+// );
+ );
+ if(indexof(PathT,"platex")>0,tmp="\ketmarginJ",tmp="\ketmarginE");
+ println(SCEOUTPUT,tmp);
+ println(SCEOUTPUT,"\ketslideinit");
+ println(SCEOUTPUT,"");
+ println(SCEOUTPUT,"\begin{document}");
+ println(SCEOUTPUT,"");
+ println(SCEOUTPUT,"\input{"+texfile+".tex}");
+ println(SCEOUTPUT,"");
+ println(SCEOUTPUT,"\end{document}");
+ closefile(SCEOUTPUT);
+ if(iswindows(),
+ Makebat(texmain,"tv");
+ ,
+ Makeshell(texmain,"tv");
+ );
+ kc();
+);
+
+Repeatsameslide(repeatflg,sestr,addedL):=(
+ regional(seL,flg1,ss,nn,nrep,tmp,tmp1,tmp2,tmp3,str,j,k);
+ // global RepeatList, SCEOUTPUT, NonThinFlg
+ nrep=length(RepeatList);
+ flg1=0;
+ forall(addedL,ss,
+ if(repeatflg==0,
+ if(substring(ss,0,1)!="%", //16.01.04
+ println(SCEOUTPUT,ss);
+ );//16.01.04
+ ,
+ forall(1..nrep,nn,
+ if(sestr=="",
+ RepeatList_nn=append(RepeatList_nn,ss);
+ );
+ );
+ if(sestr=="",
+ seL=[1];
+ ,
+ tmp1=substring(sestr,1,length(sestr)-1);
+ tmp1=replace(tmp1,",-",".."+text(nrep));
+ tmp1=replace(tmp1,"-,","1..");
+ tmp1="["+tmp1+"]"; //17.01.03
+ seL=flatten(parse(tmp1)); //17.01.03
+ );
+ if(contains(seL,1),
+ if(substring(ss,0,1)!="%", //16.01.04
+ println(SCEOUTPUT,ss);
+ );
+ seL=remove(seL,[1]);
+ flg1=1;
+ );
+ forall(1..(length(seL)),nn,
+ tmp=seL_nn;
+ if(tmp<=length(RepeatList), //17.01.12from
+ RepeatList_tmp=append( RepeatList_tmp,ss);
+ ,
+ println(" "+sestr+" : "+text(tmp)+" > "+text(length(RepeatList)));
+ );
+ );
+ if(ThinFlg==1,//16.01.05from
+ if(flg1==1,seL=append(seL,1));
+ seL=remove(1..nrep,seL);
+ str=ss; // 17.05.28from
+ if(substring(str,0,16)=="\begin{minipage}",MiniFlg=1);//180526
+ repeat(10,
+ tmp1=Indexall(str,"{\color");
+ if(length(tmp1)>0,
+ tmp2=Indexall(str,"}");
+ tmp=select(tmp2,tmp1_1<#);
+ tmp=substring(str,tmp1_1,tmp_1);
+ str=replace(str,tmp+" ","");
+ str=replace(str,tmp,"");
+ );
+ );//17.05.28to
+ if(contains(seL,1),
+ if(substring(str,0,1)!="%",
+ if(NonThinFlg==0,
+ if(!contains(["\begi","\end{"],substring(str,0,5)),//17.01.15
+ if(MiniFlg==0, //180526from
+ println(SCEOUTPUT,"{\color[cmyk]{\thin,\thin,\thin,\thin}");//17.08.23
+ println(SCEOUTPUT,str);
+ println(SCEOUTPUT,"}%");
+ ,
+ println(SCEOUTPUT,str);
+ if(indexof(str,"\end{minipage}")>0, //180526from
+ println(SCEOUTPUT,"}%");
+ );
+ ); //180526to
+ ,
+ println(SCEOUTPUT,str);
+ if(indexof(str,"\end{minipage}")>0, //180526from
+ println(SCEOUTPUT,"}%");
+ MiniFlg=0;
+ );
+ );
+ );
+ if(NonThinFlg==1,
+ if(!contains(["\begi","\end{"],substring(str,0,5)),//17.01.15
+ println(SCEOUTPUT,"{\color[cmyk]{\thin,\thin,\thin,\thin}");//17.08.23
+ println(SCEOUTPUT,str);
+ ,
+ println(SCEOUTPUT,str);
+ if(indexof(str,"\end{minipage}")>0, //180526from
+ println(SCEOUTPUT,"}%");
+ MiniFlg=0;
+ );
+ );
+ );
+ if(NonThinFlg==2,
+ println(SCEOUTPUT,str);
+ if(!contains(["\begi","\end{"],substring(str,0,5)),//17.01.15
+ println(SCEOUTPUT,"}%");
+ , //180526from
+ if(indexof(str,"\end{minipage}")>0,
+ println(SCEOUTPUT,"}%");
+ MiniFlg=0;
+ ); //180526from
+ );
+ );
+ seL=remove(seL,[1]);
+ );
+ );
+ if(substring(ss,0,1)!="%", //16.01.04
+ forall(1..(length(seL)),nn,
+ if(substring(str,0,16)=="\begin{minipage}",MiniFlg=1);//180526
+ tmp=seL_nn;
+ if(NonThinFlg==0,
+ if(!contains(["\begi","\end{"],substring(str,0,5)),//180526from
+ if(MiniFlg==0,
+ tmp1="{\color[cmyk]{\thin,\thin,\thin,\thin}";//17.08.23
+ tmp1=[tmp1,str,"}%"];
+ ,
+ tmp1=[str];
+ if(indexof(str,"\end{minipage}")>0, //180526from
+ tmp1=append(tmp1,"}%");
+ );
+ );
+ ,
+ tmp1=[str];
+ if(indexof(str,"\end{minipage}")>0,
+ tmp1=append(tmp1,"}%");
+ MiniFlg=0;
+ );
+ );
+ );
+ if(NonThinFlg==1,
+ if(!contains(["\begi","\end{"],substring(str,0,5)),//17.01.15
+ tmp1="{\color[cmyk]{\thin,\thin,\thin,\thin}";//17.08.23
+ tmp1=[tmp1,str];
+ ,
+ tmp1=[str];
+ if(indexof(str,"\end{minipage}")>0,
+ tmp1=append(tmp1,"}%");
+ MiniFlg=0;
+ );
+ );
+ );
+ if(NonThinFlg==2,
+ tmp1=[str];
+ if(!contains(["\begi","\end{"],substring(str,0,5)),
+ tmp1=append(tmp1,"}%");
+ ,
+ if(indexof(str,"\end{minipage}")>0,
+ tmp1=append(tmp1,"}%");
+ MiniFlg=0;
+ );
+ );
+ );
+ RepeatList_tmp=concat( RepeatList_tmp,tmp1);
+ );
+ );
+ );//16.01.05to
+ );
+ );//16.12.05to
+);
+
+Presentation(texfile):=Presentation(texfile,texfile);
+Presentation(texfile,txtfile):=(
+//help:Presentation(texfile,txtfile);
+ regional(file,flgL,flg,verbflg,slideL,ns,slideorgL,wall,sld,slidecmd,tmp,tmp0,tmp1,
+ tmp2,tmp3,tmp4,tmp5,newoption,top,repeatflg,nrep,nrepprev,,repstr,
+ sestr,npara,paradt,parafiles,hyperflg,paractr,
+ letterc,boxc,shadowc,mboxc,sep);
+ MiniFlg=0;//180526
+ slidecmd=["\ketcletter","\ketcbox","\ketdbox","\ketcframe",
+ "\ketcshadow","\ketdshadow","\slidetitlex","\slidetitlesize",
+ "\mketcletter","\mketcbox","\mketdbox","\mketcframe",
+ "\mslidetitlex","\mslidetitlesize"];
+ if(!isstring(BodyStyle),//17.01.06
+ BodyStyle="\Large\bf\boldmath";
+ );
+ repeatflg=0;
+ RepeatList=[];
+ paractr=0; //16.12.31
+ if(indexof(texfile,".")==0,file=texfile+".tex",file=texfile);
+ if(indexof(txtfile,".")==0,tmp1=txtfile+".txt",tmp1=txtfile);
+ tmp=load(tmp1);
+ tmp=replace(tmp,"////","||||");// 16.05.11, 06.24(reactivated)
+ slideL=tokenize(tmp,"//");
+ slideorgL=slideL; // 16.07.11
+ slideL=apply(slideL,Removespace(#));
+ tmp=select(1..length(slideL),length(slideL_#)>0); // 16.07.11from
+ slideL=apply(tmp,slideL_#);
+ slideorgL=apply(tmp,slideorgL_#);
+// slideL=select(slideL,length(#)>0); // 16.07.11until
+ flg=0; // 16.06.09from
+ forall(1..10,
+ if(flg==0,
+ if(substring(slideL_1,0,1)!="%",
+ flg=1;
+ ,
+ slideL=slideL_(2..length(slideL));
+ slideorgL=slideorgL_(2..length(slideorgL));
+ );
+ );
+ ); // 16.06.09until
+ flgL=[];
+ SCEOUTPUT = openfile(file);
+ tmp=tokenize(slideL_1,"::");
+ tmp1=tmp_1;
+ if(length(tmp)>1,
+ tmp2=tmp_2;
+ tmp3=tmp_(3..length(tmp));//16.06.25
+ ,
+ tmp2="";
+ tmp3=tmp_(2..length(tmp));//16.06.25
+ );
+ wall=""; // 16.06.10
+ if(length(tmp3)>0,//16.06.25from
+ tmp=substring(tmp3_1,0,1);//180330
+ if((tmp!="\")&(tmp!="%")&(indexof(tmp3_1,"=")==0), //180330
+ wall=tmp3_1;
+ tmp3=tmp3_(2..length(tmp3));
+ );
+ );//16.06.25until
+ tmp="%%% "+tmp1+" "+txtfile;// 16.06.09from
+ println(SCEOUTPUT,tmp);
+ tmp="\documentclass[landscape,10pt]{article}";
+ if(indexof(PathT,"platex")>0,
+ tmp=replace(tmp,"article","jarticle");
+ if(indexof(PathT,"uplatex")>0, //17.08.13from
+ tmp=replace(tmp,"jarticle","ujarticle");
+ );//17.08.13until
+ );
+ println(SCEOUTPUT,tmp);// 16.06.09from
+ tmp=select(1..(length(tmp3)),indexof(tmp3_#,"\usepackage")>0);//17.06.18from
+ forall(tmp,
+ println(SCEOUTPUT,tmp3_#);
+ );
+ tmp=remove(1..(length(tmp3)),tmp);
+ tmp3=tmp3_tmp;//17.06.18until
+// if(iswindows(),sep="\",sep="/"); // 17.04.08
+// sep="/";
+ if((indexof(PathT,"pdflatex")>0)%(indexof(PathT,"lualatex")>0),
+ if(indexof(PathT,"lualatex")>0,
+ println(SCEOUTPUT,"\usepackage{luatexja}");
+ );
+ println(SCEOUTPUT,"\usepackage{pict2e}");
+ println(SCEOUTPUT,"\usepackage{ketpic2e,ketlayer2e}");// 17.04.08from
+ ,
+ println(SCEOUTPUT,"\special{papersize=\the\paperwidth,\the\paperheight}");
+ );// 17.04.08until
+ tmp=replace(Dirhead,"\","/");//17.11.01from
+ tmp=replace(tmp,"scripts","tex/latex");
+ if(isexists(tmp,""),
+ println(SCEOUTPUT,"\usepackage{ketpic,ketlayer}");
+ ,
+ tmp=replace(Dirhead+"/ketpicstyle","\","/");
+ println(SCEOUTPUT,"\usepackage{"+tmp+"/ketpic}");
+ println(SCEOUTPUT,"\usepackage{"+tmp+"/ketlayer}");
+ );
+ if(length(wall)==0,
+ tmp=replace(Dirhead,"\","/");//17.11.01from
+ tmp=replace(tmp,"scripts","tex/latex");
+ if(isexists(tmp,""),
+ println(SCEOUTPUT,"\usepackage{ketslide}");
+ ,
+ tmp=replace(Dirhead+"/ketpicstyle","\","/");
+ println(SCEOUTPUT,"\usepackage{"+tmp+"/ketslide}");
+ );
+ ,
+ tmp=replace(Dirhead,"\","/");
+ tmp=replace(tmp,"scripts","tex/latex");
+ if(isexists(tmp,""),
+ println(SCEOUTPUT,"\usepackage{ketslide2}");
+ ,
+ tmp=replace(Dirhead+"/ketpicstyle","\","/");
+ println(SCEOUTPUT,"\usepackage{"+tmp+"/ketslide2}");
+ );
+ );//17.04.08until
+ println(SCEOUTPUT,"\usepackage{amsmath,amssymb}");
+ println(SCEOUTPUT,"\usepackage{bm,enumerate}");
+ if((indexof(PathT,"pdflatex")>0)%(indexof(PathT,"lualatex")>0),
+ println(SCEOUTPUT,"\usepackage{graphicx}");
+ ,
+ println(SCEOUTPUT,"\usepackage[dvipdfmx]{graphicx}");
+ );
+ println(SCEOUTPUT,"\usepackage{xcolor}");//17.07.31
+ letterc=[0.98,0.13,0,0.43]; boxc=[0,0.32,0.52,0];
+ shadowc=[0,0,0,0.5]; mboxc="yellow";
+ tmp4="abcdefghijklmno";
+ forall(1..15,
+ tmp=SlideColorList_#;
+ if(islist(tmp),
+ tmp=text(tmp);
+ tmp=substring(tmp,1,length(tmp)-1);
+ if(length(SlideColorList_#)==4,//17.01.07from
+ println(SCEOUTPUT,"\definecolor{slidecolor"+tmp4_#+"}{cmyk}{"+tmp+"}");
+ );
+ if(length(SlideColorList_#)==3,
+ println(SCEOUTPUT,"\definecolor{slidecolor"+tmp4_#+"}{rgb}{"+tmp+"}");
+ );//17.01.07until
+ SlideColorList_#="slidecolor"+tmp4_#;
+ );
+ );
+ println(SCEOUTPUT,"\def\setthin#1{\def\thin{#1}}");//17.08.23
+ println(SCEOUTPUT,"\setthin{"+text(ThinDense)+"}");//17.08.23
+ println(SCEOUTPUT,"\newcommand{\slidepage}[1][s]{%");//180524from
+ println(SCEOUTPUT,"\setcounter{ketpicctra}{18}%");
+ println(SCEOUTPUT,"\if#1m \setcounter{ketpicctra}{1}\fi");
+ println(SCEOUTPUT,"\hypersetup{linkcolor=black}%");
+ println(SCEOUTPUT,"\begin{layer}{118}{0}");
+ println(SCEOUTPUT,"\putnotee{122}{-\theketpicctra.05}{\small\thepage/\pageref{pageend}}");
+ println(SCEOUTPUT,"\end{layer}\hypersetup{linkcolor=blue}}");//189524to
+ forall(ADDPACK,// 16.06.09from
+ println(SCEOUTPUT,"\usepackage"+#);
+ );// 16.06.09to
+ tmp=select(ADDPACK,indexof(#,"{hyperref}")>0);//16.12.31from
+ if(length(tmp)>0,
+ hyperflg=1;
+ ,
+ hyperflg=0; //16.12.31until
+ );
+ forall(tmp3,
+ println(SCEOUTPUT,#);
+ );
+ if(indexof(PathT,"platex")>0,tmp="\ketmarginJ",tmp="\ketmarginE"); // 16.06.09
+ println(SCEOUTPUT,tmp);
+ println(SCEOUTPUT,"\ketslideinit");
+ println(SCEOUTPUT,"");
+ forall(tmp, // 15.07.21
+ if(substring(#,0,1)=="\", println(SCEOUTPUT,#));
+ );
+// if(!isstring(PageStyle),PageStyle="headings");//180524from
+// println(SCEOUTPUT,"\pagestyle{"+PageStyle+"}");
+ println(SCEOUTPUT,"\pagestyle{empty}");//180524to
+ println(SCEOUTPUT,"");
+ println(SCEOUTPUT,"\begin{document}");
+ println(SCEOUTPUT,"");
+ if(length(wall)>0,
+ println(SCEOUTPUT,"\input{fig/"+wall+".tex}");
+ println(SCEOUTPUT,"");
+ );
+ if(length(tmp2)>0,
+ if(indexof(tmp2," no")==0, // 16.11.11from
+ println(SCEOUTPUT,"\begin{layer}{120}{0}");
+ if(substring(tmp2,0,1)!="\",
+ tmp2="\putnotese{0}{0}{\input{fig/"+tmp2+".tex}}";//16.12.27
+ );
+ println(SCEOUTPUT,tmp2);
+ println(SCEOUTPUT,"\end{layer}");
+ println(SCEOUTPUT,"");
+ ,
+ tmp=indexof(tmp2,"=");
+ if(tmp==0,
+ top="10mm";
+ ,
+ top=substring(tmp2,tmp,length(tmp2));
+ );
+ println(SCEOUTPUT,"");
+ println(SCEOUTPUT,"\vspace*{"+top+"}");
+ println(SCEOUTPUT,"");
+ ); // 16.11.11until
+ );
+ println(SCEOUTPUT,"\def\mainslidetitley{22}");
+ forall(1..14, //16.12.22from
+ tmp=SlideColorList_#;
+ if(!isstring(tmp),tmp=text(tmp));
+ if(length(tmp)>0,
+ tmp="\def"+slidecmd_#+"{"+tmp+"}";
+ println(SCEOUTPUT,tmp);
+ );
+ );//16.12.22until
+ println(SCEOUTPUT,"");
+ println(SCEOUTPUT,"\color{"+SlideColorList_(15)+"}");
+ println(SCEOUTPUT,BodyStyle);//17.01.07
+// println(SCEOUTPUT,"\thispagestyle{empty}");//180524
+ println(SCEOUTPUT,"\addtocounter{page}{-1}");//17.01.29
+ println(SCEOUTPUT,"");
+ verbflg=0; //16.06.28
+ repeatflg=0;//16.12.02
+ nrep=0;//16.12.27
+ nrepprev=0;//17.01.03
+ npara=0;//16.12.27
+ forall(2..length(slideL),ns,
+ ThinFlg=0;
+ NonThinFlg=0;
+ flg=0;
+ tmp1="";
+ tmp2="";
+ tmp3="";
+ sld=removespace(slideL_ns); // 16.06.28
+ sestr="";
+ if((substring(sld,0,1)=="%") & (substring(sld,0,2)!="%%"), // 17.06.23
+ Repeatsameslide(repeatflg,"",[slideL_ns]);
+ if(repeatflg>0,
+ tmp=indexof(sld,"]::");
+ if(tmp>0,
+ if(substring(sld,1,2)!="%",//17.05.31
+ if(substring(sld,1,5)=="thin",
+ ThinFlg=1;
+ );
+ sestr=substring(sld,1,tmp);
+ sld=substring(sld,tmp+2,length(sld));
+ tmp=indexof(sestr,"[");
+ sestr=substring(sestr,tmp-1,length(sestr));//17.01.05
+ );
+ );
+ );
+ if(substring(sld,1,7)=="repeat", // 16.12.09from
+ tmp=indexof(sld,"=");
+ tmp5=substring(sld,tmp,length(sld));
+ tmp=indexof(tmp5,",");
+ if(tmp>0,//17.01.03from
+ tmp5=substring(tmp5,0,tmp-1);
+ );//17.01.03until
+ repeatflg=1;
+ if(length(tmp5)>0,
+ nrep=parse(tmp5);
+ tmp=[];
+ if(length(wall)>0,
+ tmp=["","\input{fig/"+wall+".tex}"];
+ );
+ tmp=concat(tmp,
+ ["","\sameslide"+NewSlideOption,"","\vspace*{18mm}",""]);//180524
+ RepeatList=apply(1..nrep,if(#==1,[],tmp));
+ );
+ if(sestr=="",flg=1);
+ tmp=indexof(sld,",");//17.01.03from
+ if(tmp>0,
+ sld="%"+substring(sld,tmp,length(sld));
+ if(indexof(sld,"=")==0,sld=sld+"=");
+ );//17.01.03until
+ );
+ if(substring(sld,1,5)=="para",
+ paractr=paractr+1;
+ repeatflg=1;
+ tmp=indexof(sld,"=");
+ tmp=substring(sld,tmp,length(sld));
+ if(length(tmp)==0, //17.01.03
+ npara=0;
+ ,
+ paradt=tokenize(tmp,":");
+ tmp=fileslist(Dirwork+"/fig/"+paradt_1);
+ if(length(tmp)>0,
+ parafiles=tokenize(tmp,",");
+ if(indexof(paradt_4,"input")>0,
+ tmp0=indexof(paradt_4,",");//17.01.29from
+ if(tmp0>0,
+ paradt=append(paradt,substring(paradt_4,tmp0,length(paradt_4)));
+ paradt_4=substring(paradt_4,0,tmp0-1);
+ );//17.01.29until
+ parafiles=select(parafiles,indexof(#,".tex")>0);
+ if(indexof(paradt_4,"\input")==0,paradt_4="\"+paradt_4);//16.12.17
+ );
+ if(indexof(paradt_4,"include")>0,
+ parafiles=select(parafiles,indexof(#,".pdf")>0);
+ );
+ npara=length(parafiles);
+ ,
+ println(Dirwork+"/fig/"+paradt_1+" not found");
+ parafiles=[];
+ npara=0;
+ );
+ if(nrep==0,
+ nrep=npara;
+ if(length(wall)>0,
+ tmp=["","\input{fig/"+wall+".tex}"];
+ );
+ tmp=concat(tmp,
+ ["","\sameslide"+NewSlideOption,"","\vspace*{18mm}",""]);//180524
+ RepeatList=apply(1..nrep,if(#==1,[],tmp));
+ );
+ );
+ forall(1..nrep, //16.12.28
+ tmp4=[]; //16.12.31from
+ if(hyperflg>0,
+ tmp4=["\hypertarget{para"+text(paractr)+"pg"+text(#)+"}{}"];
+ );//16.12.31to
+ if(npara>0, //17.01.03
+ tmp4=concat(tmp4,["","\begin{layer}{120}"+paradt_2]);
+ if(#<=npara, //16.12.28from
+ tmp=parafiles_#;
+ ,
+ tmp=parafiles_npara;
+ );
+ tmp="{"+paradt_4+"{fig/"+paradt_1+"/"+tmp+"}}";
+ if(length(paradt)>=5,
+ tmp="{\scalebox{"+text(paradt_5)+"}"+tmp+"}";
+ );
+ if(substring(paradt_3,0,1)=="\",
+ tmp=paradt_3+tmp;
+ ,
+ tmp="\putnote"+paradt_3+tmp;
+ );
+ tmp4=concat(tmp4,[tmp]);//16.12.31
+ ,
+ tmp4=concat(tmp4,["","\begin{layer}{120}{0}"]);
+ );
+ if((hyperflg>0) & (LinkSize>0.15),
+ tmp="{"+text(LinkPosV)+"}{\hyperlink{para"; // 17.01.12from
+ tmp1=tmp+text(paractr)+"pg";
+ tmp2=tmp+text(paractr-1)+"pg"+text(nrepprev);
+ tmp=tmp2; //180526from
+ tmp3=[text(LinkPosH-29*LinkSize)+"}"+tmp+"}{\fbox{\Ctab{"
+ +text(2.5*LinkSize)+"mm}{\scalebox{"+text(LinkSize)
+ +"}{\scriptsize $\mathstrut||\!\lhd$}}}}}"];
+ if(nrep>1,//180526
+ tmp="{"+text(LinkPosV)+"}{\hyperlink{para"; // 17.01.12from
+ tmp1=tmp+text(paractr)+"pg";
+ tmp2=tmp+text(paractr-1)+"pg"+text(nrepprev);
+ tmp=tmp1+text(1);
+ tmp3=append(tmp3,
+ text(LinkPosH-24*LinkSize)+"}"+tmp+"}{\fbox{\Ctab{"
+ +text(2.5*LinkSize)+"mm}{\scalebox{"+text(LinkSize)
+ +"}{\scriptsize $\mathstrut|\!\lhd$}}}}}"); //180526to
+ if(#>1,tmp=tmp1+text(#-1),tmp=tmp2);
+ tmp3=append(tmp3,
+ text(LinkPosH-17*LinkSize)+"}"+tmp+"}{\fbox{\Ctab{"
+ +text(4.5*LinkSize)+"mm}{\scalebox{"+text(LinkSize)
+ +"}{\scriptsize $\mathstrut\!\!\lhd\!\!$}}}}}");
+ if(#<nrep,tmp=tmp1+text(#+1),tmp=tmp1+text(nrep));
+ tmp3=append(tmp3,
+ text(LinkPosH-10*LinkSize)+"}"+tmp+"}{\fbox{\Ctab{"
+ +text(4.5*LinkSize)+"mm}{\scalebox{"+text(LinkSize)
+ +"}{\scriptsize $\mathstrut\!\rhd\!$}}}}}");
+ tmp=tmp1+text(nrep); //180526from
+ tmp3=append(tmp3,
+ text(LinkPosH-5*LinkSize)+"}"+tmp+"}{\fbox{\Ctab{" // 17.01.19
+ +text(2.5*LinkSize)+"mm}{\scalebox{"+text(LinkSize)
+ +"}{\scriptsize $\mathstrut \!\rhd\!\!|$}}}}}");
+ );
+ tmp="{"+text(LinkPosV)+"}{\hyperlink{para"; //180529(2lines)
+ tmp=tmp+text(paractr+1)+"pg"+text(1);
+ tmp3=append(tmp3,
+ text(LinkPosH)+"}"+tmp+"}{\fbox{\Ctab{" // 17.01.19
+ +text(2.5*LinkSize)+"mm}{\scalebox{"+text(LinkSize)
+ +"}{\scriptsize $\mathstrut \!\rhd\!\!||$}}}}}"); //180526to
+ );
+ tmp3=apply(tmp3,tmp,"\putnotew{"+tmp);
+ tmp4=concat(tmp4,tmp3);// 17.01.12to
+ tmp="\putnotee{"+text(LinkPosH+1)+"}{"+text(LinkPosV)+"}";//180524
+ tmp=tmp+"{\scriptsize\color{blue} "+text(#)+"/"+text(nrep)+"}"; //180524(blue)
+ tmp4=append(tmp4,tmp);
+ tmp4=concat(tmp4,["\end{layer}",""]);//16.12.31until
+ Repeatsameslide(repeatflg,text([#]),tmp4);
+ );
+ );
+ );
+ if(substring(sld,0,2)=="%%", //17.06.23from
+ println(SCEOUTPUT,sld);
+ flg=1;
+ ); //17.06.23to
+ if(flg==0,
+ if(indexof(sld,"\begin{verbatim}")==1, // 16.06.28from
+ Repeatsameslide(repeatflg,sestr,[slideL_ns]);
+ verbflg=1;
+ flg=1;
+ ); // 16.06.28
+ if(indexof(sld,"\end{verbatim}")==1,
+ Repeatsameslide(repeatflg,sestr,[slideL_ns]);
+ verbflg=0;
+ flg=1;
+ ); // 16.06.28until
+ if(flg==0,
+ tmp=replace(sld,"||||","//"); // 16.05.11
+ tmp=tokenize(tmp,"::"); // 16.05.11
+ tmp1=tmp_1;
+ if(length(tmp)>1,tmp2=tmp_2,tmp2="");
+ if(length(tmp)>2,tmp3=tmp_3,tmp3="");
+ if(length(tmp)>3,tmp4=tmp_4,tmp4="");
+ if(length(tmp)>4,tmp5=tmp_5,tmp5="");
+ if(contains(["main","new","same"],tmp1),
+ if(tmp1=="new", // 16.11.09from
+ newoption="";
+ if(substring(tmp2,0,1)=="[",newoption=tmp2);
+ );
+ if(tmp1=="same",
+ if(length(tmp2)==0,tmp2=newoption);
+ );// 16.11.09until
+ println(SCEOUTPUT,"");
+ println(SCEOUTPUT,"%%%%%%%%%%%%%%%%%%%%");
+ println(SCEOUTPUT,"");
+ );
+ );
+ if(flg==0&tmp1=="main",
+ if(repeatflg==1,
+ forall(2..(length(RepeatList)),nrep,
+ tmp=RepeatList_nrep;
+ forall(tmp,
+ if(substring(#,0,1)!="%", //16.01.04
+ println(SCEOUTPUT,#);
+ );
+ );
+ );
+ println(SCEOUTPUT,"");
+ repeatflg=0;RepeatList=[];
+ nrepprev=nrep;//17.01.03
+ nrep=0;//16.12.27
+ npara=0;//16.12.27
+ );
+ if(length(wall)>0,
+ println(SCEOUTPUT,"\input{fig/"+wall+".tex}");
+ );
+ println(SCEOUTPUT,"\mainslide{"+tmp2+"}");
+ println(SCEOUTPUT,"");
+ println(SCEOUTPUT,"");
+ tmp2="";
+ flg=1;
+ );
+ if(flg==0&tmp1=="new",
+ if(repeatflg==1,
+ forall(2..(length(RepeatList)),nrep,
+ tmp=RepeatList_nrep;
+ forall(tmp,
+ if(substring(#,0,1)!="%", //16.01.04
+ println(SCEOUTPUT,#);
+ );
+ );
+ );
+ println(SCEOUTPUT,"");
+ repeatflg=0;RepeatList=[];
+ nrepprev=nrep;//17.01.03
+ nrep=0;
+ npara=0;
+ );
+ if(length(wall)>0,
+ Repeatsameslide(repeatflg,sestr,["\input{fig/"+wall+".tex}"]);
+ );
+ tmp="\newslide";
+ NewSlideOption=""; //17.01.04
+ if(substring(tmp2,0,1)=="[",
+ NewSlideOption=tmp2; //17.01.04
+ tmp=tmp+tmp2;
+ tmp2=tmp3;
+ tmp3=tmp4;
+ tmp4=tmp5;
+ );
+ tmp=tmp+"{"+tmp2+"}";
+ Repeatsameslide(repeatflg,sestr,[tmp,"","\vspace*{18mm}",""]);//180524
+ tmp2="";
+ flg=1;
+ );
+ if(flg==0&tmp1=="same",
+ if(repeatflg==1,
+ forall(2..(length(RepeatList)),nrep,
+ tmp=RepeatList_nrep;
+ forall(tmp,
+ if(substring(#,0,1)!="%", //16.01.04
+ println(SCEOUTPUT,#);
+ );
+ );
+ );
+ println(SCEOUTPUT,"");
+ repeatflg=0;RepeatList=[];
+ nrepprev=nrep;//17.01.03
+ nrep=0;
+ npara=0;
+ );
+ if(length(wall)>0,
+ println(SCEOUTPUT,"\input{fig/"+wall+".tex}");
+ );
+ tmp="\sameslide"+NewSlideOption; //17.01.04;
+// if(substring(tmp2,0,1)=="[",
+// tmp=tmp+tmp2;
+// tmp2=tmp3;
+// tmp3=tmp4;
+// );
+ println(SCEOUTPUT,tmp);
+ println(SCEOUTPUT,""); //180524
+ println(SCEOUTPUT,"\vspace*{18mm}");
+ println(SCEOUTPUT,"");
+ tmp4=tmp3;
+ tmp3=tmp2;
+ tmp2="";
+ flg=1;
+ );
+ if(flg==0&tmp1=="itemize",
+ Repeatsameslide(repeatflg,sestr,["\begin{itemize}"]);
+ flgL=append(flgL,"i");
+ tmp2="";
+ tmp3="";
+ flg=1;
+ );
+ if(flg==0&tmp1=="enumerate",
+ Repeatsameslide(repeatflg,sestr,["\begin{enumerate}"+tmp2]);
+ flgL=append(flgL,"e");
+ tmp2="";
+ tmp3="";
+ flg=1;
+ );
+ if(flg==0&tmp1=="verbatim", //16.06.28from
+ Repeatsameslide(repeatflg,sestr,["\begin{verbatim}"]);
+ flgL=append(flgL,"v");
+ tmp1="";
+ tmp2="";
+ tmp3="";
+ verbflg=1;
+ flg=1;
+ ); //16.06.28until
+ if(flg==0&tmp1=="layer",
+ Repeatsameslide(repeatflg,sestr,[""]);
+ tmp="\begin{layer}";
+ if(length(tmp2)>0,
+ tmp=tmp+tmp2;
+ ,
+ tmp=tmp+"{120}{0}";
+ );
+ Repeatsameslide(repeatflg,sestr,[tmp]);
+ flgL=append(flgL,"l");
+ tmp2="";
+ tmp3="";
+ flg=1;
+ );
+ if(flg==0&tmp1=="putnote",
+ tmp="\putnote"+tmp2+"{";
+ if(indexof(tmp3,"include")==0,
+ tmp1=indexof(tmp3,",");
+ if(tmp1==0,
+ tmp=tmp+"\input{fig/"+tmp3+".tex}}";
+ ,
+ tmp2=substring(tmp3,tmp1,length(tmp3));
+ tmp3=substring(tmp3,0,tmp1-1);
+ tmp=tmp+"\scalebox{"+tmp2+"}{\input{fig/"+tmp3+".tex}}}";
+ );
+ ,
+ tmp2=indexof(tmp3,"[");
+ tmp3=substring(tmp3,tmp2-1,length(tmp3));
+ tmp=tmp+"\includegraphics"+tmp3+"{fig/"+tmp4+"}}";
+ );
+ Repeatsameslide(repeatflg,sestr,[tmp]);
+ tmp2="";
+ tmp3="";
+ flg=1;
+ );
+ if(flg==0&tmp1=="item",
+ NonThinFlg=1;
+ Repeatsameslide(repeatflg,sestr,["\item"]);
+ tmp3="";
+ flg=1;
+ );
+ if(flg==0&tmp1=="end"&(length(flgL)>0), //180526
+ tmp=flgL_(length(flgL));
+ if(tmp=="i",
+ Repeatsameslide(repeatflg,sestr,["\end{itemize}"]);
+ );
+ if(tmp=="e",
+ Repeatsameslide(repeatflg,sestr,["\end{enumerate}"]);
+ );
+ if(tmp=="l",
+ Repeatsameslide(repeatflg,sestr,["\end{layer}",""]);
+ );
+ if(tmp=="v", // 16.06.28from
+ Repeatsameslide(repeatflg,sestr,["\end{verbatim}",""]);
+ verbflg=0;
+ ); // 16.06.28until
+ flgL=flgL_(1..(length(flgL)-1));
+ tmp2="";
+ tmp3="";
+ flg=1;
+ );
+ if(flg==0, // 16.06.28from
+ if(verbflg==0,
+ tmp2=tmp1;
+ ,
+ tmp2=slideorgL_ns; // 16.07.11
+ tmp2=replace(tmp2,"||","//"); // 16.07.10
+ tmp3="";
+ );
+ ); // 16.06.28until
+ if(length(tmp2)>0,
+ if(tmp2=="...", tmp2="");
+ if(NonThinFlg==1,NonThinFlg=2);
+ Repeatsameslide(repeatflg,sestr,[tmp2]);
+ );
+ if(length(tmp3)>0,
+ Repeatsameslide(repeatflg,sestr,["\begin{layer}{120}{0}"]);
+ if(substring(tmp3,0,1)=="{",
+ tmp=tmp3;
+ tmp3=tmp4;
+ ,
+ tmp="{60}{0}";
+ );
+ tmp1=indexof(tmp3,",");
+ if(tmp1==0,
+ tmp3="\putnotes"+tmp+"{\input{fig/"+tmp3+".tex}}";
+ ,
+ tmp2=substring(tmp3,tmp1,length(tmp3));
+ tmp3=substring(tmp3,0,tmp1-1);
+ tmp3="\putnotes"+tmp+"{\scalebox{"+tmp2+"}
+ {\input{fig/"+tmp3+".tex}}}";
+ );
+ Repeatsameslide(repeatflg,sestr,[tmp3,"\end{layer}",""]);
+ );
+ );
+ );
+ if(repeatflg==1,
+ forall(2..(length(RepeatList)),nrep,
+ tmp=RepeatList_nrep;
+ forall(tmp,
+ if(substring(#,0,1)!="%", //16.01.04
+ println(SCEOUTPUT,#);
+ );
+ );
+ );
+// println(SCEOUTPUT,"");
+ );
+ println(SCEOUTPUT,"\label{pageend}\mbox{}"); //180529
+ println(SCEOUTPUT,"");
+ println(SCEOUTPUT,"\end{document}");
+ closefile(SCEOUTPUT);
+);
+
+Mkslides():=(
+ regional(sep,parent,texparentorg,tmp,tmp1,tmp2,tmp3,tmp4,flg);
+ tmp4=Fhead;
+ Fhead="";
+ if(!iswindows(), //17.10.13
+ Dirwork=replace(Dirwork,"\",pathsep());
+ parent=replace(Dirwork+Shellparent,"\",pathsep());
+ ,
+ Dirwork=replace(Dirwork,"/",pathsep());
+ parent=replace(Dirwork+Batparent,"/",pathsep());// 16.05.29
+ );
+ tmp=replace(Dirwork,pathsep()+"fig","");//180604(2lines)
+ Changework(tmp);
+ Setdirectory(Dirwork);
+ if(!iswindows(), //180604from
+ println(setexec(Dirwork,Shellparent));
+ ); //180604to
+ if(length(Texmain)>0, // 15.08.14 from
+ Texparent=Texmain;
+ );
+ texparentorg=Texparent; //17.04.10from
+ if(isstring(Slidename), // 15.08.14 from
+ Texparent=Slidename;
+ );//17.04.10until
+ if(!isexists(Dirwork,Texparent+".txt"), // 17.04.12from
+ drawtext(mouse().xy,Texparent+".txt not exist in "+Dirwork,
+ size->24,color->[1,0,0]);
+ , // 17.04.12until
+ Presentation(Texparent); // 15.08.14to
+ if(iswindows(),
+ tmp2=Batparent;
+ parent=replace(Dirwork+Batparent,sep+"fig","");// 16.05.29
+ if(indexof(Pathpdf,"Adobe")>0, //17.12.09from
+ Makebat(Texparent,"ttv");
+ ,
+ Makebat(Texparent,"tv");
+ ); //17.12.09until
+ kc():=(
+ println("kc : "+kc(parent,Dirlib,Fnametex)); // 16.06.10, 17.02.19
+ );
+ kc();
+ Batparent=tmp2;
+ ,
+ tmp2=Shellparent;
+ parent=replace(Dirwork+Shellparent,sep+"fig","");// 16.05.29
+ Shellparent=replace(Shellparent,sep+"fig","");
+ if(indexof(Pathpdf,"Adobe")>0, //17.12.09from
+ Makeshell(Texparent,"ttv");
+ ,
+ Makeshell(Texparent,"tv");
+ ); //17.12.09until
+ kc():=(
+ println("kc : "+kc(parent,Mackc+Dirlib,Fnametex)); // 16.06.10
+ );
+ kc();
+ Shellparent=tmp2;
+ );
+ );
+ Dirwork=Dirwork+pathsep()+"fig"; //17.10.16
+ setdirectory(Dirwork);
+ Fhead=tmp4;
+ Texparent=texparentorg;//17.04.10
+);
+
+Mkslidesummary():=( // 17.10.26 for R
+ regional(texparentorg);
+ texparentorg=Texparent;
+ if(isstring(Slidename),
+ Texparent=Slidename;
+ );
+ Mkslidesummary(Texparent,Texparent+"digest",["m","Wait=3"]);
+ Texparent=texparentorg;
+);
+Mkslidesummary(fin,fout):=
+ Mkslidesummary(fin,fout,["m","Wait=3"]);
+Mkslidesummary(inputfile,outputfile,options):=(
+//help:Mkslidesummary(fin,fout,options);
+ regional(fin,fout,out,figflg,dirworkorg,dirtop,tmp);
+ dirworkorg=Dirwork;//17.04.10from
+ dirtop=replace(Dirwork,pathsep()+"fig","");
+ Changework(dirtop);//17.04.10uptp
+ if(ismacosx(), //180604from
+ println(setexec(Dirwork,Shellparent));
+ ); //180604to
+ fin=inputfile;
+ if(indexof(fin,".")==0,fin=fin+".tex");
+ fout=outputfile;
+ if(indexof(fout,".")==0,fout=fout+".tex");
+ cmdL=[
+ "Dt=readLines('"+fin+"',encoding='UTF-8')",[],
+ "num=grep('hypertarget',Dt,fixed=TRUE)",[], //180412
+ "Dt=Dt[setdiff(1:length(Dt),num)]",[],
+ "Smain=c();Snew=c();Ssame=c()",[],
+ "for(J in 1:length(Dt)){",[],
+ " Tmp=length(grep('mainslide{',Dt[J],fixed=TRUE))",[], //180412
+ " if(Tmp>0){Smain=c(Smain,1)}else{Smain=c(Smain,0)}",[],
+ " Tmp=length(grep('newslide{',Dt[J],fixed=TRUE))",[], //180412
+ " if(Tmp>0){Snew=c(Snew,1)}else{Snew=c(Snew,0)}",[],
+ " Tmp=length(grep('sameslide',Dt[J],fixed=TRUE))",[], //180412
+ " if(Tmp>0){Ssame=c(Ssame,1)}else{Ssame=c(Ssame,0)}",[],
+ "}",[],
+ "Nnew=c();Nsame=c()",[],
+ "for(J in 1:length(Dt)){",[],
+ " if((Snew[J]==1)|(Smain[J]==1)){Nnew=c(Nnew,J)}",[],
+ " if(Ssame[J]==1){Nsame=c(Nsame,J)}",[],
+ "}",[],
+ "Out=Dt[1:Nnew[1]]",[],
+ "for(J in Looprange(2,length(Nnew))){",[],
+ " Tmp=max(c(1,Nsame[Nsame<Nnew[J]]))",[],
+ " Tmp=max(c(Tmp,Nnew[J-1]))+1",[],
+ " Out=c(Out,Dt[Tmp:Nnew[J]])",[],
+ "}",[],
+ "Tmp=max(c(Nsame[-1],Nnew[-1]))+1",[],
+ "Out=c(Out,Dt[Tmp:length(Dt)])",[],
+ "writeLines(Out,'"+fout+"',sep='\n')",[] //180412(2lines removed)
+ ];
+ CalcbyR("",cmdL,append(options,"Cat=n"));//180412
+ wait(1000);
+ Changework(dirtop);//17.04.10
+ tmp=replace(fout,".tex","");
+ if(iswindows(),
+ Makebat(tmp,"tv");
+ ,
+ Makeshell(tmp,"tv");
+ );
+ kc();
+ Changework(dirworkorg);//17.04.10
+);
+
+Example(exorg):=Example(exorg,"");
+Example(exorg,suborg):=(
+//help:Example("Mxfun","diff");
+ regional(ex,tmp,tmp1,tmp2);
+ ex=replace(exorg,"'",Dq);
+ sub=replace(suborg,"'",Dq);
+ setdirectory(Dirlib);
+ tmp=load("examples.txt");
+ setdirectory(Dirwork);
+ tmp=tokenize(tmp,"//");
+ tmp=tmp_(1..(length(tmp)-1));
+ tmp1=select(tmp,substring(#,0,length(ex))==ex);
+ tmp1=sort(tmp1);
+ if(length(sub)>0,
+ tmp1=select(tmp1,indexof(#,sub)>0);
+ );
+ forall(tmp1,
+ if((indexof(#,"##")>0) % (indexof(#,"~#")>0),
+ tmp=indexof(#,",");
+ println(substring(#,tmp,length(#)));
+ ,
+ println(#);
+ );
+ );
+);
+
+BBdata():=Bbdata(BBTarget,0);
+BBdata(fname):=Bbdata(fname,0); // 16.04.09
+BBdata(fname,optionorg):=(
+//help:BBdata(filename);
+//help:BBdata(options=0(automatic),1(make),"w=","h=");
+ regional(fout,flg,path,file,kcfile,options,eqL,reL,stL,
+ waiting,addop,tmp,tmp1,tmp2);
+ path="";
+ file=fname;
+ flg=0;
+ waiting=2;
+ forall(reverse(1..length(fname)),
+ if(flg==0,
+ tmp=substring(fname,#-1,#);
+ if(tmp=="/" % tmp=="\", // 14.01.15
+ path=substring(fname,0,#-1);
+ file=substring(fname,#,length(fname));
+ flg=1;
+ );
+ );
+ );
+ if(path=="",path=Dirwork);//16.10.05
+ if(indexof(file,".")==0,file=file+".pdf");
+ if(islist(optionorg),options=optionorg,options=[optionorg]);
+ tmp=divoptions(options);
+ eqL=tmp_5;
+ reL=tmp_6;
+ stL=tmp_7;
+ flg=0;
+ addop="";
+ if(length(reL)>0,
+ tmp=reL_1;
+ if(tmp==1,flg=1);
+ );
+ forall(stL,
+ tmp=Toupper(substring(#,0,1));
+ if(tmp=="M",flg=1);
+ );
+ forall(eqL,
+ tmp=indexof(#,"=");
+ tmp1=Toupper(substring(#,0,2));
+ tmp2=substring(#,tmp,length(#));
+ if(tmp1=="W=",
+ addop=addop+",width="+tmp2;
+ options=remove(options,[#]);
+ );
+ if(tmp1=="H=",
+ addop=addop+",height="+tmp2;
+ options=remove(options,[#]);
+ );
+ );
+ tmp=indexof(file,".");
+ tmp1=substring(file,0,tmp-1);
+ fout=tmp1+".txt";
+ if(iswindows(),
+ kcfile="kc.bat";
+ ,
+ kcfile="kc.sh";
+ );
+ if(flg==0,
+ tmp=load(fout); //
+ if(length(tmp)==0,
+ flg=1;
+ ,
+ tmp=tokenize(tmp,"%%");
+ tmp=tmp_2;
+ tmp1=indexof(tmp,":");
+ tmp=substring(tmp,tmp1,length(tmp));
+ tmp=Removespace(tmp);
+ if(tmp!=file,flg=1);
+ );
+ );
+ if(length(path)==0,
+ path=Dirwork;
+ );
+ if(flg==1,
+ setdirectory(path);
+ tmp=load(file);
+ setdirectory(Dirwork);
+ if(length(tmp)==0,
+ println(" => "+file+" not exists");
+ flg=-1;
+ );
+ );
+ if(flg==1,
+ SCEOUTPUT = openfile(kcfile);
+ if(!iswindows(),
+ println(SCEOUTPUT,"#!/bin/sh");
+ );
+ println(SCEOUTPUT,"cd "+Dq+path+Dq);
+ tmp=replace(PathT,"pdflatex","extractbb"); //16.11.22
+ tmp=replace(tmp,"pdftex","extractbb"); //16.11.22
+ tmp=replace(tmp,"xelatex","extractbb");
+ tmp=replace(tmp,"uplatex","extractbb"); //17.09.20
+ tmp=replace(tmp,"platex","extractbb");
+ tmp=replace(tmp,"latex","extractbb");
+ tmp=tmp+" -O "+file;
+ if(iswindows(),
+ tmp=tmp+" > "+Dirwork+"\"+fout;
+ ,
+ tmp=tmp+" > "+Dirwork+"/"+fout;
+ );
+ println(SCEOUTPUT,tmp);
+ println(SCEOUTPUT,"exit 0");
+ closefile(SCEOUTPUT);
+ kc(Dirwork+"/"+kcfile,Mackc+Dirlib,Fnametex); // 16.06.07
+ );
+ if(flg>=0,
+ tmp1=0;
+ repeat(floor(waiting*1000/WaitUnit),
+ if(tmp1==0,
+ wait(10);
+ tmp=load(fout);
+ if(indexof(tmp,"CreationDate")>0,
+ tmp1=1;
+ );
+ );
+ );
+ if(length(tmp)==0,
+ println(fout+" not generated. Maybe "+kcfile+" not run.");
+ ,
+ tmp=tokenize(tmp,"%%");
+ tmp=select(tmp,indexof(#,"Bounding")>0);
+ tmp=tmp_2; //
+ tmp1=indexof(tmp,":");
+ tmp=substring(tmp,tmp1,length(tmp));
+ tmp=removespace(tmp);
+ tmp=tokenize(tmp," ");
+ tmp1="";
+ forall(tmp,
+ tmp1=tmp1+Sprintf(#,2)+" ";
+ );
+ tmp1=removespace(tmp1)+addop;
+ tmp2="\includegraphics[bb="+tmp1+"]{"+file+"}";
+ println(tmp2);
+ );
+ );
+// setdirectory(Dirwork);
+ tmp2; // 16.04.25
+);
+
+//help:end();
+
diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibmvr.cs b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibmvr.cs
index a538afd1330..e2d256595ef 100755
--- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibmvr.cs
+++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibmvr.cs
@@ -14,7 +14,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>
//
-println("ketcindymv(20180614) loaded");
+println("ketcindymv(20180615) loaded");
//help:start();
@@ -72,7 +72,9 @@ Setpara(pathorg,fstr,sL,options,optionsanim):=(
gtmp=GLISTback;
tmp1=select(1..(length(gtmp)),indexof(gtmp_#,"ReadOutData")>0); //180614from
tmp2=[];tmp3=[];
- forall(tmp1,nn,
+ if(length(tmp1)>0, //180615
+ nn=tmp1_(length(tmp1));
+// forall(tmp1,nn,
tmp2=append(tmp2,nn);
flg=0;
tmp=min([nn+40,length(gtmp)]);
diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutlogr.txt b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutlogr.txt
index 77e7c8c8656..9c96a1c1f82 100644
--- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutlogr.txt
+++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutlogr.txt
@@ -1,3 +1,6 @@
+// 20180615
+// CalcbyC debugged ( flg block changed)
+// kcC changed ( 1000 =>10000)
// 20180612
// Hatchdata renamed to HatchdataR
// kcC changed ( "gcc -lm" )
diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutr.cs b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutr.cs
index ef6f151f6b3..5fbe676f93e 100644
--- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutr.cs
+++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutr.cs
@@ -5383,7 +5383,7 @@ kcC(cname):=(
println(SCEOUTPUT,tmp);
println(SCEOUTPUT,"cd "+Dq+Dirwork+Dq);
println(SCEOUTPUT,"%path%\main.exe");
- println(SCEOUTPUT,"echo //// > %path%\"+rfile);
+ println(SCEOUTPUT,"echo ////> %path%\"+rfile);
println(SCEOUTPUT,"exit");
closefile(SCEOUTPUT);
tmp=cname+".txt";
@@ -5395,7 +5395,7 @@ kcC(cname):=(
tmp=PathC+" -lm "+cname+".c -o main.out"; //180612
println(SCEOUTPUT,tmp);
println(SCEOUTPUT,"./main.out");
- println(SCEOUTPUT,"echo //// >"+rfile);
+ println(SCEOUTPUT,"echo ////>"+rfile);
println(SCEOUTPUT,"exit 0");
closefile(SCEOUTPUT);
tmp=cname+".txt";
@@ -5405,7 +5405,7 @@ kcC(cname):=(
println(SCEOUTPUT,"");
closefile(SCEOUTPUT);
flg=0;
- repeat(floor(10*1000/WaitUnit),
+ repeat(floor(10*10000/WaitUnit), //180615
if(flg==0,
tmp1=load(wfile);
if(substring(tmp1,0,4)=="////",
@@ -5415,9 +5415,9 @@ kcC(cname):=(
);
);
if(flg==0,
- println("Ckc not completed");
+ println("kcC not completed");
,
- println("Ckc succeeded");
+ println("kcC succeeded");
);
);
@@ -5798,18 +5798,18 @@ CalcbyC(name,path,cmd,optionorg):=(
);
);
);
- if(flg<=0,
- ErrFlag=1;
- if(flg==-1,
- println(wfile+" does not exist");
- ,
- if(flg==0,
- tmp="("+text(waiting)+" s )";
- println(wfile+" not generated "+tmp);
- );
+ );
+ if(flg<=0, //180615from
+ ErrFlag=1;
+ if(flg==-1,
+ println(wfile+" does not exist");
+ ,
+ if(flg==0,
+ tmp="("+text(waiting)+" s )";
+ println(wfile+" not generated "+tmp);
);
);
- );
+ );//180615to
);
ExeccmdC(nm):=ExeccmdC(nm,[],["do"]); //180531
diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketpicR/ketpic5_2_4_rep2e.r b/Master/texmf-dist/scripts/ketcindy/ketlib/ketpicR/ketpic5_2_4_rep2e.r
deleted file mode 100644
index 370339480ae..00000000000
--- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketpicR/ketpic5_2_4_rep2e.r
+++ /dev/null
@@ -1,580 +0,0 @@
-# Copyright (C) 2014 Setsuo Takato, KETCindy Japan project team
-#
-#This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>
-
-
-#########################################
-
-ThisVersion<- "2ev5_2_3(17.10.28)"
-
-# 2017.10.28
-# Drwpt debugged ( Flattenlist )
-# 2017.10.07
-#
-
-#############################################
-
-Dottedline<- function(...)
-{
- varargin <- list(...)
- Nall <- length(varargin)
- Nagasa <- 0.1
- Ookisa <- PenThick*2 #17.10.07
- I <- Nall
- Tmp <- varargin[[I]]
- while (mode(Tmp)=="numeric" && length(Tmp)==1 ) {
- I <- I-1
- Tmp <- varargin[[I]]
- }
- if (I==Nall-1) {
- Nagasa<-Nagasa*varargin[[Nall]]
- Nall <- Nall-1
- }
- if (I==Nall-2) {
- Nagasa <- Nagasa*varargin[[Nall-1]]
- Ookisa <- round(Ookisa*varargin[[Nall]])
- Nall <- Nall-2
- }
- Nagasa <- 1000/2.54/MilliIn*Nagasa
- Ra=Ookisa/MilliIn
- for (N in 1:Nall) {
- Pdata <- varargin[[N]]
- if (mode(Pdata)=="numeric") {
- Pdata <- list(Pdata)
- }
- for (II in 1:length(Pdata)) {
- Clist <- MakeCurves(Op(II,Pdata))
- DinM <- Dataindex(Clist)
- Mojisu=0
- for (n in Looprange(1,Nrow(DinM))) {
- Tmp <- DinM[n,]
- Data <- Clist[Tmp[1]:Tmp[2],]
- Len <- 0
- Lenlist <- c(0)
- for (I in Looprange(2,Nrow(Data))) {
- Len <- Len+Norm(Data[I,]-Data[I-1,])
- Lenlist <- c(Lenlist,Len)
- }
- Lenall <- Lenlist[length(Lenlist)]
- if (Lenall==0) {
- next
- }
- Naga <- Nagasa
- Nten <- round(Lenall/Naga)+1
- if (Nten > 1) {
- Seg <- Lenall/(Nten-1)
- }
- else {
- Seg <- Lenall
- }
- Eps <- 10^(-6)*Seg
- PPd<-c()
- Hajime <- 1
- for (I in Looprange(0,Nten-1)) {
- Len <- Seg*I
- if (I>0) {
- J <- Hajime
- while( Len>=Lenlist[J]+Eps) {
- J <- J+1
- }
- Hajime <- J-1
- }
- T <- (Len-Lenlist[Hajime])/
- (Lenlist[Hajime+1]-Lenlist[Hajime])
- P <- Data[Hajime,]+T*(Data[Hajime+1,]-Data[Hajime,])
- PPd<-Appendrow(PPd,P)
- if (I==Nten-1) {
- if (Norm(P-Data[1,])<Eps) {
- next
- }
- }
- }
- for (I in Looprange(1,Nrow(PPd))){
- P<- Op(I,PPd)
- if (Nrow(PPd)==1){
- V<- c(1,0)
- }
- else if (I==1){
- Tmp<- Op(I+1,PPd)-P
- V<- 1/Norm(Tmp)*Tmp
- }
- else if (I==Nrow(PPd)){
- Tmp<- P-Op(I-1,PPd)
- V<- 1/Norm(Tmp)*Tmp
- }
- else{
- Tmp1<- Op(I+1,PPd)-P
- Tmp2<- P-Op(I-1,PPd)
- Tmp3<-1/Norm(Tmp1)*Tmp1+1/Norm(Tmp2)*Tmp2
- V<- 1/Norm(Tmp3)*Tmp3
- }
- X=sprintf('%5.5f',P[1])
- Y=sprintf('%5.5f',P[2])
- Str=paste('\\put(',X,',',Y,'){\\circle*{',sprintf('%6.6f',Ra),'}}',sep="")
- cat(Str,file=Wfile,append=TRUE)
- Mojisu=Mojisu+nchar(Str)
- if(Mojisu>80){
- cat("\n",file=Wfile,append=TRUE)
- Mojisu=0
- }
- }
- }
- }
- if(Mojisu>0){
- cat("\n",file=Wfile,append=TRUE)
- }
- }
- Tmp<-PenThick/PenThickInit
- Setpen(Tmp)
-}
-
-
-###########################################
-
-Drwline<-function(...)
-{
- varargin<-list(...)
- Nall<-length(varargin)
- Thick<-0
- Tmp<-varargin[[Nall]]
- if (mode(Tmp)=="numeric" && length(Tmp)==1){
- Setpen(Tmp)
- Nall<-Nall-1
- }
- for (N in 1:Nall){
- Pdata<-varargin[[N]]
- if (length(Pdata)==0) next
- if (mode(Pdata)!="list") Pdata<-list(Pdata)
- while(Mixtype(Pdata)==3){
- Tmp1<- list()
- for(II in Looprange(1,length(Pdata))){
- Tmp1<- Mixjoin(Tmp1,Pdata[[II]])
- }
- Pdata<- Tmp1
- }
- for (II in Looprange(1,length(Pdata))){
- Clist<-MakeCurves(Pdata[[II]])
- DinM<-Dataindex(Clist)
- for (n in Looprange(1,Nrow(DinM))){
- Tmp<-DinM[n,]
- Data<-Clist[Tmp[1]:Tmp[2],]
- Mojisu<-0
- for (I in Looprange(1,Nrow(Data))){
- Tmp<-Data[I,]
- X=sprintf('%5.5f',Tmp[1])
- Y=sprintf('%5.5f',Tmp[2])
- Pt=paste('(',X,',',Y,')',sep="")
- if(I==1){
- Str=paste('\\polyline',Pt,sep="")
- }else{
- Str=Pt
- }
- cat(Str,file=Wfile,append=TRUE)
- Mojisu<-Mojisu+nchar(Str)
- if (Mojisu>80){
- cat("%\n",file=Wfile,append=TRUE)
- Mojisu<-0
- }
- }
- if (Mojisu!=0){
- cat("%\n",file=Wfile,append=TRUE)
- }
- cat("%\n",file=Wfile,append=TRUE)
- }
- }
- }
- if (Thick>0){
- Tmp<-PenThick/PenThickInit
- Setpen(Tmp)
- }
-}
-
-###########################################
-
-Drwpt<-function(...)
-{
- varargin<-list(...)
- Nargs<-length(varargin)
- All=Nargs
- if (TenSize>TenSizeInit){
- N<- round(6*sqrt(TenSize/TenSizeInit))
- }
- else{
- N<-4
- }
- Tmp<- varargin[[All]]
- Iro=c(0,0,0,1)
- Iroflg=0
- if(is.character(Tmp)){
- Iro=Ratiocmyk(Tmp)
- Iroflg=1
- All=All-1
- }
- Tmp<- varargin[[All]]
- if (mode(Tmp)=="numeric"){
- if (length(Tmp)>1){
- Kosa<- 1; All<- Nargs
- }
- else{
- Kosa<- Tmp; All<- All-1
- }
- }
- else if (mode(Tmp)=="list"){
- Kosa<- 1; All<- Nargs
- }
- Ra=TenSize*1000/2.54/MilliIn
- if(Iroflg>0){
- Str='{\\color[cmyk]{'
- for(J in 1:4){
- Str=paste(Str,as.character(Kosa*Iro[J]),sep="")
- if(J<4){
- Str=paste(Str,',',sep="")
- }
- }
- Str=paste(Str,'}%',sep="")
- cat(Str,file=Wfile,append=TRUE)
- }
-
-# CL<-c()
-# for (J in 0:N){
-# Tmp<- TenSize*0.5*1000/2.54/MilliIn
-# Tmp<- Tmp*c(cos(pi/4+J*2*pi/N),sin(pi/4+J*2*pi/N))
-# CL<- append(CL,Tmp)
-# }
-# CL<- matrix(CL,nrow=2)
-# CL<- t(CL)
- Mojisu=0
- for (II in Looprange(1,All)){
- MS<- varargin[[II]]
- MS=Flattenlist(MS) #17.10.28
- if (mode(MS)=="numeric"){
- MS<- list(MS)
- }
- for (I in Looprange(1,length(MS))){
- P<- MS[[I]]
- if (InWindow(P)!="i") next
- P<- Doscaling(P)
- X=sprintf('%5.5f',P[1])
- Y=sprintf('%5.5f',P[2])
- Str=paste('\\put(',X,',',Y,'){\\circle*{',sprintf('%6.6f',Ra),'}}',sep="")
- cat(Str,file=Wfile,append=TRUE)
- Mojisu=Mojisu+nchar(Str)
- if(Mojisu>80){
- cat("\n",file=Wfile,append=TRUE)
- Mojisu=0
- }
- }
- }
- Str="%"
- if(Iroflg>0){
- Str='}%'
- }
- if(Mojisu>0){
- Str=paste('\n',Str,'\n',sep="")
- }else{
- Fmt=paste(Str,'\n',sep="")
- }
- cat(Str,file=Wfile,append=TRUE)
-}
-
-# PL<-c()
-# for (J in 0:N){
-# PL<- c(PL,P+CL[J+1,])
-# }
-# PL<-matrix(PL,nrow=2)
-# PL<-t(PL)
-# Mojisu<-0
-# for (J in 1:Nrow(PL)){
-# Q<- PL[J,]
-# X<- as.character(round(MilliIn*Q[1]))
-# Y<- as.character(-round(MilliIn*Q[2]))
-# Str<- paste("\\special{pa ",X," ",Y,"}",sep="")
-# cat(Str,file=Wfile,append=TRUE)
-# Mojisu<- Mojisu+nchar(Str)
-# if (Mojisu>80){
-# cat("#\n",file=Wfile,append=TRUE)
-# }
-# Mojisu=0
-# }
-# Str1<- paste("\\special{sh ",as.character(Kosa),"}",sep="")
-# Str2<- "\\special{fp}%\n"
-# cat(Str1,file=Wfile,append=TRUE)
-# cat(Str2,file=Wfile,append=TRUE)
-# }
-# }
-#}
-
-######################################
-
-Makehasen<- function(Figdata,Sen,Gap,Ptn)
-{
- Eps<- 10.0^(-6)
- Clist<- MakeCurves(Figdata)
- DinM<- Dataindex(Clist)
- for (N in Looprange(1,Nrow(DinM))){
- Tmp<- DinM[N,]
- Data<- Clist[Tmp[1]:Tmp[2],]
- Dtall<- Nrow(Data)
- Len<- 0
- Lenlist<- c(0)
- for (I in Looprange(2,Dtall)){
- Len<- Len+Norm(Data[I,]-Data[I-1,])
- Lenlist<- c(Lenlist,Len)
- }
- Lenall<- Lenlist[Dtall]
- if (Lenall==0){
- next
- }
- Kari<- (Sen+Gap)*0.1
- Naga<- Sen*0.1
- Tobi<- Gap*0.1
- if (Norm(Data[1,]-Data[Dtall,])<Eps){
- Nsen<- max(ceiling(Lenall/Kari),3)
- SegUnit<- Lenall/Nsen
- Naga<- SegUnit*Sen/(Sen+Gap)
- Tobi<- SegUnit*Gap/(Sen+Gap)
- SegList<- c(seq(0,(Nsen-1)*SegUnit,by=SegUnit))
- }
- else{
- if (Ptn==0){
- Nsen<- max(ceiling((Lenall+Tobi)/Kari),3)
- SegUnit<- Lenall*(Sen+Gap)/(Nsen*Sen+(Nsen-1)*Gap)
- Naga<- SegUnit*Sen/(Sen+Gap)
- Tobi<- SegUnit*Gap/(Sen+Gap)
- SegList<- c(seq(0,(Nsen-1)*SegUnit,by=SegUnit))
- }
- else{
- Nsen<- max(ceiling((Lenall+Naga)/Kari),3)
- SegUnit<- Lenall*(Sen+Gap)/((Nsen-1)*Sen+Nsen*Gap)
- Naga<- SegUnit*Sen/(Sen+Gap)
- Tobi<- SegUnit*Gap/(Sen+Gap)
- SegList<- c(seq(Tobi,Tobi+(Nsen-2)*SegUnit,by=SegUnit))
- }
- }
- Hajime<- 1; Owari<- 1
- Mojisu<- 0
- for (I in Looprange(1,length(SegList))){
- Len<- SegList[I]
- J<- Owari
- while (Len>=Lenlist[J]-Eps){
- if (J==Dtall){
- break
- }
- J<- J+1
- }
- Hajime<- J-1
- J<- Hajime
- while (Len+Naga>Lenlist[J]-Eps){
- if (J==Dtall){
- break
- }
- J<- J+1
- }
- Owari<- J-1
- T<- (Len-Lenlist[Hajime])
- T<- T/(Lenlist[Hajime+1]-Lenlist[Hajime])
- P<- Data[Hajime,]+T*(Data[Hajime+1,]-Data[Hajime,])
- X0=sprintf('%5.5f',P[1])
- Y0=sprintf('%5.5f',P[2])
- Pt0=paste('(',X0,',',Y0,')',sep="")
- Str=paste('\\polyline',Pt0,sep="")
- cat(Str,file=Wfile,append=TRUE)
- Mojisu<- Mojisu+nchar(Str)
- for (J in Looprange(Hajime+1,Owari)){
- P=Data[J,]
- X=sprintf('%5.5f',P[1])
- Y=sprintf('%5.5f',P[2])
- Pt=paste('(',X,',',Y,')',sep="")
- Str=Pt
- cat(Str,file=Wfile,append=TRUE)
- Pt0=Pt
- Mojisu=Mojisu+nchar(Str)
- }
- T<- (Len+Naga-Lenlist[Owari])
- T<- T/(Lenlist[Owari+1]-Lenlist[Owari])
- P<- Data[Owari,]+T*(Data[Owari+1,]-Data[Owari,])
- X=sprintf('%5.5f',P[1])
- Y=sprintf('%5.5f',P[2])
- Pt=paste('(',X,',',Y,')',sep="")
- Str=Pt
- cat(Str,file=Wfile,append=TRUE)
- Mojisu<- Mojisu+nchar(Str)
- if (Mojisu>80){
- cat("%\n",file=Wfile,append=TRUE)
- Mojisu<- 0
- }
- }
- }
- cat("%\n%\n",file=Wfile,append=TRUE);
-}
-
-#########################################
-
-Beginpicture<-function(ul)
-{ ## Scaling is implemented
- Tmp<- Doscaling(c(XMIN,YMIN))
- Xm<- Tmp[1]
- Ym<- Tmp[2]
- Tmp<- Doscaling(c(XMAX,YMAX))
- XM<- Tmp[1]
- YM<- Tmp[2]
- Dx<- XM-Xm
- Dy<- YM-Ym
- Sym<-".0123456789 +-*/"
- SL<-Sym
- OL<-"+-*/"
- if (ul!=""){
- ULEN<<-ul;
- }
- Is<-1;
- VL<-"";
- Ucode<-ULEN
- for (I in Looprange(1,nchar(Ucode))){
- C<-substring(Ucode,I,I);
- if (length(grep(C,SL,fixed=TRUE))>0){
- if (length(grep(C,OL,fixed=TRUE))>0){
- Tmp<-substring(Ucode,Is,I-1);
- Str<-paste(VL,Tmp,C,sep="")
- VL<-Str
- Is<-I+1;
- }
- }
- else{
- Unit<-substring(Ucode,I,I+1);
- Str<-substring(Ucode,Is,I-1);
- VL<-paste(VL,Str,sep="")
- break;
- }
- }
- Valu<-eval(parse(text=VL));
- Str<-as.character(Valu);
- ULEN<<- paste(Str,Unit,sep="");
- if (Unit=="cm") MilliIn<<-1000/2.54*Valu
- if (Unit=="mm") MilliIn<<-1000/2.54*Valu/10
- if (Unit=="in") MilliIn<<-1000*Valu
- if (Unit=="pt") MilliIn<<-1000/72.27*Valu
- if (Unit=="pc") MilliIn<<-1000/6.022*Valu
- if (Unit=="bp") MilliIn<<-1000/72*Valu
- if (Unit=="dd2") MilliIn<<-1000/1238/1157/72.27*Valu
- if (Unit=="cc") MilliIn<<-1000/1238/1157/72.27*12*Valu;
- if (Unit=="sp") MilliIn<<-1000/72.27/65536*Valu/10
- MARKLEN<<- MARKLENNow*1000/2.54/MilliIn;
- Str<-paste("{\\unitlength=",ULEN,"%\n",sep="");
- cat(Str,file=Wfile,append=TRUE);
- cat("\\begin{picture}%\n",file=Wfile,append=TRUE);
- Str<-"(";
- Tmp<-as.character(round(Dx,digits=6));
- Str<-paste(Str,Tmp,",",sep="");
- Tmp<-as.character(round(Dy,digits=6));
- Str<-paste(Str,Tmp,")(",sep="");
- Tmp<-as.character(round(Xm,digits=6));
- Str<-paste(Str,Tmp,",",sep="");
- Tmp<-as.character(round(Ym,digits=6));
- Str<-paste(Str,Tmp,")%\n",sep="");
- cat(Str,file=Wfile,append=TRUE);
- Str=paste('\\linethickness{',as.character(PenThickInit/1000),'in}%',sep="")
- cat(Str,file=Wfile,append=TRUE)
- cat("%\n",file=Wfile,append=TRUE)
-}
-
-#########################################
-
-Setpen<-function(Width)
-{
- PenThick<<-round(PenThickInit*Width)
- Str=paste('\\linethickness{',as.character(PenThick/1000),'in}%',sep="")
- cat(Str,file=Wfile,append=TRUE)
- cat("%\n",file=Wfile,append=TRUE)
-}
-
-#########################################
-
-Shade<- function(...)
-{ ## Scaling is implemented
- varargin<- list(...)
- Nargs<- length(varargin)
- Iroflg=0
- if(Nargs>1){
- Iro=varargin[[Nargs]]
- if(is.character(Iro)){
- Iroflg=1
- if(length(grep("{",Iro,fixed=TRUE))>0){
- Str=paste("{\\color",Iro,sep="")
- }
- else{
- Str=paste("{\\color{",Iro,"}",sep="")
- }
- }
- else{
- if(length(Iro)==1){
- Kosa=Iro
- }
- else{
- Iroflg=1
- if(length(Iro)==4){
- Str="{\\color[cmyk]{"
- }
- else{
- if(length(Iro)==3){
- Str="{\\color[rgb]{"
- }
- }
- for(J in 1:length(Iro)){
- Str=paste(Str,as.character(Iro[J]),sep="")
- if(J<length(Iro)){
- Str=paste(Str,",")
- }
- }
- Str=paste(Str,"}")
- }
- }
- if(Iroflg==1){
- Str=paste(Str,"%\n",sep="")
- cat(Str,file=Wfile,append=TRUE)
- }
- }
- Mojisu=0
- Tmp=varargin[[1]]
- Data=Kyoukai(Tmp)
- for (I in Looprange(1, length(Data))){
- PL<- Op(I,Data)
- Mojisu<- 0
- for (J in 1:Nrow(PL)){
- P<- Doscaling(Op(J,PL))
- X=sprintf('%5.5f',P[1])
- Y=sprintf('%5.5f',P[2])
- Pt=paste('(',X,',',Y,')',sep="")
- if(J==1){
- Str=paste('\\polygon*',Pt,sep="")
- }else{
- Str=Pt
- }
- cat(Str,file=Wfile,append=TRUE)
- Mojisu<- Mojisu+nchar(Str)
- if (Mojisu>80){
- cat("%\n",file=Wfile,append=TRUE)
- Mojisu<- 0
- }
- }
- }
- if(Iroflg==1){
- Str='}%'
- if(Mojisu>0){
- Str=paste('\n',Str,'\n',sep="")
- }else{
- Str=paste(Str,'\n')
- }
- cat(Str,file=Wfile,append=TRUE)
- }
-}
diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent.r b/Master/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent.r
index 84bfd5d0553..840f076cf8e 100755
--- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent.r
+++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent.r
@@ -16,10 +16,12 @@
#########################################
-ThisVersion<- "KeTpic for R v5_2_4(20180603)"
+ThisVersion<- "KeTpic for R v5_2_4(20180615)"
print(ThisVersion)
+# 20180615
+# Assign changed (Replace function added)
# 20180603
# Setcolor debugged (length(Iro))
# Scaledata,Reflectdata,Rotatedata,Translatedata changed ( for point list)
@@ -1154,8 +1156,29 @@ Arrowline<- function(...)
#########################################
-Assign<- function(...)
-{
+Assign<- function(...){
+ Replace=function (vname,rep,str){#180615from
+ opv=c("+","-","*","/","(",")","=","<",">",""," ")
+ out=""
+ start=1
+ Tmp=gregexpr(vname,str,fixed=TRUE)
+ Vp=Op(1,Tmp)
+ if(min(Vp)>0){
+ for(j in Vp){
+ if(j==1){bf=""}else{bf=substring(str,j-1,j-1)}
+ if(j==nchar(str)){af=""}else{af=substring(str,j+1,j+1)}
+ tmp1=length(intersect(bf,opv))
+ tmp2=length(intersect(af,opv))
+ tmp=substring(str,start,j)
+ if((tmp1>0)&&(tmp2>0)){
+ tmp=gsub(vname,rep,tmp,fixed=TRUE)
+ }
+ out=paste(out,tmp,sep='')
+ start=j+1
+ }
+ }
+ out=paste(out,substring(str,start,nchar(str)),sep='')
+ }#180615to
varargin<- list(...)
Nargs<- length(varargin)
if(Nargs==0){
@@ -1251,7 +1274,7 @@ Assign<- function(...)
else{
Tmp1<- Val[K]
}
- Fnstr<- gsub(Tmp,Tmp1,Fnstr,fixed=TRUE)
+ Fnstr<- Replace(Tmp,Tmp1,Fnstr)#180615
}
}
else{
@@ -1264,7 +1287,7 @@ Assign<- function(...)
else{
Tmp1<- Val[J,K]
}
- Fnstr<- gsub(Tmp,Tmp1,Fnstr,fixed=TRUE)
+ Fnstr<- Replace(Tmp,Tmp1,Fnstr)#180615
}
}
}
@@ -1298,7 +1321,7 @@ Assign<- function(...)
if(mode(Val)=="list"){
Tmp1<- Makeliststr(Val)
}
- Fnstr<- gsub(Vname,Tmp1,Fnstr,fixed=TRUE) # 10.11.20
+ Fnstr<- Replace(Vname,Tmp1,Fnstr) #180615
}
return(Fnstr)
}
diff --git a/Master/texmf-dist/scripts/ketcindy/ketoutset.txt b/Master/texmf-dist/scripts/ketcindy/ketoutset.txt
index 8153d6e98c8..0b42ee4f6bb 100644
--- a/Master/texmf-dist/scripts/ketcindy/ketoutset.txt
+++ b/Master/texmf-dist/scripts/ketcindy/ketoutset.txt
@@ -1,54 +1,54 @@
-if(!isstring(PathThead),
- PathThead="";
-);
-PathT=PathThead+"uplatex";
-if(iswindows(),
- PathS="C:\Program Files\scilab-6.0.0\bin\scilex";
- PathC="C:\MinGW\bin\gcc.exe";
- Pathpdf="C:\Program Files\SumatraPDF\SumatraPDF.exe";
- PathR="C:\Program Files\R\R-3.4.2\bin";
- PathA="C:\Program Files\asir\bin\asir";
- PathM="C:\maxima-5.37.3\bin\maxima.bat";
- PathV3="C:\Program Files\VCG\MeshLab\meshlab";
- PathF="C:\cygwin\bin";
- PathAd="C:\Program Files\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe";
-);
-if(ismacosx(),
- PathS="/Applications/scilab-6.0.0.app/Contents/MacOS/bin/scilab";
- Pathpdf="preview";
- PathC="gcc";
- PathR="/Library/Frameworks/R.framework/Versions/Current/Resources/bin/R";
- PathA="/Applications/cfep.app/OpenXM/rc/asir";
- PathM="/Applications/Maxima.app/Contents/Resources/maxima.sh";
- PathV3="/Applications/meshlab.app/Contents/MacOS/MeshLab";
- PathF="/Applications/FriCAS.app/Contents/Resources/bin/fricas";
- PathAd="/Applications/Adobe Acrobat Reader DC.app/Contents/MacOS/AdobeReader";
- Mackc="sh";
-);
-if(islinux(),
- PathS="scilab";
- Pathpdf="evince";
- PathC="gcc";
- PathR="R";
- PathA="asir";
- PathM="maxima";
- PathV3="Meshlab";
- PathF="fricas";
- PathAd="acroread";
-);
-
-if(iswindows(), //180420from
- Changesetting([gethome(), gethome()+"\Desktop","C:"]);
-,
- Changesetting([gethome(),gethome()+"/Desktop"]);
-);//180420to
-
-if(indexof(PathT,"platex")>0,
- Helplist(["+","+3d","+mv"],"helpJ");
-,
- Helplist(["+","+3d","+mv"],"helpE");
-);
-
-setdirectory(Dircdy);
-
-
+if(!isstring(PathThead),
+ PathThead="";
+);
+PathT=PathThead+"uplatex";
+if(iswindows(),
+ PathS="C:\Program Files\scilab-6.0.0\bin\scilex";
+ PathC="C:\MinGW\bin\gcc.exe";
+ Pathpdf="C:\Program Files\SumatraPDF\SumatraPDF.exe";
+ PathR="C:\Program Files\R\R-3.4.2\bin";
+ PathA="C:\Program Files\asir\bin\asir";
+ PathM="C:\maxima-5.37.3\bin\maxima.bat";
+ PathV3="C:\Program Files\VCG\MeshLab\meshlab";
+ PathF="C:\cygwin\bin";
+ PathAd="C:\Program Files\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe";
+);
+if(ismacosx(),
+ PathS="/Applications/scilab-6.0.0.app/Contents/MacOS/bin/scilab";
+ Pathpdf="preview";
+ PathC="gcc";
+ PathR="/Library/Frameworks/R.framework/Versions/Current/Resources/bin/R";
+ PathA="/Applications/cfep.app/OpenXM/rc/asir";
+ PathM="/Applications/Maxima.app/Contents/Resources/maxima.sh";
+ PathV3="/Applications/meshlab.app/Contents/MacOS/MeshLab";
+ PathF="/Applications/FriCAS.app/Contents/Resources/bin/fricas";
+ PathAd="/Applications/Adobe Acrobat Reader DC.app/Contents/MacOS/AdobeReader";
+ Mackc="sh";
+);
+if(islinux(),
+ PathS="scilab";
+ Pathpdf="evince";
+ PathC="gcc";
+ PathR="R";
+ PathA="asir";
+ PathM="maxima";
+ PathV3="Meshlab";
+ PathF="fricas";
+ PathAd="acroread";
+);
+
+if(iswindows(), //180420from
+ Changesetting([gethome(), gethome()+"\Desktop","C:"]);
+,
+ Changesetting([gethome(),gethome()+"/Desktop"]);
+);//180420to
+
+if(indexof(PathT,"platex")>0,
+ Helplist(["+","+3d","+mv"],"helpJ");
+,
+ Helplist(["+","+3d","+mv"],"helpE");
+);
+
+setdirectory(Dircdy);
+
+
diff --git a/Master/texmf-dist/scripts/ketcindy/setketcindy.txt b/Master/texmf-dist/scripts/ketcindy/setketcindy.txt
index 39de2543aca..66ba6a4febc 100755
--- a/Master/texmf-dist/scripts/ketcindy/setketcindy.txt
+++ b/Master/texmf-dist/scripts/ketcindy/setketcindy.txt
@@ -1,12 +1,12 @@
-// e:2018.02.26
-Dirlib=Dirhead+pathsep()+"ketlib";
-Libname=Dirlib+pathsep()+"ketpiccurrent";
-DirlibC=Dirhead+pathsep()+"ketlibC";
-setdirectory(Dirlib);
-import("ketcindylibbasic1r.cs");
-import("ketcindylibbasic2r.cs");
-import("ketcindyliboutr.cs");
-import("ketcindylib3dr.cs");
-import("ketcindylibmvr.cs");
-
-setdirectory(Dirhead);
+// e:2018.02.26
+Dirlib=Dirhead+pathsep()+"ketlib";
+Libname=Dirlib+pathsep()+"ketpiccurrent";
+DirlibC=Dirhead+pathsep()+"ketlibC";
+setdirectory(Dirlib);
+import("ketcindylibbasic1r.cs");
+import("ketcindylibbasic2r.cs");
+import("ketcindyliboutr.cs");
+import("ketcindylib3dr.cs");
+import("ketcindylibmvr.cs");
+
+setdirectory(Dirhead);