forked from b3m2a1/mathematica-tools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.nb
8147 lines (8090 loc) · 469 KB
/
README.nb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
(* Content-type: application/vnd.wolfram.mathematica *)
(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)
(* CreatedBy='Mathematica 11.2' *)
(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[ 158, 7]
NotebookDataLength[ 479853, 8139]
NotebookOptionsPosition[ 474941, 8057]
NotebookOutlinePosition[ 475701, 8082]
CellTagsIndexPosition[ 475658, 8079]
WindowFrame->Normal*)
(* Beginning of Notebook Content *)
Notebook[{
Cell[CellGroupData[{
Cell["Mathematica Tools", "Section",
CellChangeTimes->{{3.716756708895467*^9,
3.716756714334375*^9}},ExpressionUUID->"33a3d3e0-6bd9-4d63-9374-\
97ba267a6b83"],
Cell["\<\
This is a collection of basic Mathematica tools, generally implemented as \
one-off packages.\
\>", "Text",
CellChangeTimes->{{3.716756795483638*^9,
3.7167568124388638`*^9}},ExpressionUUID->"f18fc7d3-4dad-4116-a63d-\
64ff141d4abf"],
Cell[CellGroupData[{
Cell["NotebookTabbing", "Subsection",
CellChangeTimes->{
3.716756997860669*^9},ExpressionUUID->"bc821cb4-5408-400a-9507-\
328eb43d4a2d"],
Cell["\<\
This is a package that provides a tabbed notebook interface. Load it like so:\
\
\>", "Text",
CellChangeTimes->{{3.71675700031313*^9, 3.7167570061854143`*^9}, {
3.716757162570592*^9, 3.7167571690024548`*^9}, {3.716757214657997*^9,
3.716757215017891*^9}},ExpressionUUID->"48b91caf-60b5-4963-bc3d-\
675e365486a2"],
Cell[BoxData[
RowBox[{
RowBox[{"(*", "mathematica", "*)"}], "\n",
RowBox[{
"Get", "[",
"\"\<https://raw.githubusercontent.com/b3m2a1/mathematica-tools/master/\
NotebookTabbing.wl\>\"", "]"}]}]], "FencedCode",
CellChangeTimes->{{3.7167571707715263`*^9, 3.71675720725809*^9}, {
3.7168361995313597`*^9, 3.71683621436983*^9},
3.71687400501241*^9},ExpressionUUID->"8a218cb4-25c0-4f87-9e62-\
42e6aebabd1a"],
Cell["Here\[CloseCurlyQuote]s a sample usage:", "Text",
CellChangeTimes->{{3.716757210192225*^9,
3.7167572224014893`*^9}},ExpressionUUID->"bde01509-4c18-451d-8dd6-\
cacba5af1cb1"],
Cell[BoxData[
RowBox[{
RowBox[{"(*", "mathematica", "*)"}], "\n",
RowBox[{
RowBox[{
RowBox[{"test1", "=",
RowBox[{"CreateDocument", "[", "\"\<Input\>\"", "]"}]}], ";"}], "\n",
RowBox[{
RowBox[{"SetDockedTabs", "[",
RowBox[{"test1", ",", "\n", "\t",
RowBox[{"Table", "[",
RowBox[{
RowBox[{"i", "\[Rule]", "i"}], ",",
RowBox[{"{",
RowBox[{"i", ",", "3"}], "}"}]}], "]"}]}], "\n", "\t", "]"}],
";"}]}]}]], "FencedCode",
CellChangeTimes->{{3.689026618333572*^9, 3.68902669645115*^9}, {
3.689030924445793*^9, 3.689030927995075*^9}, {3.689031053056436*^9,
3.689031075229229*^9}, {3.689037517412668*^9, 3.6890375230388117`*^9},
3.689040144360825*^9, 3.689040666964189*^9, {3.68904500653959*^9,
3.689045041776277*^9}, {3.7069118624606943`*^9, 3.706911873724103*^9}, {
3.7069142718306713`*^9, 3.706914280452272*^9}, {3.7167572557874203`*^9,
3.716757259306406*^9}, {3.7168362182012167`*^9, 3.716836218674653*^9},
3.716874003148561*^9, {3.716874387685755*^9,
3.7168744115199738`*^9}},ExpressionUUID->"af154bec-9823-427a-b2e5-\
a399c82c5cf4"],
Cell[BoxData[
GraphicsBox[{{}, {InsetBox[
FormBox[
GraphicsBox[
TagBox[RasterBox[CompressedData["
1:eJztnQtsVNeZx91sU62Qol0pW620kTZKut2kJIWqVdOuurtdkFa7G6COuo3b
QEITnk3TGAJ5UrqlqGUDaQImaXgGQmJCEkOLAT/wC2ww+BEPftvY4zeGxSZ+
ptjImG/93WGG8SvYZu6c8Z3fT/olij0ej3P/55zv3nvOufcsWPbDJbdFRESs
/MuBf/zwqZdmrFjx1Cv//dcD//Fo9Mqnl0YvXvRf0c8vXrp4xXcX/MXAF9cM
OHXg9V8c+HdXV5cgIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIk7ETz/tkriDl2XBsj558J/6JeIL1yQiQtBJDhxTPbYLB47xxwPH
Wo+56dwF246ODqmtrZX8/HxJS0uTw4cPowPVY6vHWI+1HnPTuSPnSM4n7sWW
Lln7+yvy5XuoS8LNv/2Ha7JmwxVpaTWfQ7ttb2+XkpISSUpKMt63YHDVY67H
3sn9ODlHp+Y8Of2y3DOt3zdu3f/tDlkcXS6b3johB/90RA4fOowO8k8Dx3TT
mydk0bMVct+3On3H/Svf6JfE1MvG82iXjY2NkpKS4mvP6Wnp4nK5pLqqWprP
Ncv55vPoIPWY6rHVY+x/LUEz0NDQYDyP5BzJ+djc/l6v3D7Fcw3lge+2y2sb
s42Poxhcf78pW6Y+1GFlQLOwI7bXeC4DbVVVlRw5csTTb6enS9XZKuP9CwZX
PeZ67DUDmgXNhOlcknMk55/v5h29vnPpxxZWy6F482MmmlGP/bwlVb48xOxw
Tq1SWVnpO8fIz8vnnDKM1WOv9/G9edBsmM4nOUdyPrKpxy/7rqMsf7nY+DiJ
oeGyl4qtebaaDc2I6Zzeqk1NTb7zy+KiYuP9B4aGRUVFvvNNzYjpnJJztMPJ
nPMqd7fcdb+nRnlsgdv42Iih5dyF1VY2NCPVNd3G8zpRW1tbJTk52Xd+abrP
wNBSM6HZ0IxoVkznlZyjHU7WnEct6rPGoe/MbJX4g+bHRQwtNRMPDWRDM/Lo
gqvG8zpRc3JyrPaZeTyTa+A4TM3E8ePHrYycPn3aeF7JOdrhZMz50YzL1vgz
5c4+2bMn1fiYiKHpe7GpVkY0K8kZk+/+j6550HaZkJAg9XX1xvsKDE0b6hus
jGhWNDOmc0vO0Q4nU847Orrkm9/3rD9+6plK42MhhrYLBjKiWdHMaHZM53es
dnZ2SkZGhtUmCwoKjPcRGNpqRjQrmhnNjun8knO0w8mSc12D7Jl38Gc5cCDB
+DiIoa1mRLOimdm2Z/Ks/9F1eNoejx49KueazhnvHzC01YxoVjQzk2kNJznH
8TgZct7Z2SVf/57nWsqLv3IZHwNxcqhZ0czoPvuaIdM5vnnOO317B+iejKb7
BpwclpaUWpnRfbJC+VyTnOOtGOo512f26Hjzd/94mT1mcczqnNq77vNcU9Fn
AZnO8c3U51t4zzGZU4hjVbPiPdfUDJnOMTlHOwz1nP/rrKvWWPP0c2XGxz6c
XGpmNDuaIdM5vpmZmZlWGyw8U2i8T8DJpWbGWjczkCHTOSbnaJehmvP0LM+1
lL+664rExSUaH/dwcqmZ0exohjRLpvM8mrqPkba/xMREaWpsMt4f4ORSM6PZ
0QyF8p5Y5BxvxVDN+dylnvWl8xZV2zKOHTpeJVdE5PIF5r04Vc2OZkizZDrP
o5mbm+vZ6yo/cHtdNVVmy551q+SnUVESdd1frNos6YWsAXWi3r3GNUum8xzs
nO9ct9KX8aj50fLa7sNSGQLHBANvqOW8tqFbvnTHNbnti9dk97tpgR/DEvKk
rV8srlwsND6eoj1qdjRDmiXNlOlcD/XSpUu+fcMDtY9Efe4+iZozR+aM4h9S
zhrvbzCwana8+4xrpkznOig5z3t/1JzPXvymlIbAccHAGmo5X7fRc73+e/9x
MeBj19FTVfKZ3IA6xdlqhjRLminTuR5qaalnHntWVlaA2nKpbJ4/y9Nfz46W
DzOLpa6xTsqy42X1/NnXv75achvN9zkYWDVDmiXNlOlc25/zOvng+Yev5/kF
OZBdLk2Nbjl9YKOvdlmx6xPjxwQDb6jkXNeRfvVbnrXIv3k1N4BjVoZUX/yz
DIU6xdlqhjRLmqlQWqOs6+tSU1OtNldRXhGYdnz2iPz0ej+9O3vweeuFon3X
zzej5EAh+1Y4Tc2QZkkzFUprN23JuTvZl/O3MmsGfS/1tXnW13/0uyPGjwkG
3lDJeXySZ/6srisN6HN8Usuk73pt0v9Zm7R+1k+dEgb6r1HWbJnut73W19cH
fI1mffb7smR+lHXNJLv2wuDvn93vuy6+MYN7P07Tf+2mZst0vu3M+fnmCsk4
ECsxMXukYMi1wWMxCz11yq8PSlMIHBcMrKGS80ee8KxFXvCLisCOWTon5cpl
aa7Mt/47/1wPdUqYqFnSTGm2TPfbXk+dOmW1NVeBKyjtuybljet1ylI5Wn0h
KL8Tg6tmSTOl2TKd7+DnvEny42/c93lmV47x44H2aDrnldXdctuXrsntU/ol
dm+KrWOX6wJ1SrioWdJMabY0Y6b7bn1OuXc+mD5ry/a2XXpElvrmGL7DegiH
qlnyzlfVjIVHzt2yZ9UTg+fR/miruEPgeKA9ms756nWe+bMzI8/bPnZRp4SX
minNlmbMdP9dXFxstbGTJ0/a364rk+WFObOZmxImaqY0W5qx8Mi5W3YumTVk
zc+Tsj2j3PixQPs0lfO2ti75+weuWWPJhjdO2T5uUaeEl+tfP2VlSzOmWTPV
d+vcL+/91bOV9s4TqSs4KNF+/ffuTOalOF3NlHc+iMl5hsHMeVOtW+oam6Sy
IEHWete1zVkq6dzfdKymcv7+xz3WOHLv9O6gjFvUKeHnvdO6rYzFxvUY67/d
brdvvrqd7bg4YeOg88vY7Bpbfx+Gjt71NTU1NY7P+TBLD/rWAjFf3NmayPl3
/t2zFjn6xZKgjFnUKeGnZkszplkz1X8fO3bMaltFhUW2td/8j357o0aZ/YIk
cK8nrNRsacY0a47MeW2hJH60W3bsTpK6Yd+v890Hok5xtsHOeVKaZy3ynXf3
yoEDCUEZs6hTwk/NlmZMs5acHvw1yg0NDVa7SkpKknNN9tQO5YnrB+3LOXTd
JjpfzZZmTLPW2NjouJzXZL3hm28VXznk3o472TdnfCN7LzvaYOf84Z941iI/
+fPKoI1Z1Cnh6ZNPn7WyNusnwV+j7J37VfBJgT1ttzbTbz7KQB+eWyxFBS7J
y83z0yVuahfHqxnTrGVnZzs654+ufE/KvHmuzZXNzz7M+vswMlg5P5nj2YNr
yp19su/D5KCNV9Qp4em+fUetrGnmNHvB6rubm5ut9pSQkCCNDY22tNnTO38+
6nN9/N3A9XDHqxnTrGnmNHtOyrmaH/vyoPlXzz7/7KDn/az5sND4MUD7DVbO
Z0R6rqX8+Cl3UMer/EbPHvpXLlCnhJuaNc2cZi9Y/bf3uRR5eXm2tdnTu58b
U52yPZM5teGgZs37XB0n5dxrfvxbvjmzPqOiZXdKsfH/9xg87c65d43P39zd
Kx99nGh8/MLwULPmnacSu9/+eSretQ96L7Wpscl4u8bwULPmvX8fjDURZnJe
J2WFLmuP0qLCSvbKD0PtzPn/XeySe6d71vg890qR8bELw8vlLxdb2fvKN/qt
LNrVd7e3t0tKSopnT6IizvMwuGrmNHuaQc0iOUcnalfO5y7xzBGY+lCHHIo3
P25heKnPJ7z/2x1WBjWLdvXfOTk5VvtJT08P4HPYEMemZi49Ld3KoGaRnKMT
tSPn6zd79se/48t9sm1HhvExC8PT7TszrAxqFl/f0hvwvrusrMw3p7C2ptZ4
W8bwVLPnnWtYXl5OztGRBjLnf9jVaz0PLuIL12TN7/KMj1UY3v7Pb/OtLGom
39wZuFrl7FnPvs5WmynjWSNoVs2gN4+VlZXkHB3prea89VKXrFjtuY6iLo4u
Nz5GIaqaRW8uV/76irS0Trzf7ujokDNnzvjaistl9/PsEcemZtGbS82oZpWc
o9OcSM61z39nb681X1HHgdvv6JcXf+UyPjYh+vvCapfcPqXfN7dWMzueekXb
QnV1tW8uoT53vKSkxHibRfS3pLjEyqZ3zqFmdjz1CjnHyeBYct58vst3foqI
iIgYSiqmPwMiIiLiSFKnICIiYqgKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADD56JH9y/9ZIqZN
k4iIn0lRl+nPAwAAACFD36dSX18/Idt6+gLwATplW2TEQI2iPiKnqVMAAADg
Ot2u16/XCOP3XzadCcAn6JR3/eqUT2ysU3payuWD9S/L8leWy7LffCDnAlFm
AQAAgG3cSp1y36t5AfgE9tYpXc3lkhS3S1Y9/v0hn38m124AAABCna46ycnK
kiw/cwqyZHOk35g+703JKsgZ9Bq1vKU3AB/A3jrlzIa7R6mz7L12AwAAAPZR
+W6Ub0yftaXUxt9kb53SkLxOZsyYIZGRkRI5kzoFAADACZRs+7FvTJ89rnko
fdJSXy5Z6UkSFxcne/fulbikE9I8ak0wpE7p8Xy1beA90pPirfeIT0qX4vrW
W/yLBrhaKI9QpwAAAEx6xl+ndEpu/EZ5ZNpo81mmy9tZDSP+3I065WeSWVEg
mx//2sjv8YPXpPxWaovufHmCOgUAAGDSM6465WqZPDfGubdvF3825Ie9dcr0
Mc7f/aVUT3SdTi91CgAAgBMY3/WUTtm/9MY6mlf3Zoi7uU26erqkuThBlvrX
GXP3Sc+Qn303cmgtMlM2xZ2Q+pY2aWuulv0bHgvMemjqFAAAAEcw3vs+V5uP
S8yWZLk40rWOhj/K9FHrg8F1yoPztktdz/C3cPl9noiIFRO7pkKdAgAA4Agm
Po92JHoG7Tmb2eb/vZHn0Q7jauGg6zIbPxl6/2gMUKcAAAA4glutU/R+TU56
kuzdGiNrX1ksM/1rjIIOv1eOdV1yj9+9JeoUAACAcGZCdUrPRTkR93lrfm6l
Thn4TH57uqxJuzD+P4o6BQAAwBGMt05pd+30m4NyYy3y40tWye69mwZ9LxB1
ysLYs+P/o6hTAAAAHMG46pT24377p+k+J7+UxOIGv3U9ffLB47dap/TJoeVf
/Zz1zWOAOgUAAMARjKdOKdn2n77XTl22T4YP/4PX9EysTqmTVaNekxkj1CkA
AACOYHx1yo3Xvl10ZYRX9IyxTpkvRaOsN27P9X+u8/yJ1RjUKQAAAI5gonXK
mrRLQ77bJ669L45xHm2ELNpyUoYtTW4/5VdfRMjXXjo2wb+qzO99Rq+JAAAA
ILSZ6H0f3Ut2S5JL3G63VBQkyqphe81+fp1i+fUnZFd8huTk5Eh63MZBa5p1
bm5qy9j+hr7WU7J1fYzExAy4davErJ076PfMWbtZtm7V76+XTbG5w+sjAAAA
CEn8a4+bz6M9NXge7U0cWqdsG6GWGc3/zRz7euRu1+tjft+IqW9K283fEgAA
AEKAmv3P+Mbwx3aV3vT13e5UWTrCvikP/mCVpNX3ytWa93xfe6ei2+8nO2+s
BZq7R9zuTFkV+cDwOuLfVkhiRfu4/obekp1jr1Pm7Blh/i8AAAA4hz5pcVdI
sbte3BUVUt8y8ZG/q7laKtxuz/s0c6UDAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACw/8D7wOtZw==
"], {{0, 128}, {554,
0}}, {0, 255},
ColorFunction->RGBColor],
BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
Selectable->False],
DefaultBaseStyle->"ImageGraphics",
ImageSize->{227.06640625, Automatic},
ImageSizeRaw->{554, 128},
PlotRange->{{0, 554}, {0, 128}}],
TraditionalForm], {189., -193.5}, {Center, Center}, {360., 360.}],
InsetBox[
FormBox[
GraphicsBox[
TagBox[RasterBox[CompressedData["
1:eJztnQlsVeeZht1MU42QohkpU400kaZKOp0spFBN1TRVZ9oJ0mimCRTUJrSB
wIS9KYUQIAskTWmUJgRK2RIIS1hSCE0MEwx4AS9gG7CN8QXbYBt8vWMabMDG
bjHImG/8ncu9vtdm8XLO+e/yPNKTCGzfe849r7//45z/P+f+iS/+ZOpdcXFx
c/628z8/mfDqE7NnT5j307/v/MMzM+e8MG3mlMk/mjl3yrQpsx+f+Dedf/lm
pw93fv+XO//f0tIiiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiI
iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiI
iIiIiIiIiBg9Njc3S2VlpeTn50taWprs3r0bo1A9tnqM9VjrMTedO7e9cKFF
4ndelokvtsuj3+uQuC9dl7g4wWiy85jqsZ3UeYw/6zzWesxN5456jtTz/tnU
1CTFxcWSnJxs/PNGd9Vjrsc+WrMd7LmGFnnr91flq/fTk8Sa//gv12XBoqvS
0Gg+h9RzpJ733traWtm3b19gH9PT0sXj8Uj56XKpP1MvZ+vPYhSpx1SPrR7j
4H9baQZqamqM59EpU9Ivy/1DOgJj1kPfaZYpM0tk2fvZsvPzPbJ7126MIj/v
PKbLVmbL5Bml8uC3LwWO+9e/1SFJqZeN55F6jtTzO3v69GnZs2ePL8vp6XL6
1Gnjnzm6qx5zPfaaAc2CZsJ0Lu127cdX5O5BvnMngx9vksVLDxkfQ9Fdf7/s
kDzyWLOVAc3Cui1XjOeSeo7U81tbVlYW6Lnyj+TTY8eweuz1eqY/D5oN0/m0
yxXrrgT+Df3spHLZlWB+vEQz6rEfO/V0IA/L10VPn0I9x2iq53V1dYF+u6iw
yPhniuFhYWFhoP/WjJjO6UBNPXA5cP5k1mtFxsdIDA9ffLXImlOr2dCMmM4p
9RydMFLreWNjo6SkpAT6bdOfI4aXmgnNhmZEs2I6r/31tLdV7nvI1588O9Fr
fFzE8HLMpHIrG5qR8opW43mlnqMTRmI9z83NtbY580Am5wOxh5qJAwcOWBnJ
yckxntf+OnpyuzUGfXdYoyTsND8mYnipmXisMxuakWcmXjOeV+o5OmGk1XOd
863bmpiYKNVV1cY/PwxPa6prrIxoVjQzpnPbV/dmXLbGnkH3tsvmzanGx0MM
Tz/ekmplRLOSkhF513yo59gbI6WeX7p0STIyMqztLCgoMP65YXirGdGsaGY0
O6bz21ubm1vk337oW2M8YXqZ8XEQw9uJnRnRrGhmNDum80s9RyeMhHqua5B0
G/fu3Stn6s4Y/8wwvNWMaFY0M5G0fk3XGfvmGfxVduxIND4GYnirGdGsaGbW
bI6cdT7Uc+yL4V7PtW/yr5nWe9CZ/rwwMjxRfMLKjN4bKFx779Cct8g3v+87
h/LKrz3Gxz+MDDUrmhm9d75myHSOqefohOFcz/U+/v6em3lV2Fs1K/7eWzNk
Osd3Up/Bo2PNP/3rZe4di71W58/e96DvXIo+28d0jqnn6IThXM8zMzOt7Tp+
7LjxzwkjS82MtW6gM0Omc3wnf/DUNWuceeGlk8bHPYwsNTOaHc2Q6RxTz9Ep
w7Ge671bdJuSkpKkrrbO+GeEkaVmRrOjGQrn+wClZ/nOofzdfVclPj7J+JiH
kaVmRrOjGdIsmc4z9RydMBzreV5enu/+PvkO3d/nxE6ZNmKETP/goPHPH53R
f19lzZLpPN/KMdN8a0jHTi63bdxKyiiQ2gst0t7RIR03vNxyTgqzU4yPqWi/
mh3NkGbJdJ7drOd1ZYdk/TtzZPTo0T7Hz5TFG3dLWRjUHrTfcKrn58+fD9wj
2ZH187V58u7o4TKis0eZvOyA8c8enVGz47+nsmbKdK67W1nTKl+557rc9eXr
snFTmi3jVUpelXTIrfmiON34mIr2qtnRDGmWNFOmc+1GPa8+8kcZ3Vm/R9zE
4VNWyokwqD9or+FUz0+c8M3jzcrKsn0/qwp2yssjhgfyTI8S3WqGNEuaKdO1
urvvLPWdo//+f5+zabzKki/a/d3IZan0ZMvexL2SmX9aWgJ/f0nyEs2Pq2iv
miHNkmbKdK6dr+dV8sncJ301fPjLsuNQidTVeiVnx9JA3zJ7w1HjtQftNxzq
ua4tSk1NtbajtKTUxv0rlc+Xz+7Rc9OjRLeaIc2SZiqc1q3pWtFvfNu33vi3
C/PsGasySsXfitTlh17X2ZVddeMrHeLN5v4r0aZmSLOkmQqndciO1HNvivzv
jfr9fmZFyNdSF4+1/v7p3+0xXnvQfsOhnldXVzuzPi0o18/MfVeWzH2aHiUG
DF63ptkyXbP9JiT75srq2lG7nsuTkl8jV9s7rHMlR1N2hX493Ru43tNQyPWe
aDN4HbJmy3S+na3npZKxY4ssX75ZCmpDv7Z/+SRfj/KbnVIXBvUH7TUc6vnh
w4et9/cUeOzdP52DMnWGrE3Isf6cs/6X9CgxomZJM6XZMl2z/Y4a51tvPPFX
pa6MYanFDTc6lKtyMnWXK++J7qpZ0kxptkzn2/F63sM6yU/outYzfUOu8bqD
zmiynuszmP1zYvR5Qk7uZ/YqepRYUbPkn7MXDs/5Litvlbu+cl3uHtQhW7bu
c3zs2nWgtLMz8bcoZyQjDMZTtF/NkmZKs6UZM51zd+q5VzbPHxc6Z/bpD8Ub
BnUHndFkPS8qKrLe9+BB59cD06PElpopzZZmzHTtfuMd31zZYSPPOj92ZZyU
vwSu8jAXJdrVTGm2NGOmc+5OPffK+qlPdZtn+LyszSgxXnPQOU3Uc53/4r/O
dKrslOP7SI8SW2qm/NfFTc6dvXixRf558HVrHFn0h8OOjld7D5+Wy0Hrjms9
zEOJdt9bctjKlmZMs2Yq527W87pKr1TV1klZQaK8Nd6/ZnOapJf/2XjdQWc0
Uc+9Xm9gvq4b+0iPEnv61xdUVFQYq91//KzNGkMeGNrq6FiVXdIQ1J20S3V+
qvHxE93xgSGtVsa2xLcZy7nb9TzgiZ2BtRFLM5z/ty6a0+16vn//fuv9Co8X
urJ/9Cixp2ZLM6ZZM1W7v/tfvvXGM18pdmyMyq1oCupPWqWE6zsxpWZLM6ZZ
M5VzR+t55XFJ+nSjrNuYLFU9vl4VuPZDjxLdulnPa2pqrPdKTk6WM3VnXNk/
epTYU7OlGdOs1dbWul63k9N8643v/doV2bHDmb7hQMn5rvbk6heSw/3aYk7N
lmZMs5aS7v46ZKfreUXWH25czxktCWXdrud4U6xnnFg9yj56lGjWzXrun/9S
cLTAtf2jR4lNNWOatUOHDrleu5/8uW+98fO/LHNmfEo5HjT/pENO5R2Ug4dz
rOdbdJkjafQtUe/zL5yysvbUz91fh+x4Pa/MlJn+e13N+VhO+u+RUpknK2Y8
GZiPspf5KFGvG/W8vr7eeo/ExESpral1bd/oUWJTzZhmTTOn2XOtbuf67q81
6N522fYnZ57tl3+m7TZP6uniPPdwi3q3bdtrZU0zp9lzK+du1fP8La+FrOOZ
MXdGyPN7FvzpuPFag87rRj3333//yJEjru5bzsaXfD3KB/QosaZmzf/8ELdq
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
"], {{0, 126}, {553,
0}}, {0, 255},
ColorFunction->RGBColor],
BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
Selectable->False],
DefaultBaseStyle->"ImageGraphics",
ImageSizeRaw->{553, 126},
PlotRange->{{0, 553}, {0, 126}}],
TraditionalForm], {189., -580.5}, {Center, Center}, {360., 360.}],
InsetBox[
FormBox[
GraphicsBox[
TagBox[RasterBox[CompressedData["
1:eJztnQlwXPV9xxUaMh1mMu0MzXSmzDQDaQrhcqZMSBp6xMx0emDHnrQ44QwY
HyEkBpvThrSEUq6E2JiCY3PYgBUHZIplW5d1oMO6LCSslXVYWtmrtQVIBp2u
JHct/7q/t971rg6kld7b/1vt5zPzwWNpvXriff///2/f+///7+Kl9/5gxXlp
aWn3/2HwPz+48+H5a9bcufZf/zj4lxtX3X/3ylXLl/3zqgeWr1y+5jtL/yD4
xceDXh58/ReDfw4MDAgiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIi4kzs6+uTI0eOSE1NjRQUFMiePXtwDqrnVs+xnms956ZzR86R
nNvvZ58NSMauIVl6b0Cu/OtRSfvCGUlLE5xLBs+pntu7guf4neC51nNuOndO
2dvbKw0NDZKTk2O8b8HEqudcz30q9OPkPHVNpZx3dQ/IE78+JV+5mLok1fzT
vzgjjz93SrpPmM+hnfr9ftm3b1+kPRcWFEpdXZ20tbZJ5/FO+ajzI5xD6jnV
c6vnOPpagmago6PDeB7JOZLzmZtbOCQXXz0aGbcu+1afLF/VJBv+u0x2vbdX
9uzeg3PI94LndMOLZbLs581y6TX9kfP+tW+OSnb+kPE82mFra6vs3bs31G8X
Fkrr4Vbj/QsmVj3neu41A5oFzYTpXJJzJOfxu+XNETn/gtA1lCu+0yu/Wl9u
fBzFxPrrDeVy+bV9VgY0C69sHzGey9nY0tIS+YxRc6CGz5QprJ57vY8fzoNm
w3Q+yTmS8+m78ZWRyGfpm+5qk92Z5sdMNKOe+1tWtEby8MIryVmrHDt2LPL5
0lPvMd5/oDusr6+PfN7UjJjOKTlHJ5xrOc8vHopcR7nvEY/xcRLd4b0Pe6x5
tpoNzYjpnMbjiRMnJDc3N/L50nSfge5SM6HZ0IxoVkznlZyjE86VnLd6B+Wi
y0I1yk1LvcbHRnSXN9/VZmVDM9LWPmg8r9O1qqrKap8lxSVcA8dxaiaKi4ut
jFRWVhrPKzlHJ5wrOV+yLGCNQ9++/oRk7jI/LqK71ExcG8yGZuTGpaeN53U6
6poHbZdZWVniO+oz3legO+3wdVgZ0axoZkznlpyjEyZ7zvOKhqzx54ILA/LG
G/nGx0R0p29uz7cyolnJLXL3/Z/+/n4pKiqy2mRtba3xPgLdrWZEs6KZ0eyY
zi85RydM1pz39Q3IX/19aP3xnfe0GB8L0d0uDWZEs3LN/FErO6bzO5m6Dk/b
Y15enhw/dtx4/4DuVjOiWdHMJNMaTnKO8ZisOdc1yKF5B/8r776bZXwcRHer
GdGsaGY2v+HO9T/6OSG8d4DuyWi6b8Dk8FDDISszuk9WMnzWJOc4E5Mv5wNy
1XWhaykP/aLO+BiIyaFmRTOj++xrhkzneKz6fIvwZ0zmFOJ01ayEP2tqhkzn
mJyjEyZbzvWZPTre/NlfDrHHLE5bnVN70aWhayr6LCDTOR5rSUmJ1QYPfnjQ
eJ+AyaVmxlo3E8yQ6RyTc3TKZMr5391w2hpr7l7daHzsw+RSM6PZ0QyZznG0
uo+Rtr/s7Gw55j9mvD/A5FIzo9nRDLl5TyxyjrMxWXJeWBq6lvJHF52SjIxs
4+MeJpeaGc2OZkizZDrPYaurq0N7XdU4tNfVoV2ycuFCueel/cb7GnTG8F7j
miXTeU5kzo+1lMsbT62THy9ZIkvO+rN1G6XwIGud56LJkPObV4bWl96yrM22
sSu7qFY6Pzspo6OjIQNDcsLfIkUuGFfRfjU7miHNkuk8q59++mlk33BH9pHw
V8vTSxbIwmCdsmxDsfF+Bp1RsxPeZ1wzZTrXici5r3qHLAnmeuEkvrTvsPHz
gvbq9pwf6RiUL335jJz3xTOydVuBLWNWbnWHjMoknPpESlwwrqK9anY0Q5ol
zZTpXB86FJrHXlpaanubPlq7Sx5cuCDSb1OnzG01Q5olzZTpXDuf80Oy8fYb
QtlesEp+X+KRo/6j0lieKY/dfjbzCx6Tar/584L26uacP7U+dL3+un/ssmnM
ypOjJ8NFyaC01RRLdlaB1LR1R2qXk/4q4+Mq2q9mSLOkmTKZaV1fl5+fb7W5
5qZmG9tys7z3wppxny+pU+a2miHNkmbKTWs3Hcn54b3y47O53loee33m4/od
ZzO/RN49yP4sc0335nxAvn5NaC3yL5+ptme8ym+UwNl65JO62P1sG06ctr4+
+hl7yM1FNUOaJc2UyTXKPp/PmTWa3txIH37jA0/L8w/8G3VKChi9dlOzZbrf
djLnvvK3ZMXtS6xrJuVHPo79/uGdkdp8fRH3fuaabs15Zk5o/qyuK7XvOT5F
Ut/mk64uv1RmxX7vYNf/heqUvlbJdsG4ivYavUZZs2Uq1xUVFVZbq6uts7ct
65yUFT+XLZmV1t8rX/0pdUqKqFnSTGm2TPfbjud8Etv3/eZsnbJS8to+TsjP
xMTqxpwvvi20Fnnpz5odHsOyparl3H2fYX+N8TEVnVGzpJnSbJnItD6nPDwf
TJ+15WSbLnuZOiVV1CyF56tqxkz33YnMueWhvdbaNs37guWvSYsLzgnar9ty
3tI2KOd96Yycf8GobE/f59C4VSAdA6dj59GOfiQFLhhP0Rk1S5opzZZmLNG5
9ng8Vhvbv9/5tcLUKamlZkqzpRkz3X8nMucfteRGzRtnbspc1005f+yp0PzZ
6xd95OC4VSDHT41d8BOQzvpi4+MpOqdmSrOlGUtkpnXuV/j+6uEW5++fU6ek
lpqp8HwQk/MME5lzXdu2KmrO+NYS5qXMdd2S856eAfnzK85YY8lzv6lwdMzK
zi2QvKxsKapolr7wBFs5JZ783cbHU3TGZ5+vsLKlGdOsJSrXXq83Ml89Ee2Z
OiX1DK+vaW9vN9Z/Jyrnnqz1Ueva7pDt5e3G//9jYnRDzt96Z9gaRy6ZN5jQ
8Wt3cWtkLVB3faHx8RSd85KrB62Mbc8YTliu33//fatt1R+sT0hbpk5JPTVb
mjHNmqn+OxE5r3n7yXM1yoIHJYt7PSmlG3L+7X8IrUVe9VCD/WNU7n5pavdL
p79R8sZ9Py9yH4g6ZW6r2dKMadYSkemOjg6rXeXk5MjxY4npU6lTUk/NlmZM
s+b3+xPedyci503Zz0ZqlAXLX5Ra9nRLOU3nPKcgtBb5wq+OyLvvZtk+PuXX
dYcnzEpr0Zh7O/mNEp6u0t1AnTKX1WxpxjRruYXOr1EOz/2q/aA2YW2ZOiU1
1Yxp1srLyxPefzue8yMlUfNRlkhmtUfqa+vkQPWBKOvES+0y5zWZ83/5UWgt
8h0/dWivtdyDMhSuVE52SEl4D5XcA9I1dG5+SiPzU+a8d9x92MraDT9ydo1y
Z2en1Z6ysrLE3+FPWDumTklNNWOaNc2cZi9RfXcich7eE2gqn2OftzmvqZzv
rwrtwXXBhQHZ8ftcx8anqqODMet7hk4OxTzvp6/d2bm76A537MizsqaZ0+w5
levwcykOHDiQ0HZcuXV1qE55iTol1dSshZ+rk6j+OxE5D2d6KreUMKc2FTSR
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
AAAAAEDy8v9D0LW5
"], {{0, 128}, {554, 0}}, {0, 255},
ColorFunction->RGBColor],
BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
Selectable->False],
DefaultBaseStyle->"ImageGraphics",
ImageSize->{136.75, Automatic},
ImageSizeRaw->{554, 128},
PlotRange->{{0, 554}, {0, 128}}],
TraditionalForm], {189., -967.5}, {Center, Center}, {360., 360.}]},
StyleBox[{{}, {LineBox[{{0, 0}, {0, -387.}}],
LineBox[{{0, -387.}, {0, -774.}}], LineBox[{{0, -774.}, {0, -1161.}}],
LineBox[{{378., 0}, {378., -387.}}],
LineBox[{{378., -387.}, {378., -774.}}],
LineBox[{{378., -774.}, {378., -1161.}}], LineBox[{{0, 0}, {378., 0}}],
LineBox[{{0, -1161.}, {378., -1161.}}]}},
Antialiasing->False]},
AspectRatio->0.7,
ContentSelectable->True,
ImageSize->300,
PlotRangePadding->{6, 5}]], "Text",
CellChangeTimes->{
3.716874397734394*^9},ExpressionUUID->"1f6c4922-98e1-428b-8e51-\
e7012fba6e87"],
Cell[TextData[{
"An example can be found in ",
ButtonBox["Tabbing Example.nb",
BaseStyle->"Hyperlink",
ButtonData->{"Tabbing Example.nb", None}]
}], "Text",
CellChangeTimes->{{3.716757261424965*^9,
3.716757303048223*^9}},ExpressionUUID->"68d1557b-b707-403e-a283-\
f603d8a26511"]
}, Open ]],
Cell[CellGroupData[{
Cell["Paclet Installation", "Subsection",
CellChangeTimes->{{3.7167573093613462`*^9,
3.716757313783863*^9}},ExpressionUUID->"5bafbc22-47bb-4d94-a972-\
665cd23236d7"],
Cell[TextData[{
"This is functionality developed to put in my ",
ButtonBox["PackageData.net Service Connection",
BaseStyle->"Hyperlink",
ButtonData->{
URL["https://www.wolframcloud.com/objects/b3m2a1.paclets/PacletServer/\
serviceconnectionpackagedata.html"], None},
ButtonNote->
"https://www.wolframcloud.com/objects/b3m2a1.paclets/PacletServer/\
serviceconnectionpackagedata.html"],
". It provides auto-installation of packages, especially from GitHub or the \
Wolfram Library Archive."
}], "Text",
CellChangeTimes->{{3.716757315327977*^9,
3.716757393148446*^9}},ExpressionUUID->"acea612f-2f03-449a-99e6-\
951502549dbe"],
Cell["Load it like so:", "Text",
CellChangeTimes->{{3.716757394610688*^9,
3.716757407300151*^9}},ExpressionUUID->"ceb5fecd-852c-47cc-bc90-\
4f99a7eb29ef"],
Cell[BoxData[
RowBox[{
RowBox[{"(*", "mathematica", "*)"}], "\n",
RowBox[{
"Get", "[",
"\"\<https://raw.githubusercontent.com/b3m2a1/mathematica-tools/master/\
PackageDataPacletInstall.m\>\"", "]"}]}]], "FencedCode",
CellChangeTimes->{{3.716757412814834*^9, 3.7167574318759537`*^9}, {
3.7168362302567368`*^9, 3.7168362307801027`*^9},
3.71683660758261*^9},ExpressionUUID->"af43020d-20bc-4884-979d-\
e04697b15c07"],
Cell["Then use it like so:", "Text",
CellChangeTimes->{{3.716757437210848*^9,
3.7167574427794657`*^9}},ExpressionUUID->"20f5b23b-c3fe-4c16-b170-\
387e2e1d8c77"],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{
RowBox[{"(*", "mathematica", "*)"}], "\n",
RowBox[{
"PDInstallPaclet", "[", "\"\<https://github.com/szhorvat/MaTeX\>\"",
"]"}]}]], "FencedCode",
CellChangeTimes->{{3.7167574447692327`*^9, 3.716757514306347*^9}, {
3.716836232913494*^9, 3.7168362334736032`*^9},
3.716836606334584*^9},ExpressionUUID->"2430489b-c71d-435f-b8b1-\
f2ed0c564b0c"],
Cell[BoxData[
RowBox[{"{",
InterpretationBox[
RowBox[{
TagBox["Paclet",
"SummaryHead"], "[",
DynamicModuleBox[{Typeset`open$$ = False, Typeset`embedState$$ = "Ready"},
TemplateBox[{PaneSelectorBox[{False -> GridBox[{{
PaneBox[
ButtonBox[
DynamicBox[
FEPrivate`FrontEndResource[
"FEBitmaps", "SquarePlusIconMedium"]],
ButtonFunction :> (Typeset`open$$ = True), Appearance -> None,
Evaluator -> Automatic, Method -> "Preemptive"],
Alignment -> {Center, Center}, ImageSize ->
Dynamic[{
Automatic,
3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
Magnification])}]],
PaneBox[
StyleBox["\"MaTeX\"", "Input", StripOnInput -> False],
Alignment -> Center, ImageSize -> {Automatic, 28}],
GridBox[{{
RowBox[{
TagBox[
TemplateBox[{"\"Name\"", "\": \""}, "RowDefault"],
"SummaryItemAnnotation"], "\[InvisibleSpace]",
TagBox["\"MaTeX\"", "SummaryItem"]}]}, {
RowBox[{
TagBox[
TemplateBox[{"\"Version\"", "\": \""}, "RowDefault"],
"SummaryItemAnnotation"], "\[InvisibleSpace]",
TagBox["\"1.7.2\"", "SummaryItem"]}]}},
GridBoxAlignment -> {
"Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete ->
False, GridBoxItemSize -> {
"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}},
GridBoxSpacings -> {
"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
BaseStyle -> {
ShowStringCharacters -> False, NumberMarks -> False,
PrintPrecision -> 3, ShowSyntaxStyles -> False}]}},
GridBoxAlignment -> {"Rows" -> {{Top}}}, AutoDelete -> False,
GridBoxItemSize -> {
"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}},
BaselinePosition -> {1, 1}], True -> GridBox[{{
PaneBox[
ButtonBox[
DynamicBox[
FEPrivate`FrontEndResource[
"FEBitmaps", "SquareMinusIconMedium"]],
ButtonFunction :> (Typeset`open$$ = False), Appearance -> None,
Evaluator -> Automatic, Method -> "Preemptive"],
Alignment -> {Center, Center}, ImageSize ->
Dynamic[{
Automatic,
3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
Magnification])}]],
PaneBox[
StyleBox["\"MaTeX\"", "Input", StripOnInput -> False],
Alignment -> Center, ImageSize -> {Automatic, 28}],
GridBox[{{
RowBox[{
TagBox[
TemplateBox[{"\"Name\"", "\": \""}, "RowDefault"],
"SummaryItemAnnotation"], "\[InvisibleSpace]",
TagBox["\"MaTeX\"", "SummaryItem"]}]}, {
RowBox[{
TagBox[
TemplateBox[{"\"Version\"", "\": \""}, "RowDefault"],
"SummaryItemAnnotation"], "\[InvisibleSpace]",
TagBox["\"1.7.2\"", "SummaryItem"]}]}, {
RowBox[{
TagBox[
TemplateBox[{"\"Location\"", "\": \""}, "RowDefault"],
"SummaryItemAnnotation"], "\[InvisibleSpace]",
TagBox[
ButtonBox[
TemplateBox[{
"\"/Users/Mark/Library/Mathematica/Paclets/Repository/\
MaTeX-1.7.2\"", {
"/Users/Mark/Library/Mathematica/Paclets/Repository/MaTeX-\
1.7.2", None},
"/Users/Mark/Library/Mathematica/Paclets/Repository/MaTeX-\
1.7.2"}, "HyperlinkDefault"], ButtonFunction :>
SystemOpen[
"/Users/Mark/Library/Mathematica/Paclets/Repository/MaTeX-\
1.7.2"], Appearance -> None, BaseStyle -> "Hyperlink", Evaluator -> Automatic,
Method -> "Preemptive"], "SummaryItem"]}]}, {
RowBox[{
TagBox[
TemplateBox[{"\"Creator\"", "\": \""}, "RowDefault"],
"SummaryItemAnnotation"], "\[InvisibleSpace]",
TagBox[
"\"Szabolcs Horv\[AAcute]t <szhorvat@gmail.com>\"",
"SummaryItem"]}]}, {
RowBox[{
TagBox[
TemplateBox[{"\"Description\"", "\": \""}, "RowDefault"],
"SummaryItemAnnotation"], "\[InvisibleSpace]",
TagBox[
"\"Create LaTeX-typeset labels within Mathematica.\"",
"SummaryItem"]}]}, {
RowBox[{
TagBox[
TemplateBox[{"\"MathematicaVersion\"", "\": \""},
"RowDefault"], "SummaryItemAnnotation"],
"\[InvisibleSpace]",
TagBox["\"10.0+\"", "SummaryItem"]}]}, {
RowBox[{
TagBox[
TemplateBox[{"\"Extensions\"", "\": \""}, "RowDefault"],
"SummaryItemAnnotation"], "\[InvisibleSpace]",
TagBox[
RowBox[{"\[LeftAssociation]",
RowBox[{
RowBox[{"\"Documentation\"", "\[Rule]",
RowBox[{"\[LeftAssociation]",
RowBox[{
RowBox[{"\"Language\"", "\[Rule]", "All"}], ",",
RowBox[{"\"MainPage\"", "\[Rule]", "\"Guides/MaTeX\""}]}],
"\[RightAssociation]"}]}], ",",
RowBox[{"\"Kernel\"", "\[Rule]",
RowBox[{"\[LeftAssociation]",
RowBox[{
RowBox[{"\"Root\"", "\[Rule]", "\".\""}], ",",
RowBox[{"\"Context\"", "\[Rule]", "\"MaTeX`\""}]}],
"\[RightAssociation]"}]}]}], "\[RightAssociation]"}],
"SummaryItem"]}]}, {
RowBox[{
TagBox[
TemplateBox[{"\"Thumbnail\"", "\": \""}, "RowDefault"],
"SummaryItemAnnotation"], "\[InvisibleSpace]",
TagBox["\"Logo.png\"", "SummaryItem"]}]}, {
RowBox[{
TagBox[
TemplateBox[{"\"URL\"", "\": \""}, "RowDefault"],
"SummaryItemAnnotation"], "\[InvisibleSpace]",
TagBox[
"\"https://github.com/szhorvat/MaTeX\"", "SummaryItem"]}]}},
GridBoxAlignment -> {
"Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete ->
False, GridBoxItemSize -> {
"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}},
GridBoxSpacings -> {
"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
BaseStyle -> {
ShowStringCharacters -> False, NumberMarks -> False,
PrintPrecision -> 3, ShowSyntaxStyles -> False}]}},
GridBoxAlignment -> {"Rows" -> {{Top}}}, AutoDelete -> False,
GridBoxItemSize -> {
"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}},
BaselinePosition -> {1, 1}]},
Dynamic[Typeset`open$$], ImageSize -> Automatic]},
"SummaryPanel",
DisplayFunction->(
ButtonBox[#, Active -> False, Alignment -> Left,
Appearance -> {
"Default" ->
FrontEnd`FileName[{"Typeset", "SummaryBox"}, "Panel.9.png"]},
FrameMargins -> 7, BaseStyle -> {},
DefaultBaseStyle -> {"Panel", Background -> None}, BaselinePosition ->
Baseline]& )],
DynamicModuleValues:>{}], "]"}],
PacletManager`Paclet[
"Name" -> "MaTeX", "Version" -> "1.7.2", "MathematicaVersion" -> "10.0+",
"Description" -> "Create LaTeX-typeset labels within Mathematica.",
"Creator" -> "Szabolcs Horv\[AAcute]t <szhorvat@gmail.com>", "URL" ->
"https://github.com/szhorvat/MaTeX", "Thumbnail" -> "Logo.png",
"Extensions" -> {{
"Documentation", "Language" -> All, "MainPage" -> "Guides/MaTeX"}, {
"Kernel", "Root" -> ".", "Context" -> "MaTeX`"}}, "Location" ->
"/Users/Mark/Library/Mathematica/Paclets/Repository/MaTeX-1.7.2"],
Editable->False,
SelectWithContents->True,
Selectable->False], "}"}]], "Output",
CellChangeTimes->{
3.7167575304271507`*^9},ExpressionUUID->"f6299763-5af0-4a49-956a-\
afc5746cb6ce"]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell["Block Builder", "Subsection",
CellChangeTimes->{{3.716836320261033*^9,
3.716836322740026*^9}},ExpressionUUID->"47e8e87c-7d58-4f88-837c-\
02a636904de5"],
Cell[TextData[{
"This is a little block-programming interface, first introduced in this ",
ButtonBox["StackExchange answer",
BaseStyle->"Hyperlink",
ButtonData->{
URL["https://mathematica.stackexchange.com/a/154868/38205"], None},
ButtonNote->"https://mathematica.stackexchange.com/a/154868/38205"],
". Load it like so:"
}], "Text",
CellChangeTimes->{{3.716836323619629*^9, 3.716836352091395*^9}, {
3.716836416198627*^9,
3.716836436281776*^9}},ExpressionUUID->"7d60635b-1a80-4dc8-8188-\
2305e9e4c696"],
Cell[BoxData[
RowBox[{
RowBox[{"(*", "mathematica", "*)"}], "\n",
RowBox[{
"Get", "[",
"\"\<https://raw.githubusercontent.com/b3m2a1/mathematica-tools/master/\
BlockBuilder.m\>\"", "]"}]}]], "FencedCode",
CellChangeTimes->{{3.716757412814834*^9, 3.7167574318759537`*^9}, {
3.7168362302567368`*^9, 3.7168362307801027`*^9}, {3.716836440627092*^9,
3.716836442681394*^9},
3.716836604969047*^9},ExpressionUUID->"ad72b23e-4ce2-404d-abd4-\
fc6b88f46d66"],
Cell["And use it like this", "Text",
CellChangeTimes->{{3.716836450627458*^9,
3.716836453081629*^9}},ExpressionUUID->"03865bc8-97d7-4bef-b313-\
77a7397238ef"],
Cell[BoxData[
RowBox[{
RowBox[{"(*", "mathematica", "*)"}], "\n",
RowBox[{"BlockBuilder", "[", "]"}]}]], "FencedCode",
CellChangeTimes->{{3.7167574447692327`*^9, 3.716757514306347*^9}, {
3.716836232913494*^9, 3.7168362334736032`*^9}, {3.716836459144959*^9,
3.716836460921254*^9}, {3.716836628532423*^9,
3.7168366353407927`*^9}},ExpressionUUID->"f1b34efe-8e4c-4126-b644-\
ae9dec4ec173"],
Cell[BoxData[
GraphicsBox[
TagBox[RasterBox[CompressedData["
1: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
8vXXX+saQCxV19KuO+3A0248Be7x48ePXmNp8dMgVEWr6BpAIOtd40q6BhCI
rmXpGkAgupalawCB6FqWrgEEomtZugYQiK5l6RpAILqWpWsAgehalq4BBKJr
WboGEMjq72g9fvz49PT05z//+YcffvhB6f3XTLXUafHTIKShSAPi72gBhLP6
u8cnJydffvnld99996rn6NVLg5CGIg1ISpuuAcRSde3TTz9Ne/JXPS93SxqQ
dNamawCxVF376KOPJpPJq56XuyUNyMcff6xrALFUXXv33Xdf9Yxc23w2X9zS
S7333nu6BhBL1bXDw8OXf6r5uNdpH43mGx/Qb201DnrXnj7vHXW646eebtaq
12qN1u3UJeVe1wBiqbr21ltvvfxTneym5NR2jsebHtA7aNT3r+jahumz/Vpt
rzu9PHF+2trd6/Ru54ztnXfe0TWAWG6sa/P+dq201b6861+Mh4N+f5D6NGit
92vT9JXZQb2233uqa2eL+WxWnsPNp5PpIv13lNIzGF162GI6HpRTN587Xouu
AYRzU12bnOymc7Vur5PKdjxenU5N2s3aUn17q7a83rhp+roruzY7SD+x3y0u
SDZq65qdfvWI0cn+xdTG/vAl2qZrAOHcUNfmna1abffk7Gy6V5yxLRNztJPa
0j4dLc4Ww5OiSFtlvzZNv+zqrqWclRGctdMr1rZPRik0s5P99E1zmHI6PU25
a7a78+J+XzfFs15E8HvSNYBwbqZrk5N6rXZQNqjfSonZK++xzY9SV7Y7y5O3
ebtRqxdJ2jT9KZmupS9WzZoPWuncrDs7m/UOymL2i0ucw357O4Xt4OlLmdem
awDh3EjXBp1m7bL2IJ0wTVOYGq2LYHX36uV9tE3Tn5Lv2urq5axfdK03q764
UK/XG83O906RrgGEcxNdm+zXa/WdTkpAr9fr909307d7p2dni+KeW6O1vMFV
dKos0abpTym71n/mc/7P71pxvlbvXvzQS/22m64BhPPyXZsPO8sTtHPDznat
tp0mTLvFRziarePRZHRc3AI7v4+2afplRbma7eNer1s67Q7G2a6dzQfFqeP2
QX88GfWPio9oFnf9viddAwjn5bu2dkNt6eJ226Lb3jm/Jri1u79TX5Zo0/R1
1SdD1q8qHkzPZp3zD0+uvijMB+30RL2yObPh8fbqJ5otn4cEeK3c4O9lb7KY
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
vOq0AsBN+v/tiCty
"], {{0, 417}, {584, 0}}, {0, 255},
ColorFunction->RGBColor],
BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
Selectable->False],
DefaultBaseStyle->"ImageGraphics",
ImageSizeRaw->{584, 417},
PlotRange->{{0, 584}, {0, 417}}]], "Text",
CellChangeTimes->{
3.716836659627812*^9},ExpressionUUID->"ef3cf45f-3326-41ce-9e77-\
a2ea1d48d06d"]
}, Open ]],
Cell[CellGroupData[{
Cell["File Browser", "Subsection",
CellChangeTimes->{{3.716836702382094*^9,
3.716836704077984*^9}},ExpressionUUID->"ced73378-dae4-4b48-b1fb-\
b792695af5fc"],
Cell["\<\
This is a file browser, built kinda like the Finder on a Mac computer. A more \
sophisticated version is in BTools. Load it like so:\
\>", "Text",
CellChangeTimes->{{3.7168367006496067`*^9, 3.716836713381915*^9}, {
3.716836859437674*^9,
3.716836888877418*^9}},ExpressionUUID->"8e93e413-cb64-4ed2-933d-\
24815b2061ce"],
Cell[BoxData[
RowBox[{
RowBox[{"(*", "mathematica", "*)"}], "\n",
RowBox[{
"Get", "[",
"\"\<https://raw.githubusercontent.com/b3m2a1/mathematica-tools/master/\
FileBrowser.wl\>\"", "]"}]}]], "FencedCode",
CellChangeTimes->{{3.716836897149489*^9, 3.716836913612254*^9},
3.716873935989917*^9,
3.7168739959966097`*^9},ExpressionUUID->"9a805883-cfba-42b9-b8ac-\
7c3e7a661bf5"],
Cell["You can use it like so:", "Text",
CellChangeTimes->{{3.716836990140614*^9,
3.716836994467414*^9}},ExpressionUUID->"4e294589-717d-48a0-96ce-\
c76df05b9508"],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{
RowBox[{"(*", "mathematica", "*)"}], "\n",
RowBox[{
RowBox[{
RowBox[{"FileBrowser", "[",
RowBox[{"Directory", "[", "]"}], "]"}], ";"}], "\n",
RowBox[{"(*",
RowBox[{
RowBox[{"Loads", " ", "a", " ", "sidebar", " ", "pre"}], "-",
RowBox[{
"populated", " ", "with", " ", "$HomeDirectory", " ", "and", " ",
"friends"}]}], "*)"}], "\n",
RowBox[{
RowBox[{"FileBrowser", "[",
RowBox[{
RowBox[{"Directory", "[", "]"}], ",", "\n", "\t",
RowBox[{"Function", "\[Rule]", "Print"}]}], "\n", "\t", "]"}], ";"}],
"\n",
RowBox[{"(*",
RowBox[{
RowBox[{
"Prints", " ", "files", " ", "instead", " ", "of", " ", "opening", " ",
"them", " ", "on", " ", "double"}], "-", "click"}], "*)"}], "\n",