summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/mandi/mandi.sty
blob: d5206ea89651ea80b3d2214f231eea4ee5d13078 (plain)
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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
%%
%% This is file `mandi.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% mandi.dtx  (with options: `package')
%% 
%% Copyright (C) 2011,2012 by Paul J. Heafner <heafnerj@gmail.com>
%% ---------------------------------------------------------------------------
%% This  work may be  distributed and/or modified  under the conditions of the
%% LaTeX Project Public  License, either  version 1.3  of this  license or (at
%% your option) any later version. The latest version of this license is in
%%            http://www.latex-project.org/lppl.txt
%% and  version 1.3 or  later is  part of  all distributions of  LaTeX version
%% 2005/12/01 or later.
%% 
%% This work has the LPPL maintenance status `maintained'.
%% 
%% The Current Maintainer of this work is Paul J. Heafner.
%% 
%% This work consists of the files mandi.dtx
%% 
%% and includes the derived files  README
%%                                 mandi.ins
%%                                 mandi.sty
%%                                 mandi.pdf and
%%                                 vdemo.py.
%% ---------------------------------------------------------------------------
%% 
\ProvidesPackage{mandi}[2013/04/10 2.1.0 Macros for intro physics and astronomy]
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\RequirePackage{amsmath}
\RequirePackage{amssymb}
\RequirePackage{bigints}
\RequirePackage{cancel}
\RequirePackage[leftbars,color]{changebar}
\RequirePackage[dvipsnames]{xcolor}
\RequirePackage{environ}
\RequirePackage{etoolbox}
\RequirePackage{filehook}
\RequirePackage{extarrows}
\RequirePackage[T1]{fontenc}
\RequirePackage{graphicx}
\RequirePackage{epstopdf}
\RequirePackage{textcomp}
\RequirePackage{letltxmacro}
\RequirePackage{listings}
\RequirePackage[framemethod=TikZ]{mdframed}
\RequirePackage{suffix}
\RequirePackage{xargs}
\RequirePackage{xparse}
\RequirePackage{xspace}
\RequirePackage{ifthen}
\RequirePackage{calligra}
\DeclareMathAlphabet{\mathcalligra}{T1}{calligra}{m}{n}
\DeclareFontShape{T1}{calligra}{m}{n}{<->s*[2.2]callig15}{}
\DeclareGraphicsRule{.tif}{png}{.png}{`convert #1 `basename #1 .tif`.png}
\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}
\usetikzlibrary{shadows}
\definecolor{vpythoncolor}{rgb}{0.95,0.95,0.95}
\newcommand{\lstvpython}{\lstset{language=Python,numbers=left,numberstyle=\tiny,
  backgroundcolor=\color{vpythoncolor},upquote=true,breaklines}}
\newboolean{@optitalicvectors}
\newboolean{@optdoubleabsbars}
\newboolean{@optbaseunits}
\newboolean{@optdrvdunits}
\setboolean{@optitalicvectors}{false}
\setboolean{@optdoubleabsbars}{false}
\setboolean{@optbaseunits}{false}
\setboolean{@optdrvdunits}{false}
\DeclareOption{italicvectors}{\setboolean{@optitalicvectors}{true}}
\DeclareOption{doubleabsbars}{\setboolean{@optdoubleabsbars}{true}}
\DeclareOption{baseunits}{\setboolean{@optbaseunits}{true}}
\DeclareOption{drvdunits}{\setboolean{@optdrvdunits}{true}}
\ProcessOptions\relax
\@ifpackageloaded{amssymb}{%
  \csundef{square}
  \typeout{mandi: Package amssymb detected. Its \protect\square\space has been redefined.}
}{%
  \typeout{mandi: Package amssymb not detected.}
}%
\newcommand{\per}{\ensuremath{/}}
\newcommand{\usk}{\ensuremath{\cdot}}
\newcommand{\unit}[2]{\ensuremath{{#1}\,{#2}}}
\newcommand{\ampere}{\ensuremath{\mathrm{A}}}
\newcommand{\arcminute}{\ensuremath{'}}
\newcommand{\arcsecond}{\ensuremath{''}}
\newcommand{\atomicmassunit}{\ensuremath{\mathrm{u}}}
\newcommand{\candela}{\ensuremath{\mathrm{cd}}}
\newcommand{\coulomb}{\ensuremath{\mathrm{C}}}
\newcommand{\degree}{\ensuremath{^{\circ}}}
\newcommand{\electronvolt}{\ensuremath{\mathrm{eV}}}
\newcommand{\farad}{\ensuremath{\mathrm{F}}}
\newcommand{\henry}{\ensuremath{\mathrm{H}}}
\newcommand{\hertz}{\ensuremath{\mathrm{Hz}}}
\newcommand{\hour}{\ensuremath{\mathrm{h}}}
\newcommand{\joule}{\ensuremath{\mathrm{J}}}
\newcommand{\kelvin}{\ensuremath{\mathrm{K}}}
\newcommand{\kilogram}{\ensuremath{\mathrm{kg}}}
\newcommand{\metre}{\ensuremath{\mathrm{m}}}
\newcommand{\minute}{\ensuremath{\mathrm{min}}}
\newcommand{\mole}{\ensuremath{\mathrm{mol}}}
\newcommand{\newton}{\ensuremath{\mathrm{N}}}
\newcommand{\ohm}{\ensuremath{\Omega}}
\newcommand{\pascal}{\ensuremath{\mathrm{Pa}}}
\newcommand{\radian}{\ensuremath{\mathrm{rad}}}
\newcommand{\second}{\ensuremath{\mathrm{s}}}
\newcommand{\siemens}{\ensuremath{\mathrm{S}}}
\newcommand{\steradian}{\ensuremath{\mathrm{sr}}}
\newcommand{\tesla}{\ensuremath{\mathrm{T}}}
\newcommand{\volt}{\ensuremath{\mathrm{V}}}
\newcommand{\watt}{\ensuremath{\mathrm{W}}}
\newcommand{\weber}{\ensuremath{\mathrm{Wb}}}
\newcommand{\C}{\coulomb}
\newcommand{\F}{\farad}
\newcommand{\J}{\joule}
\newcommand{\N}{\newton}
\newcommand{\Pa}{\pascal}
\newcommand{\rad}{\radian}
\newcommand{\sr}{\steradian}
\newcommand{\T}{\tesla}
\newcommand{\V}{\volt}
\newcommand{\W}{\watt}
\newcommand{\square}[1]{\ensuremath{\mathrm{#1}^{2}}}              % prefix   2
\newcommand*{\cubic}[1]{\ensuremath{\mathrm{#1}^{3}}}              % prefix   3
\newcommand*{\quartic}[1]{\ensuremath{\mathrm{#1}^{4}}}            % prefix   4
\newcommand*{\reciprocal}[1]{\ensuremath{\mathrm{#1}^{-1}}}        % prefix  -1
\newcommand*{\reciprocalsquare}[1]{\ensuremath{\mathrm{#1}^{-2}}}  % prefix  -2
\newcommand*{\reciprocalcubic}[1]{\ensuremath{\mathrm{#1}^{-3}}}   % prefix  -3
\newcommand*{\reciprocalquartic}[1]{\ensuremath{\mathrm{#1}^{-4}}} % prefix  -4
\newcommand*{\squared}{\ensuremath{^{\mathrm{2}}}}                 % postfix  2
\newcommand*{\cubed}{\ensuremath{^{\mathrm{3}}}}                   % postfix  3
\newcommand*{\quarted}{\ensuremath{^{\mathrm{4}}}}                 % postfix  4
\newcommand*{\reciprocaled}{\ensuremath{^{\mathrm{-1}}}}           % postfix -1
\newcommand*{\reciprocalsquared}{\ensuremath{^{\mathrm{-2}}}}      % postfix -2
\newcommand*{\reciprocalcubed}{\ensuremath{^{\mathrm{-3}}}}        % postfix -3
\newcommand*{\reciprocalquarted}{\ensuremath{^{\mathrm{-4}}}}      % postfix -4
\newcommand\mi@exchangeargs[2]{#2#1}%
\newcommand\mi@name{}%
\long\def\mi@name#1#{\romannumeral0\mi@innername{#1}}%
\newcommand\mi@innername[2]{%
  \expandafter\mi@exchangeargs\expandafter{\csname#2\endcsname}{#1}}%
\begingroup
\@firstofone{%
  \endgroup
  \newcommand\mi@forkifnull[3]{%
    \romannumeral\iffalse{\fi\expandafter\@secondoftwo\expandafter
    {\expandafter{\string#1}\expandafter\@secondoftwo\string}%
    \expandafter\@firstoftwo\expandafter{\iffalse}\fi0 #3}{0 #2}}}%
\newcommand\selectbaseunit[3]{#1}
\newcommand\selectdrvdunit[3]{#2}
\newcommand\selecttradunit[3]{#3}
\newcommand\selectunit{}
\newcommand\perpusebaseunit{\let\selectunit=\selectbaseunit}
\newcommand\perpusedrvdunit{\let\selectunit=\selectdrvdunit}
\newcommand\perpusetradunit{\let\selectunit=\selecttradunit}
\newcommand\hereusebaseunit[1]{%
  \begingroup\perpusebaseunit#1\endgroup}%
\newcommand\hereusedrvdunit[1]{%
  \begingroup\perpusedrvdunit#1\endgroup}%
\newcommand\hereusetradunit[1]{%
  \begingroup\perpusetradunit#1\endgroup}%
\newenvironment{usebaseunit}{\perpusebaseunit}{}%
\newenvironment{usedrvdunit}{\perpusedrvdunit}{}%
\newenvironment{usetradunit}{\perpusetradunit}{}%
\newcommand*\newphysicsquantity{\definephysicsquantity{\newcommand}}
\newcommand*\redefinephysicsquantity{\definephysicsquantity{\renewcommand}}
\newcommandx\definephysicsquantity[5][4=,5=]{%
  \innerdefinewhatsoeverquantityfork{#3}{#4}{#5}{#1}{#2}{}{[1]}{##1}}%
\newcommand*\newphysicsconstant{\definephysicsconstant{\newcommand}}
\newcommand*\redefinephysicsconstant{\definephysicsconstant{\renewcommand}}
\newcommandx\definephysicsconstant[7][6=,7=]{%
  \innerdefinewhatsoeverquantityfork{#5}{#6}{#7}{#1}{#2}{#3}{}{#4}}%
\newcommand\innerdefinewhatsoeverquantityfork[3]{%
  \expandafter\innerdefinewhatsoeverquantity\romannumeral0%
  \mi@forkifnull{#3}{\mi@forkifnull{#2}{{#1}}{{#2}}{#1}}%
                 {\mi@forkifnull{#2}{{#1}}{{#2}}{#3}}{#1}}%
\newcommand\innerdefinewhatsoeverquantity[8]{%
  \mi@name#4{#5}#7{\ensuremath{\unit{#8}{\selectunit{#3}{#1}{#2}}}}%
  \mi@name#4{#5baseunit}#7{\ensuremath{\unit{#8}{#3}}}%
  \mi@name#4{#5drvdunit}#7{\ensuremath{\unit{#8}{#1}}}%
  \mi@name#4{#5tradunit}#7{\ensuremath{\unit{#8}{#2}}}%
  \mi@name#4{#5onlyunit}{\ensuremath{\selectunit{#3}{#1}{#2}}}%
  \mi@name#4{#5onlybaseunit}{\ensuremath{#3}}%
  \mi@name#4{#5onlydrvdunit}{\ensuremath{#1}}%
  \mi@name#4{#5onlytradunit}{\ensuremath{#2}}%
  \mi@name#4{#5value}#7{\ensuremath{#8}}%
  \mi@forkifnull{#7}{%
    \ifx#4\renewcommand\mi@name\let{#5mathsymbol}=\relax\fi
    \mi@name\newcommand{#5mathsymbol}{\ensuremath{#6}}}{}}%
\ifthenelse{\boolean{@optitalicvectors}}
  {\typeout{mandi: You'll get italic vector kernels.}}
  {\typeout{mandi: You'll get Roman vector kernels.}}
\ifthenelse{\boolean{@optdoubleabsbars}}
  {\typeout{mandi: You'll get double absolute value bars.}}
  {\typeout{mandi: You'll get single absolute value bars.}}
\ifthenelse{\boolean{@optbaseunits}}
  {\perpusebaseunit %
   \typeout{mandi: You'll get base units.}}
  {\ifthenelse{\boolean{@optdrvdunits}}
     {\perpusedrvdunit %
      \typeout{mandi: You'll get derived units.}}
     {\perpusetradunit %
      \typeout{mandi: You'll get traditional units.}}}
\def\resetMathstrut@{%
  \setbox\z@\hbox{%
    \mathchardef\@tempa\mathcode`\[\relax
    \def\@tempb##1"##2##3{\the\textfont"##3\char"}%
    \expandafter\@tempb\meaning\@tempa \relax
  }%
  \ht\Mathstrutbox@\ht\z@ \dp\Mathstrutbox@\dp\z@}
\begingroup
  \catcode`(\active \xdef({\left\string(}
  \catcode`)\active \xdef){\right\string)}
\endgroup
\mathcode`(="8000 \mathcode`)="8000
\typeout{mandi: parentheses made adjustable in math mode.}
\let\oldr@@t\r@@t
\def\r@@t#1#2{%
\setbox0=\hbox{\(\oldr@@t#1{#2\,}\)}\dimen0=\ht0
\advance\dimen0-0.2\ht0
\setbox2=\hbox{\vrule height\ht0 depth -\dimen0}%
{\box0\lower0.4pt\box2}}
\LetLtxMacro{\oldsqrt}{\sqrt}
\renewcommand*{\sqrt}[2][\relax]{\oldsqrt[#1]{#2}}
\typeout{mandi: square root symbol fixed.}
\newcommand{\m}{\metre}
\newcommand{\kg}{\kilogram}
\newcommand{\s}{\second}
\newcommand{\A}{\ampere}
\newcommand{\K}{\kelvin}
\newcommand{\mol}{\mole}
\newcommand{\cd}{\candela}
\newphysicsquantity{displacement}{\m}[\m][\m]
\newphysicsquantity{mass}{\kg}[\kg][\kg]
\newphysicsquantity{duration}{\s}[\s][\s]
\newphysicsquantity{current}{\A}[\A][\A]
\newphysicsquantity{temperature}{\K}[\K][\K]
\newphysicsquantity{amount}{\mol}[\mol][\mol]
\newphysicsquantity{luminous}{\cd}[\cd][\cd]
\newphysicsquantity{planeangle}{\m\usk\reciprocal\m}[\rad][\rad]
\newphysicsquantity{solidangle}{\m\squared\usk\reciprocalsquare\m}[\sr][\sr]
\newcommand{\indegrees}[1]{\ensuremath{\unit{#1}{\degree}}}
\newcommand{\inarcminutes}[1]{\ensuremath{\unit{#1}{\arcminute}}}
\newcommand{\inarcseconds}[1]{\ensuremath{\unit{#1}{\arcsecond}}}
\newcommand{\ineV}[1]{\ensuremath{\unit{#1}{\electronvolt}}}
\newcommand{\inAU}[1]{\ensuremath{\unit{#1}{\mathrm{AU}}}}
\newcommand{\velocityc}[1]{\ensuremath{#1c}}
\newphysicsquantity{velocity}{\m\usk\reciprocal\s}[\m\usk\reciprocal\s][\m\per\s]
\newphysicsquantity{acceleration}{\m\usk\s\reciprocalsquared}[\N\per\kg][\m\per\s\squared]
\newcommand{\gamman}[1]{\ensuremath{#1}}
\newphysicsquantity{momentum}{\m\usk\kg\usk\reciprocal\s}[\N\usk\s][\kg\usk\m\per\s]
\newphysicsquantity{impulse}{\m\usk\kg\usk\reciprocal\s}[\N\usk\s][\kg\usk\m\per\s]
\newphysicsquantity{force}{\m\usk\kg\usk\s\reciprocalsquared}[\N][\N]
\newphysicsquantity{springstiffness}{\kg\usk\s\reciprocalsquared}[\N\per\m][\N\per\m]
\newphysicsquantity{springstretch}{\m}
\newphysicsquantity{area}{\m\squared}
\newphysicsquantity{volume}{\cubic\m}
\newphysicsquantity{linearmassdensity}{\reciprocal\m\usk\kg}[\kg\per\m][\kg\per\m]
\newphysicsquantity{areamassdensity}{\m\reciprocalsquared\usk\kg}[\kg\per\m\squared]
[\kg\per\m\squared]
\newphysicsquantity{volumemassdensity}{\m\reciprocalcubed\usk\kg}[\kg\per\m\cubed]
[\kg\per\m\cubed]
\newphysicsquantity{youngsmodulus}{\reciprocal\m\usk\kg\usk\s\reciprocalsquared}
[\N\per\m\squared][\Pa]
\newphysicsquantity{work}{\m\squared\usk\kg\usk\s\reciprocalsquared}[\J]
[\N\usk\m]
\newphysicsquantity{energy}{\m\squared\usk\kg\usk\s\reciprocalsquared}[\J]
[\N\usk\m]
\newphysicsquantity{power}{\m\squared\usk\kg\usk\s\reciprocalcubed}[\W][\J\per\s]
\newphysicsquantity{angularvelocity}{\rad\usk\reciprocal\s}[\rad\per\s][\rad\per\s]
\newphysicsquantity{angularacceleration}{\rad\usk\s\reciprocalsquared}[\rad\per\s\squared]
[\rad\per\s\squared]
\newphysicsquantity{angularmomentum}{\m\squared\usk\kg\usk\reciprocal\s}[\J\usk\s]
[\kg\usk\m\squared\per\s]
\newphysicsquantity{momentofinertia}{\m\squared\usk\kg}[\J\usk\s\squared]
[\kg\usk\m\squared]
\newphysicsquantity{torque}{\m\squared\usk\kg\usk\s\reciprocalsquared}[\J\per\rad]
[\N\usk\m]
\newphysicsquantity{entropy}{\m\squared\usk\kg\usk\s\reciprocalsquared\usk\reciprocal\K}
[\J\per\K][\J\per\K]
\newphysicsquantity{wavelength}{\m}[\m][\m]
\newphysicsquantity{wavenumber}{\reciprocal\m}[\per\m][\per\m]
\newphysicsquantity{frequency}{\reciprocal\s}[\hertz][\hertz]
\newphysicsquantity{angularfrequency}{\rad\usk\reciprocal\s}[\rad\per\s][\rad\per\s]
\newphysicsquantity{charge}{\A\usk\s}[\C][\C]
\newphysicsquantity{permittivity}{\m\reciprocalcubed\usk\reciprocal\kg\usk\s
  \reciprocalquarted\usk\A\squared}[\F\per\m][\C\squared\per\N\usk\m\squared]
\newphysicsquantity{permeability}{\m\usk\kg\usk\s\reciprocalsquared\usk\A
  \reciprocalsquared}[\henry\per\m][\T\usk\m\per\A]
\newphysicsquantity{electricfield}{\m\usk\kg\usk\s\reciprocalcubed\usk\reciprocal\A}
[\V\per\m][\N\per\C]
\newphysicsquantity{electricdipolemoment}{\m\usk\s\usk\A}[\C\usk\m][\C\usk\m]
\newphysicsquantity{magneticfield}{\kg\usk\s\reciprocalsquared\usk\reciprocal\A}[\T]
[\N\per\C\usk(\m\per\s)]
\newphysicsquantity{cmagneticfield}{\m\usk\kg\usk\s\reciprocalcubed\usk\reciprocal\A}
[\V\per\m][\N\per\C]
\newphysicsquantity{linearchargedensity}{\reciprocal\m\usk\s\usk\A}[\C\per\m][\C\per\m]
\newphysicsquantity{areachargedensity}{\reciprocalsquare\m\usk\s\usk\A}
[\C\per\square\m][\C\per\square\m]
\newphysicsquantity{volumechargedensity}{\reciprocalcubic\m\usk\s\usk\A}
[\C\per\cubic\m][\C\per\cubic\m]
\newphysicsquantity{mobility}
{\m\squared\usk\kg\usk\s\reciprocalquarted\usk\reciprocal\A}[\m\squared\per\volt\usk\s]
[(\m\per\s)\per(\N\per\C)]
\newphysicsquantity{numberdensity}{\reciprocalcubic\m}[\per\cubic\m][\per\cubic\m]
\newphysicsquantity{polarizability}{\reciprocal\kg\usk\s\quarted\usk\square\A}
[\C\usk\square\m\per\V][\C\usk\m\per(\N\per\C)]
\newphysicsquantity{electricpotential}
{\square\m\usk\kg\usk\reciprocalcubic\s\usk\reciprocal\A}[\J\per\C][\V]
\newphysicsquantity{emf}{\square\m\usk\kg\usk\reciprocalcubic\s\usk\reciprocal\A}
[\J\per\C][\V]
\newphysicsquantity{dielectricconstant}{}[][]
\newphysicsquantity{indexofrefraction}{}[][]
\newphysicsquantity{relativepermittivity}{}[][]
\newphysicsquantity{relativepermeability}{}[][]
\newphysicsquantity{energydensity}{\m\reciprocaled\usk\kg\usk\reciprocalsquare\s}
[\J\per\cubic\m][\J\per\cubic\m]
\newphysicsquantity{electroncurrent}{\reciprocal\s}
[\ensuremath{\mathrm{e}}\per\s][\ensuremath{\mathrm{e}}\per\s]
\newphysicsquantity{conventionalcurrent}{\A}[\C\per\s][\A]
\newphysicsquantity{magneticdipolemoment}{\square\m\usk\A}[\J\per\T][\A\usk\square\m]
\newphysicsquantity{currentdensity}{\reciprocalsquare\m\usk\A}[\C\usk\s\per\square\m]
[\A\per\square\m]
\newphysicsquantity{capacitance}
{\reciprocalsquare\m\usk\reciprocal\kg\usk\quartic\s\usk\square\A}[\C\per\V][\F]
\newphysicsquantity{conductivity}
{\reciprocalcubic\m\usk\reciprocal\kg\usk\cubic\s\usk\square\A}[\siemens\per\m]
[\A\per\V\usk\m]
\newphysicsquantity{resistivity}
{\cubic\m\usk\kg\usk\reciprocalcubic\s\usk\reciprocalsquare\A}[\m\per\siemens]
[\ohm\usk\m]
\newphysicsquantity{resistance}
{\square\m\usk\kg\usk\reciprocalcubic\s\usk\reciprocalsquare\A}[\V\per\A][\ohm]
\newphysicsquantity{conductance}
{\reciprocalsquare\m\usk\reciprocal\kg\usk\cubic\s\usk\square\A}[\A\per\V][\siemens]
\newcommand{\lv}{\ensuremath{\left\langle}}
\newcommand{\rv}{\ensuremath{\right\rangle}}
\newcommand{\symvect}{\mivector}
\newcommand{\ncompsvect}{\mivector}
\ExplSyntaxOn
\NewDocumentCommand{\magvectncomps}{ m O{} }
  {%
    \sum_of_squares:nn { #1 }{ #2 }
  }%

\cs_new:Npn \sum_of_squares:nn #1 #2
  {%
    \tl_if_empty:nTF { #2 }
      {%
        \clist_set:Nn \l_tmpa_clist { #1 }
        \ensuremath{%
          \sqrt{(\clist_use:Nnnn \l_tmpa_clist { )^2+( } { )^2+( } { )^2+( } )^2 }
        }%
      }%
      {%
        \clist_set:Nn \l_tmpa_clist { #1 }
        \ensuremath{%
          \sqrt{(\clist_use:Nnnn \l_tmpa_clist {\;{ #2 })^2+(} {\;{ #2 })^2+(}
          {\;{ #2 })^2+(} \;{ #2 })^2}
        }%
      }%
  }%
\ExplSyntaxOff
\newcommand{\zerovect}{\vect{0}}
\newcommand{\ncompszerovect}{\mivector{0,0,0}}
\ifthenelse{\boolean{@optitalicvectors}}
  {\newcommand{\vect}[1]{\ensuremath{\vec{#1}}}}
  {\newcommand{\vect}[1]{\ensuremath{\vec{\mathrm{#1}}}}}
\ifthenelse{\boolean{@optdoubleabsbars}}
  {\newcommand{\magvect}[1]{\ensuremath{\magof{\vect{#1}}}}}
  {\newcommand{\magvect}[1]{\ensuremath{\abs{\vect{#1}}}}}
\newcommand{\dmagvect}[1]{\ensuremath{\dx{\magvect{#1}}}}
\newcommand{\Dmagvect}[1]{\ensuremath{\Delta\!\magvect{#1}}}
\ifthenelse{\boolean{@optitalicvectors}}
  {\newcommand{\dirvect}[1]{\ensuremath{\widehat{{#1}}}}}
  {\newcommand{\dirvect}[1]{\ensuremath{\widehat{\mathrm{#1}}}}}
\ifthenelse{\boolean{@optitalicvectors}}
  {\newcommand{\compvect}[2]{\ensuremath{\ssub{#1}{\(#2\)}}}}
  {\newcommand{\compvect}[2]{\ensuremath{\ssub{\mathrm{#1}}{\(#2\)}}}}
\newcommand{\scompsvect}[1]{\ensuremath{\lv
  \compvect{#1}{x},
  \compvect{#1}{y},
  \compvect{#1}{z}\rv}}
\newcommand{\magvectscomps}[1]{\ensuremath{\sqrt{
  \msup{\compvect{#1}{x}}{2}+
  \msup{\compvect{#1}{y}}{2}+
  \msup{\compvect{#1}{z}}{2}}}}
\newcommand{\dvect}[1]{\ensuremath{\mathrm{d}\vect{#1}}}
\newcommand{\Dvect}[1]{\ensuremath{\Delta\vect{#1}}}
\newcommand{\dirdvect}[1]{\ensuremath{\widehat{\dvect{#1}}}}
\newcommand{\dirDvect}[1]{\ensuremath{\widehat{\Dvect{#1}}}}
\newcommand{\ddirvect}[1]{\ensuremath{\mathrm{d}\dirvect{E}}}
\newcommand{\Ddirvect}[1]{\ensuremath{\Delta\dirvect{E}}}
\ifthenelse{\boolean{@optdoubleabsbars}}
  {\newcommand{\magdvect}[1]{\ensuremath{\magof{\dvect{#1}}}}
   \newcommand{\magDvect}[1]{\ensuremath{\magof{\Dvect{#1}}}}}
  {\newcommand{\magdvect}[1]{\ensuremath{\abs{\dvect{#1}}}}
   \newcommand{\magDvect}[1]{\ensuremath{\abs{\Dvect{#1}}}}}
\newcommand{\compdvect}[2]{\ensuremath{\mathrm{d}\compvect{#1}{#2}}}
\newcommand{\compDvect}[2]{\ensuremath{\Delta\compvect{#1}{#2}}}
\newcommand{\scompsdvect}[1]{\ensuremath{\lv
  \compdvect{#1}{x},
  \compdvect{#1}{y},
  \compdvect{#1}{z}\rv}}
\newcommand{\scompsDvect}[1]{\ensuremath{\lv
  \compDvect{#1}{x},
  \compDvect{#1}{y},
  \compDvect{#1}{z}\rv}}
\newcommand{\dervect}[2]{\ensuremath{\frac{\dvect{#1}}{\mathrm{d}{#2}}}}
\newcommand{\Dervect}[2]{\ensuremath{\frac{\Dvect{#1}}{\Delta{#2}}}}
\newcommand{\compdervect}[3]{\ensuremath{\dbyd{\compvect{#1}{#3}}{#2}}}
\newcommand{\compDervect}[3]{\ensuremath{\DbyD{\compvect{#1}{#3}}{#2}}}
\newcommand{\scompsdervect}[2]{\ensuremath{\lv
  \compdervect{#1}{#2}{x},
  \compdervect{#1}{#2}{y},
  \compdervect{#1}{#2}{z}\rv}}
\newcommand{\scompsDervect}[2]{\ensuremath{\lv
  \compDervect{#1}{#2}{x},
  \compDervect{#1}{#2}{y},
  \compDervect{#1}{#2}{z}\rv}}
\ifthenelse{\boolean{@optdoubleabsbars}}
  {\newcommand{\magdervect}[2]{\ensuremath{\magof{\dervect{#1}{#2}}}}
   \newcommand{\magDervect}[2]{\ensuremath{\magof{\Dervect{#1}{#2}}}}}
  {\newcommand{\magdervect}[2]{\ensuremath{\abs{\dervect{#1}{#2}}}}
   \newcommand{\magDervect}[2]{\ensuremath{\abs{\Dervect{#1}{#2}}}}}
\newcommand{\dermagvect}[2]{\ensuremath{\dbyd{\magvect{#1}}{#2}}}
\newcommand{\Dermagvect}[2]{\ensuremath{\DbyD{\magvect{#1}}{#2}}}
\newcommand{\scompspos}{\mivector{x,y,z}}
\newcommand{\comppos}[1]{\ensuremath{{#1}}}
\newcommand{\scompsdpos}{\mivector{\mathrm{d}x,\mathrm{d}y,\mathrm{d}z}}
\newcommand{\scompsDpos}{\mivector{\Delta x,\Delta y,\Delta z}}
\newcommand{\compdpos}[1]{\ensuremath{\mathrm{d}{#1}}}
\newcommand{\compDpos}[1]{\ensuremath{\Delta{#1}}}
\newcommand{\scompsderpos}[1]{\ensuremath{\lv
  \frac{\mathrm{d}x}{\mathrm{d}{#1}},\frac{\mathrm{d}y}{\mathrm{d}{#1}},
    \frac{\mathrm{d}z}{\mathrm{d}{#1}}\rv}}
\newcommand{\scompsDerpos}[1]{\ensuremath{\lv
  \frac{\Delta x}{\Delta{#1}},\frac{\Delta y}{\Delta{#1}},
    \frac{\Delta z}{\Delta{#1}}\rv}}
\newcommand{\compderpos}[2]{\ensuremath{\frac{\mathrm{d}{#1}}{\mathrm{d}{#2}}}}
\newcommand{\compDerpos}[2]{\ensuremath{\frac{\Delta{#1}}{\Delta{#2}}}}
\newcommand{\vectsub}[2]{\ensuremath{\ssub{\vect{#1}}{#2}}}
\ifthenelse{\boolean{@optitalicvectors}}
  {\newcommand{\compvectsub}[3]{\ensuremath{\ssub{#1}{#2,\(#3\)}}}}
  {\newcommand{\compvectsub}[3]{\ensuremath{\ssub{\mathrm{#1}}{#2,\(#3\)}}}}
\newcommand{\scompsvectsub}[2]{\ensuremath{\lv
  \compvectsub{#1}{#2}{x},
  \compvectsub{#1}{#2}{y},
  \compvectsub{#1}{#2}{z}\rv}}
\ifthenelse{\boolean{@optdoubleabsbars}}
  {\newcommand{\magvectsub}[2]{\ensuremath{\magof{\vectsub{#1}{#2}}}}}
  {\newcommand{\magvectsub}[2]{\ensuremath{\abs{\vectsub{#1}{#2}}}}}
\newcommand{\magvectsubscomps}[2]{\ensuremath{\sqrt{
    \msup{\compvectsub{#1}{#2}{x}}{2}+
    \msup{\compvectsub{#1}{#2}{y}}{2}+
    \msup{\compvectsub{#1}{#2}{z}}{2}}}}
\ifthenelse{\boolean{@optitalicvectors}}
  {\newcommand{\dirvectsub}[2]{\ensuremath{\ssub{\widehat{#1}}{#2}}}}
  {\newcommand{\dirvectsub}[2]{\ensuremath{\ssub{\widehat{\mathrm{#1}}}{#2}}}}
\newcommand{\dvectsub}[2]{\ensuremath{\mathrm{d}\vectsub{#1}{#2}}}
\newcommand{\Dvectsub}[2]{\ensuremath{\Delta\vectsub{#1}{#2}}}
\newcommand{\compdvectsub}[3]{\ensuremath{\mathrm{d}\compvectsub{#1}{#2}{#3}}}
\newcommand{\compDvectsub}[3]{\ensuremath{\Delta\compvectsub{#1}{#2}{#3}}}
\newcommand{\scompsdvectsub}[2]{\ensuremath{\lv
  \compdvectsub{#1}{#2}{x},
  \compdvectsub{#1}{#2}{y},
  \compdvectsub{#1}{#2}{z}\rv}}
\newcommand{\scompsDvectsub}[2]{\ensuremath{\lv
  \compDvectsub{#1}{#2}{x},
  \compDvectsub{#1}{#2}{y},
  \compDvectsub{#1}{#2}{z},\rv}}
\newcommand{\dermagvectsub}[3]{\ensuremath{\dbyd{\magvectsub{#1}{#2}}{#3}}}
\newcommand{\Dermagvectsub}[3]{\ensuremath{\DbyD{\magvectsub{#1}{#2}}{#3}}}
\newcommand{\dervectsub}[3]{\ensuremath{\dbyd{\vectsub{#1}{#2}}{#3}}}
\newcommand{\Dervectsub}[3]{\ensuremath{\DbyD{\vectsub{#1}{#2}}{#3}}}
\ifthenelse{\boolean{@optdoubleabsbars}}
  {\newcommand{\magdervectsub}[3]{\ensuremath{\magof{\dervectsub{#1}{#2}{#3}}}}
   \newcommand{\magDervectsub}[3]{\ensuremath{\magof{\Dervectsub{#1}{#2}{#3}}}}}
  {\newcommand{\magdervectsub}[3]{\ensuremath{\abs{\dervectsub{#1}{#2}{#3}}}}
   \newcommand{\magDervectsub}[3]{\ensuremath{\abs{\Dervectsub{#1}{#2}{#3}}}}}
\newcommand{\compdervectsub}[4]{\ensuremath{\dbyd{\compvectsub{#1}{#2}{#4}}{#3}}}
\newcommand{\compDervectsub}[4]{\ensuremath{\DbyD{\compvectsub{#1}{#2}{#4}}{#3}}}
\newcommand{\scompsdervectsub}[3]{\ensuremath{\lv
  \compdervectsub{#1}{#2}{#3}{x},
  \compdervectsub{#1}{#2}{#3}{y},
  \compdervectsub{#1}{#2}{#3}{z}\rv}}
\newcommand{\scompsDervectsub}[3]{\ensuremath{\lv
  \compDervectsub{#1}{#2}{#3}{x},
  \compDervectsub{#1}{#2}{#3}{y},
  \compDervectsub{#1}{#2}{#3}{z}\rv}}
\newcommand{\comppossub}[2]{\ensuremath{\ssub{#2}{#1}}}
\newcommand{\scompspossub}[1]{\ensuremath{\lv
  \comppossub{#1}{x},
  \comppossub{#1}{y},
  \comppossub{#1}{z}\rv}}
\newcommand{\compdpossub}[2]{\ensuremath{\mathrm{d}\comppossub{#1}{#2}}}
\newcommand{\compDpossub}[2]{\ensuremath{\Delta\comppossub{#1}{#2}}}
\newcommand{\scompsdpossub}[1]{\ensuremath{\lv
  \compdpossub{#1}{x},
  \compdpossub{#1}{y},
  \compdpossub{#1}{z}\rv}}
\newcommand{\scompsDpossub}[1]{\ensuremath{\lv
  \compDpossub{#1}{x},
  \compDpossub{#1}{y},
  \compDpossub{#1}{z}\rv}}
\newcommand{\compderpossub}[3]{\ensuremath{\dbyd{\comppossub{#1}{#3}}{#2}}}
\newcommand{\compDerpossub}[3]{\ensuremath{\DbyD{\comppossub{#1}{#3}}{#2}}}
\newcommand{\scompsderpossub}[2]{\ensuremath{\lv
  \compderpossub{#1}{#2}{x},
  \compderpossub{#1}{#2}{y},
  \compderpossub{#1}{#2}{z}\rv}}
\newcommand{\scompsDerpossub}[2]{\ensuremath{\lv
  \compDerpossub{#1}{#2}{x},
  \compDerpossub{#1}{#2}{y},
  \compDerpossub{#1}{#2}{z}\rv}}
\newcommand{\relpos}[1]{\ensuremath{\vectsub{r}{#1}}}
\newcommand{\relvel}[1]{\ensuremath{\vectsub{v}{#1}}}
\newcommand{\relmom}[1]{\ensuremath{\vectsub{p}{#1}}}
\newcommand{\relfor}[1]{\ensuremath{\vectsub{F}{#1}}}
\newcommand{\vectdotvect}[2]{\ensuremath{{#1}\bullet{#2}}}
\newcommand{\vectdotsvect}[2]{\ensuremath{\scompsvect{#1}\bullet\scompsvect{#2}}}
\newcommand{\vectdotevect}[2]{\ensuremath{
  \compvect{#1}{x}\compvect{#2}{x}+
  \compvect{#1}{y}\compvect{#2}{y}+
  \compvect{#1}{z}\compvect{#2}{z}}}
\newcommand{\vectdotspos}[1]{\ensuremath{\scompsvect{#1}\bullet\scompspos}}
\newcommand{\vectdotepos}[1]{\ensuremath{
  \compvect{#1}{x}\comppos{x}+
  \compvect{#1}{y}\comppos{y}+
  \compvect{#1}{z}\comppos{z}}}
\newcommand{\vectdotsdvect}[2]{\ensuremath{\scompsvect{#1}\bullet\scompsdvect{#2}}}
\newcommand{\vectdotsDvect}[2]{\ensuremath{\scompsvect{#1}\bullet\scompsDvect{#2}}}
\newcommand{\vectdotedvect}[2]{\ensuremath{
  \compvect{#1}{x}\compdvect{#2}{x}+
  \compvect{#1}{y}\compdvect{#2}{y}+
  \compvect{#1}{z}\compdvect{#2}{z}}}
\newcommand{\vectdoteDvect}[2]{\ensuremath{
  \compvect{#1}{x}\compDvect{#2}{x}+
  \compvect{#1}{y}\compDvect{#2}{y}+
  \compvect{#1}{z}\compDvect{#2}{z}}}
\newcommand{\vectdotsdpos}[1]{\ensuremath{\scompsvect{#1}\bullet\scompsdpos}}
\newcommand{\vectdotsDpos}[1]{\ensuremath{\scompsvect{#1}\bullet\scompsDpos}}
\newcommand{\vectdotedpos}[1]{\ensuremath{
  \compvect{#1}{x}\compdpos{x}+
  \compvect{#1}{y}\compdpos{y}+
  \compvect{#1}{z}\compdpos{z}}}
\newcommand{\vectdoteDpos}[1]{\ensuremath{
  \compvect{#1}{x}\compDpos{x}+
  \compvect{#1}{y}\compDpos{y}+
  \compvect{#1}{z}\compDpos{z}}}
\newcommand{\vectsubdotsvectsub}[4]{\ensuremath{
  \scompsvectsub{#1}{#2}\bullet\scompsvectsub{#3}{#4}}}
\newcommand{\vectsubdotevectsub}[4]{\ensuremath{
  \compvectsub{#1}{#2}{x}\compvectsub{#3}{#4}{x}+
  \compvectsub{#1}{#2}{y}\compvectsub{#3}{#4}{y}+
  \compvectsub{#1}{#2}{z}\compvectsub{#3}{#4}{z}}}
\newcommand{\vectsubdotsdvectsub}[4]{\ensuremath{
  \scompsvectsub{#1}{#2}\bullet\scompsdvectsub{#3}{#4}}}
\newcommand{\vectsubdotsDvectsub}[4]{\ensuremath{
  \scompsvectsub{#1}{#2}\bullet\scompsDvectsub{#3}{#4}}}
\newcommand{\vectsubdotedvectsub}[4]{\ensuremath{
  \compvectsub{#1}{#2}{x}\compdvectsub{#3}{#4}{x}+
  \compvectsub{#1}{#2}{y}\compdvectsub{#3}{#4}{y}+
  \compvectsub{#1}{#2}{z}\compdvectsub{#3}{#4}{z}}}
\newcommand{\vectsubdoteDvectsub}[4]{\ensuremath{
  \compvectsub{#1}{#2}{x}\compDvectsub{#3}{#4}{x}+
  \compvectsub{#1}{#2}{y}\compDvectsub{#3}{#4}{y}+
  \compvectsub{#1}{#2}{z}\compDvectsub{#3}{#4}{z}}}
\newcommand{\vectsubdotsdvect}[3]{\ensuremath{
  \scompsvectsub{#1}{#2}\bullet\scompsdvect{#3}}}
\newcommand{\vectsubdotsDvect}[3]{\ensuremath{
  \scompsvectsub{#1}{#2}\bullet\scompsDvect{#3}}}
\newcommand{\vectsubdotedvect}[3]{\ensuremath{
  \compvectsub{#1}{#2}{x}\compdvect{#3}{x}+
  \compvectsub{#1}{#2}{y}\compdvect{#3}{y}+
  \compvectsub{#1}{#2}{z}\compdvect{#3}{z}}}
\newcommand{\vectsubdoteDvect}[3]{\ensuremath{
  \compvectsub{#1}{#2}{x}\compDvect{#3}{x}+
  \compvectsub{#1}{#2}{y}\compDvect{#3}{y}+
  \compvectsub{#1}{#2}{z}\compDvect{#3}{z}}}
\newcommand{\vectsubdotsdpos}[2]{\ensuremath{
  \scompsvectsub{#1}{#2}\bullet\scompsdpos}}
\newcommand{\vectsubdotsDpos}[2]{\ensuremath{
  \scompsvectsub{#1}{#2}\bullet\scompsDpos}}
\newcommand{\vectsubdotedpos}[2]{\ensuremath{
  \compvectsub{#1}{#2}{x}\compdpos{x}+
  \compvectsub{#1}{#2}{y}\compdpos{y}+
  \compvectsub{#1}{#2}{z}\compdpos{z}}}
\newcommand{\vectsubdoteDpos}[2]{\ensuremath{
  \compvectsub{#1}{#2}{x}\compDpos{x}+
  \compvectsub{#1}{#2}{y}\compDpos{y}+
  \compvectsub{#1}{#2}{z}\compDpos{z}}}
\newcommand{\dervectdotsvect}[3]{\ensuremath{
  \scompsdervect{#1}{#2}\bullet\scompsvect{#3}}}
\newcommand{\Dervectdotsvect}[3]{\ensuremath{
  \scompsDervect{#1}{#2}\bullet\scompsvect{#3}}}
\newcommand{\dervectdotevect}[3]{\ensuremath{
  \compdervect{#1}{#2}{x}\compvect{#3}{x}+
  \compdervect{#1}{#2}{y}\compvect{#3}{y}+
  \compdervect{#1}{#2}{z}\compvect{#3}{z}}}
\newcommand{\Dervectdotevect}[3]{\ensuremath{
  \compDervect{#1}{#2}{x}\compvect{#3}{x}+
  \compDervect{#1}{#2}{y}\compvect{#3}{y}+
  \compDervect{#1}{#2}{z}\compvect{#3}{z}}}
\newcommand{\vectdotsdervect}[3]{\ensuremath{
  \scompsvect{#1}\bullet\scompsdervect{#2}{#3}}}
\newcommand{\vectdotsDervect}[3]{\ensuremath{
  \scompsvect{#1}\bullet\scompsDervect{#2}{#3}}}
\newcommand{\vectdotedervect}[3]{\ensuremath{
  \compvect{#1}{x}\compdervect{#2}{#3}{x}+
  \compvect{#1}{y}\compdervect{#2}{#3}{y}+
  \compvect{#1}{z}\compdervect{#2}{#3}{z}}}
\newcommand{\vectdoteDervect}[3]{\ensuremath{
  \compvect{#1}{x}\compDervect{#2}{#3}{x}+
  \compvect{#1}{y}\compDervect{#2}{#3}{y}+
  \compvect{#1}{z}\compDervect{#2}{#3}{z}}}
\newcommand{\dervectdotspos}[2]{\ensuremath{
  \scompsdervect{#1}{#2}\bullet\scompspos}}
\newcommand{\Dervectdotspos}[2]{\ensuremath{
  \scompsDervect{#1}{#2}\bullet\scompspos}}
\newcommand{\dervectdotepos}[2]{\ensuremath{
  \compdervect{#1}{#2}{x}\comppos{x}+
  \compdervect{#1}{#2}{y}\comppos{y}+
  \compdervect{#1}{#2}{z}\comppos{z}}}
\newcommand{\Dervectdotepos}[2]{\ensuremath{
  \compDervect{#1}{#2}{x}\comppos{x}+
  \compDervect{#1}{#2}{y}\comppos{y}+
  \compDervect{#1}{#2}{z}\comppos{z}}}
\newcommand{\dervectdotsdvect}[3]{\ensuremath{
  \scompsdervect{#1}{#2}\bullet\scompsdvect{#3}}}
\newcommand{\DervectdotsDvect}[3]{\ensuremath{
  \scompsDervect{#1}{#2}\bullet\scompsDvect{#3}}}
\newcommand{\dervectdotedvect}[3]{\ensuremath{
  \compdervect{#1}{#2}{x}\compdvect{#3}{x}+
  \compdervect{#1}{#2}{y}\compdvect{#3}{y}+
  \compdervect{#1}{#2}{z}\compdvect{#3}{z}}}
\newcommand{\DervectdoteDvect}[3]{\ensuremath{
  \compDervect{#1}{#2}{x}\compDvect{#3}{x}+
  \compDervect{#1}{#2}{y}\compDvect{#3}{y}+
  \compDervect{#1}{#2}{z}\compDvect{#3}{z}}}
\newcommand{\dervectdotsdpos}[2]{\ensuremath{
  \scompsdervect{#1}{#2}\bullet\scompsdpos}}
\newcommand{\DervectdotsDpos}[2]{\ensuremath{
  \scompsDervect{#1}{#2}\bullet\scompsDpos}}
\newcommand{\dervectdotedpos}[2]{\ensuremath{
  \compdervect{#1}{#2}{x}\compdpos{x}+
  \compdervect{#1}{#2}{y}\compdpos{y}+
  \compdervect{#1}{#2}{z}\compdpos{z}}}
\newcommand{\DervectdoteDpos}[2]{\ensuremath{
  \compDervect{#1}{#2}{x}\compDpos{x}+
  \compDervect{#1}{#2}{y}\compDpos{y}+
  \compDervect{#1}{#2}{z}\compDpos{z}}}
\newcommand{\ezero}{\ensuremath{\msub{\mathbf{e}}{0}}}
\newcommand{\eone}{\ensuremath{\msub{\mathbf{e}}{1}}}
\newcommand{\etwo}{\ensuremath{\msub{\mathbf{e}}{2}}}
\newcommand{\ethree}{\ensuremath{\msub{\mathbf{e}}{3}}}
\newcommand{\efour}{\ensuremath{\msub{\mathbf{e}}{4}}}
\newcommand{\ek}[1]{\ensuremath{\msub{\mathbf{e}}{#1}}}
\newcommand{\e}{\ek}
\newcommand{\uezero}{\ensuremath{\msub{\widehat{\mathbf{e}}}{0}}}
\newcommand{\ueone}{\ensuremath{\msub{\widehat{\mathbf{e}}}{1}}}
\newcommand{\uetwo}{\ensuremath{\msub{\widehat{\mathbf{e}}}{2}}}
\newcommand{\uethree}{\ensuremath{\msub{\widehat{\mathbf{e}}}{3}}}
\newcommand{\uefour}{\ensuremath{\msub{\widehat{\mathbf{e}}}{4}}}
\newcommand{\uek}[1]{\ensuremath{\msub{\widehat{\mathbf{e}}}{#1}}}
\newcommand{\ue}{\uek}
\newcommand{\ezerozero}{\ek{00}}
\newcommand{\eoneone}{\ek{11}}
\newcommand{\eonetwo}{\ek{12}}
\newcommand{\eonethree}{\ek{13}}
\newcommand{\eonefour}{\ek{14}}
\newcommand{\etwoone}{\ek{21}}
\newcommand{\etwotwo}{\ek{22}}
\newcommand{\etwothree}{\ek{23}}
\newcommand{\etwofour}{\ek{24}}
\newcommand{\ethreeone}{\ek{31}}
\newcommand{\ethreetwo}{\ek{32}}
\newcommand{\ethreethree}{\ek{33}}
\newcommand{\ethreefour}{\ek{34}}
\newcommand{\efourone}{\ek{41}}
\newcommand{\efourtwo}{\ek{42}}
\newcommand{\efourthree}{\ek{43}}
\newcommand{\efourfour}{\ek{44}}
\newcommand{\euzero}{\ensuremath{\msup{\mathbf{e}}{0}}}
\newcommand{\euone}{\ensuremath{\msup{\mathbf{e}}{1}}}
\newcommand{\eutwo}{\ensuremath{\msup{\mathbf{e}}{2}}}
\newcommand{\euthree}{\ensuremath{\msup{\mathbf{e}}{3}}}
\newcommand{\eufour}{\ensuremath{\msup{\mathbf{e}}{4}}}
\newcommand{\euk}[1]{\ensuremath{\msup{\mathbf{e}}{#1}}}
\newcommand{\eu}{\euk}
\newcommand{\euzerozero}{\euk{00}}
\newcommand{\euoneone}{\euk{11}}
\newcommand{\euonetwo}{\euk{12}}
\newcommand{\euonethree}{\euk{13}}
\newcommand{\euonefour}{\euk{14}}
\newcommand{\eutwoone}{\euk{21}}
\newcommand{\eutwotwo}{\euk{22}}
\newcommand{\eutwothree}{\euk{23}}
\newcommand{\eutwofour}{\euk{24}}
\newcommand{\euthreeone}{\euk{31}}
\newcommand{\euthreetwo}{\euk{32}}
\newcommand{\euthreethree}{\euk{33}}
\newcommand{\euthreefour}{\euk{34}}
\newcommand{\eufourone}{\euk{41}}
\newcommand{\eufourtwo}{\euk{42}}
\newcommand{\eufourthree}{\euk{43}}
\newcommand{\eufourfour}{\euk{44}}
\newcommand{\gzero}{\ensuremath{\msub{\mathbf{\gamma}}{0}}}
\newcommand{\gone}{\ensuremath{\msub{\mathbf{\gamma}}{1}}}
\newcommand{\gtwo}{\ensuremath{\msub{\mathbf{\gamma}}{2}}}
\newcommand{\gthree}{\ensuremath{\msub{\mathbf{\gamma}}{3}}}
\newcommand{\gfour}{\ensuremath{\msub{\mathbf{\gamma}}{4}}}
\newcommand{\gk}[1]{\ensuremath{\msub{\mathbf{\gamma}}{#1}}}
\newcommand{\g}{\gk}
\newcommand{\gzerozero}{\gk{00}}
\newcommand{\goneone}{\gk{11}}
\newcommand{\gonetwo}{\gk{12}}
\newcommand{\gonethree}{\gk{13}}
\newcommand{\gonefour}{\gk{14}}
\newcommand{\gtwoone}{\gk{21}}
\newcommand{\gtwotwo}{\gk{22}}
\newcommand{\gtwothree}{\gk{23}}
\newcommand{\gtwofour}{\gk{24}}
\newcommand{\gthreeone}{\gk{31}}
\newcommand{\gthreetwo}{\gk{32}}
\newcommand{\gthreethree}{\gk{33}}
\newcommand{\gthreefour}{\gk{34}}
\newcommand{\gfourone}{\gk{41}}
\newcommand{\gfourtwo}{\gk{42}}
\newcommand{\gfourthree}{\gk{43}}
\newcommand{\gfourfour}{\gk{44}}
\newcommand{\guzero}{\ensuremath{\msup{\mathbf{\gamma}}{0}}}
\newcommand{\guone}{\ensuremath{\msup{\mathbf{\gamma}}{1}}}
\newcommand{\gutwo}{\ensuremath{\msup{\mathbf{\gamma}}{2}}}
\newcommand{\guthree}{\ensuremath{\msup{\mathbf{\gamma}}{3}}}
\newcommand{\gufour}{\ensuremath{\msup{\mathbf{\gamma}}{4}}}
\newcommand{\guk}[1]{\ensuremath{\msup{\mathbf{\gamma}}{#1}}}
\newcommand{\gu}{\guk}
\newcommand{\guzerozero}{\guk{00}}
\newcommand{\guoneone}{\guk{11}}
\newcommand{\guonetwo}{\guk{12}}
\newcommand{\guonethree}{\guk{13}}
\newcommand{\guonefour}{\guk{14}}
\newcommand{\gutwoone}{\guk{21}}
\newcommand{\gutwotwo}{\guk{22}}
\newcommand{\gutwothree}{\guk{23}}
\newcommand{\gutwofour}{\guk{24}}
\newcommand{\guthreeone}{\guk{31}}
\newcommand{\guthreetwo}{\guk{32}}
\newcommand{\guthreethree}{\guk{33}}
\newcommand{\guthreefour}{\guk{34}}
\newcommand{\gufourone}{\guk{41}}
\newcommand{\gufourtwo}{\guk{42}}
\newcommand{\gufourthree}{\guk{43}}
\newcommand{\gufourfour}{\guk{44}}
\ExplSyntaxOn
\NewDocumentCommand{\mivector}{ O{,} m o }%
 {%
   \mi_vector:nn { #1 } { #2 }
   \IfValueT{#3}{\;{#3}}
 }%
\seq_new:N \l__mi_list_seq
\cs_new_protected:Npn \mi_vector:nn #1 #2
{%
  \ensuremath{%
    \seq_set_split:Nnn \l__mi_list_seq { , } { #2 }
    \int_compare:nF { \seq_count:N \l__mi_list_seq = 1 } { \left\langle }
    \seq_use:Nnnn \l__mi_list_seq { #1 } { #1 } { #1 }
    \int_compare:nF { \seq_count:N \l__mi_list_seq = 1 } { \right\rangle }
  }%
}%
\ExplSyntaxOff
\ExplSyntaxOn
\seq_new:N \l__vector_arg_seq
\cs_new_protected:Npn \vector_main:nnnn #1 #2 #3 #4
 {%
  \seq_set_split:Nnn \l__vector_arg_seq { #3 } { #4 }
  \begin{#1matrix}
    \seq_use:Nnnn \l__vector_arg_seq { #2 } { #2 } { #2 }
  \end{#1matrix}
 }%
\NewDocumentCommand{\rowvector}{ O{,} m }
 {%
  \ensuremath{
  \vector_main:nnnn { p } { \,\, } { #1 } { #2 }
  }%
 }%
\NewDocumentCommand{\colvector}{ O{,} m }
 {%
  \ensuremath{
  \vector_main:nnnn { p } { \\ } { #1 } { #2 }
  }%
 }%
\ExplSyntaxOff
\newcommandx{\scompscvect}[2][1,usedefault]{%
  \ifthenelse{\equal{#1}{}}%
  {%
    \colvector{\msub{#2}{1},\msub{#2}{2},\msub{#2}{3}}%
  }%
  {%
    \colvector{\msub{#2}{0},\msub{#2}{1},\msub{#2}{2},\msub{#2}{3}}%
  }%
}%
\newcommandx{\scompsrvect}[2][1,usedefault]{%
  \ifthenelse{\equal{#1}{}}%
  {%
    \rowvector[,]{\msub{#2}{1},\msub{#2}{2},\msub{#2}{3}}%
  }%
  {%
    \rowvector[,]{\msub{#2}{0},\msub{#2}{1},\msub{#2}{2},\msub{#2}{3}}%
  }%
}%
\newphysicsconstant{oofpez}{\ensuremath{\frac{1}{\phantom{_o}4\pi\ssub{\epsilon}{o}}}}
{\scin[9]{9}}{\ensuremath{\m\cubed\usk\kg\usk\reciprocalquartic\s\usk\\reciprocalsquared}}
[\m\per\farad][\newton\usk\m\squared\per\coulomb\squared]
\newphysicsconstant{oofpezcs}{\ensuremath{\frac{1}{\phantom{_o}4\pi\ssub{\epsilon}{o}
c^2\phantom{_o}}}}{\scin{-7}}{\m\usk\kg\usk\s\reciprocalsquared\usk\A\reciprocalsquared}
[\T\usk\m\squared][\N\usk\s\squared\per\C\squared]
\newphysicsconstant{epsz}{\ensuremath{\ssub{\epsilon}{o}}}{\scin[9]{-12}}
{\m\reciprocalcubed\usk\reciprocal\kg\usk\s\quarted\usk\A\squared}[\F\per\m]
[\C\squared\per\N\usk\m\squared]
\newphysicsconstant{mzofp}{\ensuremath{\frac{\phantom{_oo}\ssub{\mu}{o}\phantom{_o}}
{4\pi}}}{\scin{-7}}{\m\usk\kg\usk\s\reciprocalsquared\usk\A\reciprocalsquared}
[\henry\per\m]
[\tesla\usk\m\per\A]
\newphysicsconstant{muz}{\ensuremath{\ssub{\mu}{o}}}{\scin[4\pi]{-7}}
{\m\usk\kg\usk\s\reciprocalsquared\usk\A\reciprocalsquared}[\henry\per\m]
[\T\usk\m\per\A]
\newphysicsconstant{kboltz}{\ensuremath{\ssub{k}{B}}}{\scin[1.38]{-23}}
{\kg\usk\m\squared\usk\reciprocalsquare\s\usk\reciprocal\K}[\joule\per\K][\J\per\K]
\newcommand{\kboltznev}{\ensuremath{\scin[8.62]{-5}{\eV\per\K}}}
\newphysicsconstant{stefan}{\ensuremath{\sigma}}{\scin[5.67]{-8}}
{\kg\usk\s\reciprocalcubed\usk\K\reciprocalquarted}[\W\per\m\squared\usk\K^4]
[\W\per\m\squared\usk\K\quarted]
\newphysicsconstant{planck}{\ensuremath{h}}{\scin[6.62]{-34}}
{\m\squared\usk\kg\usk\reciprocal\s}[\J\usk\s][\kg\usk\m\squared\per\s]
\newcommand{\plancknev}{\ensuremath{\scin[4.136]{-15}{\eV\usk\s}}}
\newphysicsconstant{planckbar}{\ensuremath{\hbar}}{\scin[1.05]{-34}}
{\m\squared\usk\kg\usk\reciprocal\s}[\joule\usk\s][\kg\usk\m\squared\per\s]
\newcommand{\planckbarnev}{\ensuremath{\scin[4.136]{-15}{\eV\usk\s}}}
\newphysicsconstant{Navogadro}{\ensuremath{\ssub{N}{A}}}{\scin[6.022]{23}}
{\reciprocal\mol}[\reciprocal\mol][\reciprocal\mol]
\newphysicsconstant{bigG}{\ensuremath{G}}{\scin[6.67]{-11}}
{\m\cubed\usk\reciprocal\kg\usk\s\reciprocalsquared}[\J\usk\m\per\kg\squared]
[\N\usk\m\squared\per\kg\squared]
\newphysicsconstant{littleg}{\ensuremath{g}}{9.80}{\m\usk\s\reciprocalsquared}
[\N\per\kg][\m\per\s\squared]
\newphysicsconstant{clight}{\ensuremath{c}}{\scin[3.00]{8}}{\m\usk\reciprocal\s}
[\m\usk\reciprocal\s][\m\per\s]
\newcommand{\clightnfn}{\ensuremath{\unit{1}{\mathrm{ft}\per\mathrm{n}\s}}}
\newphysicsconstant{Ratom}{\ensuremath{\ssub{r}{atom}}}{\scin{-10}}{\m}[\m][\m]
\newphysicsconstant{Mproton}{\ensuremath{\ssub{m}{proton}}}{\scin[1.673]{-27}}
{\kg}[\kg][\kg]
\newphysicsconstant{Mneutron}{\ensuremath{\ssub{m}{neutron}}}{\scin[1.675]{-27}}
{\kg}[\kg][\kg]
\newphysicsconstant{Mhydrogen}{\ensuremath{\ssub{m}{hydrogen}}}{\scin[1.673]{-27}}
{\kg}[\kg][\kg]
\newphysicsconstant{Melectron}{\ensuremath{\ssub{m}{electron}}}{\scin[9.109]{-31}}
{\kg}[\kg][\kg]
\newphysicsconstant{echarge}{\ensuremath{e}}{\scin[1.602]{-19}}{\A\usk\s}[\C][\C]
\newphysicsconstant{Qelectron}{\ensuremath{\ssub{Q}{electron}}}{-\echargevalue}
{\A\usk\s}[\C][\C]
\newphysicsconstant{qelectron}{\ensuremath{\ssub{q}{electron}}}{-\echargevalue}
{\A\usk\s}[\C][\C]
\newphysicsconstant{Qproton}{\ensuremath{\ssub{Q}{proton}}}{+\echargevalue}
{\A\usk\s}[\C][\C]
\newphysicsconstant{qproton}{\ensuremath{\ssub{q}{proton}}}{+\echargevalue}
{\A\usk\s}[\C][\C]
\newphysicsconstant{MEarth}{\ensuremath{\ssub{M}{Earth}}}{\scin[6]{24}}{\kg}[\kg][\kg]
\newphysicsconstant{MMoon}{\ensuremath{\ssub{M}{Moon}}}{\scin[7]{22}}{\kg}[\kg][\kg]
\newphysicsconstant{MSun}{\ensuremath{\ssub{M}{Sun}}}{\scin[2]{30}}{\kg}[\kg][\kg]
\newphysicsconstant{REarth}{\ensuremath{\ssub{R}{Earth}}}{\scin[6.4]{6}}{\m}[\m][\m]
\newphysicsconstant{RMoon}{\ensuremath{\ssub{R}{Moon}}}{\scin[1.75]{6}}{\m}[\m][\m]
\newphysicsconstant{RSun}{\ensuremath{\ssub{R}{Sun}}}{\scin[7]{8}}{\m}[\m][\m]
\newphysicsconstant{ESdist}{\magvectsub{r}{ES}}{\scin[1.5]{11}}{\m}[\m][\m]
\newphysicsconstant{SEdist}{\magvectsub{r}{SE}}{\scin[1.5]{11}}{\m}[\m][\m]
\newphysicsconstant{EMdist}{\magvectsub{r}{EM}}{\scin[4]{8}}{\m}[\m][\m]
\newphysicsconstant{MEdist}{\magvectsub{r}{ME}}{\scin[4]{8}}{\m}[\m][\m]
\newcommand{\lightyear}{\ensuremath{\mathrm{ly}}}
\newcommand{\Lightyear}{\ensuremath{\mathrm{LY}}}
\newcommand{\cyear}{\ensuremath{c\usk\mathrm{year}}}
\newcommand{\cyr}{\ensuremath{c\usk\mathrm{yr}}}
\newcommand{\yyear}{\ensuremath{\mathrm{year}}}
\newcommand{\yr}{\ensuremath{\mathrm{yr}}}
\newcommand{\parsec}{\ensuremath{\mathrm{pc}}}
\newphysicsconstant{LSun}{\ensuremath{\ssub{L}{Sun}}}{\scin[4]{26}}
  {\m\squared\usk\kg\usk\s\reciprocalcubed}[\W][\J\per\s]
\newphysicsconstant{TSun}{\ensuremath{\ssub{T}{Sun}}}{5800}{\K}[\K][\K]
\newphysicsconstant{MagSun}{\ensuremath{\ssub{M}{Sun}}}{+4.83}{}[][]
\newphysicsconstant{magSun}{\ensuremath{\ssub{m}{Sun}}}{-26.74}{}[][]
\newcommand{\Lstar}[1][\(\star\)]{\ensuremath{\ssub{L}{#1}}}
\newcommand{\Lsolar}{\ensuremath{\Lstar[\(\odot\)]}}
\newcommand{\Tstar}[1][\(\star\)]{\ensuremath{\ssub{T}{#1}}}
\newcommand{\Tsolar}{\ensuremath{\Tstar[\(\odot\)]}}
\newcommand{\Rstar}[1][\(\star\)]{\ensuremath{\ssub{R}{#1}}}
\newcommand{\Rsolar}{\ensuremath{\Rstar[\(\odot\)]}}
\newcommand{\Mstar}[1][\(\star\)]{\ensuremath{\ssub{M}{#1}}}
\newcommand{\Msolar}{\ensuremath{\Mstar[\(\odot\)]}}
\newcommand{\Fstar}[1][\(\star\)]{\ensuremath{\ssub{F}{#1}}}
\newcommand{\fstar}[1][\(\star\)]{\ensuremath{\ssub{f}{#1}}}
\newcommand{\FSun}{\ensuremath{\Fstar[Sun]}}
\newcommand{\fSun}{\ensuremath{\fstar[Sun]}}
\newcommand{\Fsolar}{\ensuremath{\Fstar[\(\odot\)]}}
\newcommand{\fsolar}{\ensuremath{\fstar[\(\odot\)]}}
\newcommand{\Magstar}[1][\(\star\)]{\ensuremath{\ssub{M}{#1}}}
\newcommand{\magstar}[1][\(\star\)]{\ensuremath{\ssub{m}{#1}}}
\newcommand{\Magsolar}{\ensuremath{\Magstar[\(\odot\)]}}
\newcommand{\magsolar}{\ensuremath{\magstar[\(\odot\)]}}
\newcommand{\Dstar}[1][\(\star\)]{\ensuremath{\ssub{D}{#1}}}
\newcommand{\dstar}[1][\(\star\)]{\ensuremath{\ssub{d}{#1}}}
\newcommand{\Dsolar}{\ensuremath{\Dstar[\(\odot\)]}}
\newcommand{\dsolar}{\ensuremath{\dstar[\(\odot\)]}}
\newcommand{\onehalf}{\ensuremath{\frac{1}{2}}\xspace}
\newcommand{\onethird}{\ensuremath{\frac{1}{3}}\xspace}
\newcommand{\onefourth}{\ensuremath{\frac{1}{4}}\xspace}
\newcommand{\onefifth}{\ensuremath{\frac{1}{5}}\xspace}
\newcommand{\onesixth}{\ensuremath{\frac{1}{6}}\xspace}
\newcommand{\oneseventh}{\ensuremath{\frac{1}{7}}\xspace}
\newcommand{\oneeighth}{\ensuremath{\frac{1}{8}}\xspace}
\newcommand{\oneninth}{\ensuremath{\frac{1}{9}}\xspace}
\newcommand{\onetenth}{\ensuremath{\frac{1}{10}}\xspace}
\newcommand{\twothirds}{\ensuremath{\frac{2}{3}}\xspace}
\newcommand{\twofifths}{\ensuremath{\frac{2}{5}}\xspace}
\newcommand{\twosevenths}{\ensuremath{\frac{2}{7}}\xspace}
\newcommand{\twoninths}{\ensuremath{\frac{2}{9}}\xspace}
\newcommand{\threehalves}{\ensuremath{\frac{3}{2}}\xspace}
\newcommand{\threefourths}{\ensuremath{\frac{3}{4}}\xspace}
\newcommand{\threefifths}{\ensuremath{\frac{3}{5}}\xspace}
\newcommand{\threesevenths}{\ensuremath{\frac{3}{7}}\xspace}
\newcommand{\threeeighths}{\ensuremath{\frac{3}{8}}\xspace}
\newcommand{\threetenths}{\ensuremath{\frac{3}{10}}\xspace}
\newcommand{\fourthirds}{\ensuremath{\frac{4}{3}}\xspace}
\newcommand{\dx}[1]{\ensuremath{\,\mathrm{d}{#1}}}
\newcommand{\evalfromto}[3]{\ensuremath{\Bigg.{#1}\Bigg\rvert_{#2}^{#3}}}
\@ifpackageloaded{physymb}{%
  \typeout{mandi: Package physymb detected. Its commands will be used.}
}{%
  \newcommand{\evalat}[2]{\ensuremath{\Bigg.{#1}\Bigg\rvert_{#2}}}
}%
\newcommand{\evaluatedat}[1]{\ensuremath{\Bigg.\Bigg\rvert_{#1}}}
\newcommandx{\integral}[4][1,2,usedefault]{\ensuremath{
  \int_{\ifthenelse{\equal{#1}{}}{}{#4=#1}}^{\ifthenelse{\equal{#2}{}}{}{#4=#2}}}
  {#3}\dx{#4}}
\newcommandx{\Integral}[4][1,2,usedefault]{\ensuremath{
  \bigint_{\ifthenelse{\equal{#1}{}}{}{#4=#1}}^{\ifthenelse{\equal{#2}{}}{}
  {#4=#2}}}{#3}\dx{#4}}
\newcommand{\opensurfintegral}[2]{\ensuremath{
  \int\nolimits_{#1}\vectdotvect{\vect{#2}}{\dirvect{n}}\dx{A}}}
\newcommand{\opensurfIntegral}[2]{\ensuremath{
  \bigint\nolimits_{\mskip -25.00mu\displaystyle\mathbf{#1}}
  \vectdotvect{\vect{#2}}{\dirvect{n}}
  \dx{A}}}
\newcommand{\closedsurfintegral}[2]{\ensuremath{
  \oint\nolimits_{#1}\vectdotvect{\vect{#2}}{\dirvect{n}}\dx{A}}}
\newcommand{\closedsurfIntegral}[2]{\ensuremath{
  \bigoint\nolimits_{\mskip -25.00mu\displaystyle\mathbf{#1}}\;\;
  \vectdotvect{\vect{#2}}{\dirvect{n}}\dx{A}}}
\newcommand{\openlineintegral}[2]{\ensuremath{
  \int\nolimits_{#1}\vectdotvect{\vect{#2}}{\dirvect{t}}
  \dx{\ell}}}
\newcommand{\openlineIntegral}[2]{\ensuremath{
  \bigint\nolimits_{\mskip -25.00mu\displaystyle\mathbf{#1}}
  \vectdotvect{\vect{#2}}{\dirvect{t}}\dx{\ell}}}
\newcommand{\closedlineintegral}[2]{\ensuremath{
  \oint\nolimits_{#1}\vectdotvect{\vect{#2}}{\dirvect{t}}\dx{\ell}}}
\newcommand{\closedlineIntegral}[2]{\ensuremath{
  \bigoint\nolimits_{\mskip -25.00mu\displaystyle\mathbf {#1}}\;\;
  \vectdotvect{\vect{#2}}{\dirvect{t}}\dx{\ell}}}
\newcommandx{\dbydt}[1][1]{\ensuremath{\frac{\mathrm{d}{#1}}{\mathrm{d}t}}}
\newcommandx{\DbyDt}[1][1]{\ensuremath{\frac{\Delta{#1}}{\Delta t}}}
\newcommandx{\ddbydt}[1][1]{\ensuremath{\frac{\mathrm{d}^{2}{#1}}{\mathrm{d}t^{2}}}}
\newcommandx{\DDbyDt}[1][1]{\ensuremath{\frac{\Delta^{2}{#1}}{\Delta t^{2}}}}
\newcommandx{\pbypt}[1][1]{\ensuremath{\frac{\partial{#1}}{\partial t}}}
\newcommandx{\ppbypt}[1][1]{\ensuremath{\frac{\partial^{2}{#1}}{\partial t^{2}}}}
\newcommand{\dbyd}[2]{\ensuremath{\frac{\mathrm{d}{#1}}{\mathrm{d}{#2}}}}
\newcommand{\DbyD}[2]{\ensuremath{\frac{\Delta{#1}}{\Delta{#2}}}}
\newcommand{\ddbyd}[2]{\ensuremath{\frac{\mathrm{d}^{2}{#1}}{\mathrm{d}{#2}^{2}}}}
\newcommand{\DDbyD}[2]{\ensuremath{\frac{\Delta^{2}{#1}}{\Delta{#2}^{2}}}}
\newcommand{\pbyp}[2]{\ensuremath{\frac{\partial{#1}}{\partial{#2}}}}
\newcommand{\ppbyp}[2]{\ensuremath{\frac{\partial^{2}{#1}}{\partial{#2}^{2}}}}
\newcommand{\seriesfofx}{\ensuremath{%
f(x) \approx f(a) + \frac{f^\prime (a)}{1!}(x-a) + \frac{f^{\prime\prime}(a)}{2!}(x-a)^2
+ \frac{f^{\prime\prime\prime}(a)}{3!}(x-a)^3 + \ldots}\xspace}
\newcommand{\seriesexpx}{\ensuremath{%
e^x \approx 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \ldots}\xspace}
\newcommand{\seriessinx}{\ensuremath{%
\sin x \approx x - \frac{x^3}{3!} + \frac{x^5}{5!} - \ldots}\xspace}
\newcommand{\seriescosx}{\ensuremath{%
\cos x \approx 1 - \frac{x^2}{2!} + \frac{x^4}{4!} - \ldots}\xspace}
\newcommand{\seriestanx}{\ensuremath{%
\tan x \approx x + \frac{x^3}{3} + \frac{2x^5}{15} + \ldots}\xspace}
\newcommand{\seriesatox}{\ensuremath{%
a^x \approx 1 + x \ln{a} + \frac{(x \ln a)^2}{2!} + \frac{(x \ln a)^3}{3!} + \ldots}
\xspace}
\newcommand{\serieslnoneplusx}{\ensuremath{%
\ln(1 \pm x) \approx \pm\; x - \frac{x^2}{2} \pm \frac{x^3}{3} - \frac{x^4}{4} \pm \ldots}
\xspace}
\newcommand{\binomialseries}{\ensuremath{%
(1 + x)^n \approx 1 + nx + \frac{n(n-1)}{2!}x^2 + \ldots}\xspace}
\@ifpackageloaded{physymb}{%
    \typeout{mandi: Package physymb detected. Its commands will be used.}
}{%
  \newcommand{\gradient}{\ensuremath{\nabla}}
  \newcommand{\divergence}{\ensuremath{\nabla\bullet}}
  \newcommand{\curl}{\ensuremath{\nabla\times}}
  \newcommand{\laplacian}{\ensuremath{\msup{\nabla}{2}}}
  \newcommand{\dalembertian}{\ensuremath{\Box}}
}%
\newcommand{\diracdelta}[1]{\ensuremath{\boldsymbol{\delta}\quant{#1}}}
\@ifpackageloaded{physymb}{%
  \typeout{mandi: Package physymb detected. Its commands will be used.}
}{%
\DeclareMathOperator{\asin}{\sin^{-1}}
\DeclareMathOperator{\acos}{\cos^{-1}}
\DeclareMathOperator{\atan}{\tan^{-1}}
\DeclareMathOperator{\asec}{\sec^{-1}}
\DeclareMathOperator{\acsc}{\csc^{-1}}
\DeclareMathOperator{\acot}{\cot^{-1}}
\DeclareMathOperator{\sech}{sech}
\DeclareMathOperator{\csch}{csch}
\DeclareMathOperator{\asinh}{\sinh^{-1}}
\DeclareMathOperator{\acosh}{\cosh^{-1}}
\DeclareMathOperator{\atanh}{\tanh^{-1}}
\DeclareMathOperator{\asech}{\sech^{-1}}
\DeclareMathOperator{\acsch}{\csch^{-1}}
\DeclareMathOperator{\acoth}{\coth^{-1}}
\DeclareMathOperator{\sgn}{sgn}
}%
\DeclareMathOperator{\dex}{dex}
\newcommand{\eV}{\electronvolt}
\newcommand{\ev}{\electronvolt}
\newcommand{\logb}[1][\relax]{\ensuremath{\log_{_{#1}}}}
\ifthenelse{\boolean{@optitalicvectors}}
  {\newcommand{\cB}{\ensuremath{c\mskip -5.00mu B}}}
  {\newcommand{\cB}{\ensuremath{\textsf{c}\mskip -3.00mu\mathrm{B}}}}
\newcommand{\newpi}{\ensuremath{\pi\mskip -7.8mu\pi}}
\newcommand{\scripty}[1]{\ensuremath{\mathcalligra{#1}}}
\newcommandx{\flux}[1][1]{\ensuremath{\ssub{\Phi}{#1}}}
\@ifpackageloaded{physymb}{%
  \typeout{mandi: Package physymb detected. Its commands will be used.}
}{%
  \newcommand{\abs}[1]{\ensuremath{\left\lvert{#1}\right\rvert}}
}%
\newcommand{\magof}[1]{\ensuremath{\left\lVert{#1}\right\rVert}}
\newcommand{\dimsof}[1]{\ensuremath{\left[{#1}\right]}}
\newcommand{\unitsof}[1]{\ensuremath{\left[{#1}\right]_{_{u}}}}
\newcommand{\quant}[1]{\ensuremath{\left({#1}\right)}}
\newcommand{\bquant}[1]{\ensuremath{\left[{#1}\right]}}
\newcommand{\changein}[1]{\ensuremath{\delta{#1}}}
\newcommand{\Changein}[1]{\ensuremath{\Delta{#1}}}
\newcommandx{\scin}[3][1,3=\!\!,usedefault]{\ensuremath{
  \ifthenelse{\equal{#1}{}}
    {\unit{\msup{10}{#2}}{#3}}
    {\unit{\msup{{#1}\times 10}{#2}}{#3}}}}
\newcommand{\ee}[2]{\texttt{{#1}e{#2}}}
\newcommand{\EE}[2]{\texttt{{#1}E{#2}}}
\newcommand{\dms}[3]{\ensuremath{\indegrees{#1}\inarcminutes{#2}\inarcseconds{#3}}}
\newcommand{\hms}[3]{\ensuremath{{#1}^{\hour}{#2}^{\mathrm{m}}{#3}^{\s}}}
\newcommand{\clockreading}{\hms}
\newcommand{\latitude}[1]{\ensuremath{\unit{#1}{\degree}}}
\newcommand{\latitudeN}[1]{\ensuremath{\unit{#1}{\degree\; N}}}
\newcommand{\latitudeS}[1]{\ensuremath{\unit{#1}{\degree\; S}}}
\newcommand{\longitude}[1]{\ensuremath{\unit{#1}{\degree}}}
\newcommand{\longitudeE}[1]{\ensuremath{\unit{#1}{\degree\; E}}}
\newcommand{\longitudeW}[1]{\ensuremath{\unit{#1}{\degree\; W}}}
\newcommand{\ssub}[2]{\ensuremath{{#1}_{_{_{\mbox{\tiny{#2}}}}}}}
\newcommand{\ssup}[2]{\ensuremath{{#1}^{^{^{\mbox{\tiny{#2}}}}}}}
\newcommand{\ssud}[3]{\ensuremath{{#1}^{^{^{\mbox{\tiny{#2}}}}}_{_{_{\mbox{\tiny{#3}}}}}}}
\newcommand{\msub}[2]{\ensuremath{#1^{^{\scriptstyle{{}}}}_{_{_{\scriptstyle{#2}}}}}}
\newcommand{\msup}[2]{\ensuremath{#1^{^{\scriptstyle{#2}}}}}
\newcommand{\msud}[3]{\ensuremath{#1^{^{\scriptstyle{#2}}}_{_{_{\scriptstyle{#3}}}}}}
\newcommand{\levicivita}[1]{\ensuremath{\msub{\varepsilon}{#1}}}
\newcommand{\xaxis}{\ensuremath{x\mbox{-axis }}}
\newcommand{\yaxis}{\ensuremath{y\mbox{-axis }}}
\newcommand{\zaxis}{\ensuremath{z\mbox{-axis }}}
\newcommand{\naxis}[1]{\ensuremath{{#1}\mbox{-axis}}}
\newcommand{\xyplane}{\ensuremath{xy\mbox{-plane }}}
\newcommand{\yzplane}{\ensuremath{yz\mbox{-plane }}}
\newcommand{\zxplane}{\ensuremath{zx\mbox{-plane }}}
\newcommand{\yxplane}{\ensuremath{yx\mbox{-plane }}}
\newcommand{\zyplane}{\ensuremath{zy\mbox{-plane }}}
\newcommand{\xzplane}{\ensuremath{xz\mbox{-plane }}}
\newcommand{\cuberoot}[1]{\ensuremath{\sqrt[3]{#1}}}
\newcommand{\fourthroot}[1]{\ensuremath{\sqrt[4]{#1}}}
\newcommand{\fifthroot}[1]{\ensuremath{\sqrt[5]{#1}}}
\newcommand{\fsqrt}[1]{\ensuremath{\msup{#1}{\onehalf}}}
\newcommand{\fcuberoot}[1]{\ensuremath{\msup{#1}{\onethird}}}
\newcommand{\ffourthroot}[1]{\ensuremath{\msup{#1}{\onefourth}}}
\newcommand{\ffifthroot}[1]{\ensuremath{\msup{#1}{\onefifth}}}
\newcommand{\relgamma}[1]{\ensuremath{
  \frac{1}{\sqrt{1-\msup{\quant{\frac{#1}{c}}}{2}}}}}
\newcommand{\frelgamma}[1]{\ensuremath{
  \msup{\quant{1-\frac{\msup{{#1}}{2}}{\msup{c}{2}}}}{-\onehalf}}}
\newcommand{\oosqrtomxs}[1]{\ensuremath{\frac{1}{\sqrt{1-\msup{#1}{2}}}}}
\newcommand{\oosqrtomx}[1]{\ensuremath{\frac{1}{\sqrt{1-{#1}}}}}
\newcommand{\ooomx}[1]{\ensuremath{\frac{1}{1-{#1}}}}
\newcommand{\ooopx}[1]{\ensuremath{\frac{1}{1+{#1}}}}
\newcommand{\isequals}{\wordoperator{?}{=}\xspace}
\newcommand{\wordoperator}[2]{\ensuremath{%
  \mathrel{\vcenter{\offinterlineskip
  \halign{\hfil\tiny\upshape##\hfil\cr\noalign{\vskip-.5ex}
    {#1}\cr\noalign{\vskip.5ex}{#2}\cr}}}}}
\newcommand{\definedas}{\wordoperator{defined}{as}\xspace}
\newcommand{\associated}{\wordoperator{associated}{with}\xspace}
\newcommand{\adjustedby}{\wordoperator{adjusted}{by}\xspace}
\newcommand{\earlierthan}{\wordoperator{earlier}{than}\xspace}
\newcommand{\laterthan}{\wordoperator{later}{than}\xspace}
\newcommand{\forevery}{\wordoperator{for}{every}\xspace}
\newcommand{\pwordoperator}[2]{\ensuremath{\left(%
  \mathrel{\vcenter{\offinterlineskip
  \halign{\hfil\tiny\upshape##\hfil\cr\noalign{\vskip-.5ex}
    {#1}\cr\noalign{\vskip.5ex}{#2}\cr}}}\right)}}%
\newcommand{\pdefinedas}{\pwordoperator{defined}{as}\xspace}
\newcommand{\passociated}{\pwordoperator{associated}{with}\xspace}
\newcommand{\padjustedby}{\pwordoperator{adjusted}{by}\xspace}
\newcommand{\pearlierthan}{\pwordoperator{earlier}{than}\xspace}
\newcommand{\platerthan}{\pwordoperator{later}{than}\xspace}
\newcommand{\pforevery}{\pwordoperator{for}{every}\xspace}
\newcommand{\defines}{\ensuremath{\stackrel{\text{\tiny{def}}}{=}}\xspace}
\newcommand{\inframe}[1][\relax]{\ensuremath{\xrightarrow[\tiny{\mathcal #1}]{}}\xspace}
\newcommand{\associates}{\ensuremath{\xrightarrow{\text{\tiny{assoc}}}}\xspace}
\newcommand{\becomes}{\ensuremath{\xrightarrow{\text{\tiny{becomes}}}}\xspace}
\newcommand{\rrelatedto}[1]{\ensuremath{\xLongrightarrow{\text{\tiny{#1}}}}}
\newcommand{\lrelatedto}[1]{\ensuremath{\xLongleftarrow[\text{\tiny{#1}}]{}}}
\newcommand{\brelatedto}[2]{\ensuremath{
  \xLongleftrightarrow[\text{\tiny{#1}}]{\text{\tiny{#2}}}}}
\newcommand{\momprinciple}{\ensuremath{
  \vectsub{p}{sys,f}=\vectsub{p}{sys,i}+\Fnetsys\Delta t}}
\newcommand{\LHSmomprinciple}{\ensuremath{
  \vectsub{p}{sys,f}}}
\newcommand{\RHSmomprinciple}{\ensuremath{
  \vectsub{p}{sys,i}+\Fnetsys\Delta t}}
\newcommand{\energyprinciple}{\ensuremath{\ssub{E}{sys,f}=\ssub{E}{sys,i}+
  \ssub{W}{ext}+Q}}
\newcommand{\LHSenergyprinciple}{\ensuremath{\ssub{E}{sys,f}}}
\newcommand{\RHSenergyprinciple}{\ensuremath{\ssub{E}{sys,i}+\ssub{W}{ext}+Q}}
\newcommand{\angularmomprinciple}{\ensuremath{\vectsub{L}{sys,A,f}=\vectsub{L}{sys,A,i}+
  \Tnetsys\Delta t}}
\newcommand{\LHSangularmomprinciple}{\ensuremath{\vectsub{L}{sys,A,f}}}
\newcommand{\RHSangularmomprinciple}{\ensuremath{\vectsub{L}{sys,A,i}+\Tnetsys\Delta t}}
\newcommand{\gravinteraction}{\ensuremath{
  \bigGmathsymbol\frac{\msub{M}{1}\msub{M}{2}}{\msup{\magvectsub{r}{12}}{2}}
  \quant{-\dirvectsub{r}{12}}}}
\newcommand{\elecinteraction}{\ensuremath{
  \oofpezmathsymbol\frac{\msub{Q}{1}\msub{Q}{2}}{\msup{\magvectsub{r}{12}}{2}}
  \dirvectsub{r}{12}}}
\newcommand{\Bfieldofparticle}{\ensuremath{
  \mzofpmathsymbol\frac{Q\magvect{v}}{\msup{\magvect{r}}{2}}\dirvect{v}\times\dirvect{r}}}
\newcommand{\Efieldofparticle}{\ensuremath{
  \oofpezmathsymbol\frac{Q}{\msup{\magvect{r}}{2}}\dirvect{r}}}
\newcommand{\Esys}{\ssub{E}{sys}}
\newcommandx{\Us}[1][1]{\ssub{\ssub{U}{s}}{#1}}
\newcommandx{\Ug}[1][1]{\ssub{\ssub{U}{g}}{#1}}
\newcommandx{\Ue}[1][1]{\ssub{\ssub{U}{e}}{#1}}
\newcommandx{\Ktrans}[1][1]{\ssub{\ssub{K}{trans}}{#1}}
\newcommandx{\Krot}[1][1]{\ssub{\ssub{K}{rot}}{#1}}
\newcommandx{\Eparticle}[1][1]{\ssub{\ssub{E}{particle}}{#1}}
\newcommandx{\Einternal}[1][1]{\ssub{\ssub{E}{internal}}{#1}}
\newcommandx{\Erest}[1][1]{\ssub{\ssub{E}{rest}}{#1}}
\newcommandx{\Echem}[1][1]{\ssub{\ssub{E}{chem}}{#1}}
\newcommandx{\Etherm}[1][1]{\ssub{\ssub{E}{therm}}{#1}}
\newcommandx{\Evib}[1][1]{\ssub{\ssub{E}{vib}}{#1}}
\newcommandx{\Ephoton}[1][1]{\ssub{\ssub{E}{photon}}{#1}}
\newcommand{\DEsys}{\Changein\Esys}
\newcommand{\DUs}{\Changein\Us}
\newcommand{\DUg}{\Changein\Ug}
\newcommand{\DUe}{\Changein\Ue}
\newcommand{\DKtrans}{\Changein\Ktrans}
\newcommand{\DKrot}{\Changein\Krot}
\newcommand{\DEparticle}{\Changein\Eparticle}
\newcommand{\DEinternal}{\Changein\Einternal}
\newcommand{\DErest}{\Changein\Erest}
\newcommand{\DEchem}{\Changein\Echem}
\newcommand{\DEtherm}{\Changein\Etherm}
\newcommand{\DEvib}{\Changein\Evib}
\newcommand{\DEphoton}{\Changein\Ephoton}
\newcommand{\Usfinal}{\ssub{\left(\onehalf\ks \msup{s}{2}\right)}{f}}
\newcommand{\Usinitial}{\ssub{\left(\onehalf\ks \msup{s}{2}\right)}{i}}
\newcommand{\Ugfinal}{\ssub{\left(-G\frac{\msub{M}{1}\msub{M}{2}}
  {\magvectsub{r}{12}}\right)}{f}}
\newcommand{\Uginitial}{\ssub{\left(-G\frac{\msub{M}{1}\msub{M}{2}}
  {\magvectsub{r}{12}}\right)}{i}}
\newcommand{\Uefinal}{\ssub{\left(\oofpezmathsymbol\frac{\ssub{Q}{1}\ssub{Q}{2}}
  {\magvectsub{r}{12}}\right)}{f}}
\newcommand{\Ueinitial}{\ssub{\left(\oofpezmathsymbol\frac{\ssub{Q}{1}\ssub{Q}{2}}
  {\magvectsub{r}{12}}\right)}{i}}
\newcommand{\ks}{\ssub{k}{s}}
\newcommand{\Fnet}{\ensuremath{\vectsub{F}{net}}}
\newcommand{\Fnetext}{\ensuremath{\vectsub{F}{net,ext}}}
\newcommand{\Fnetsys}{\ensuremath{\vectsub{F}{net,sys}}}
\newcommand{\Fsub}[1]{\ensuremath{\vectsub{F}{#1}}}
\newcommand{\Tnet}{\ensuremath{\vectsub{T}{net}}}
\newcommand{\Tnetext}{\ensuremath{\vectsub{T}{net,ext}}}
\newcommand{\Tnetsys}{\ensuremath{\vectsub{T}{net,sys}}}
\newcommand{\Tsub}[1]{\ensuremath{\vectsub{T}{#1}}}
\newcommand{\vpythonline}{\lstinline[language=Python,numbers=left,numberstyle=\tiny,
  upquote=true,breaklines]}
\lstnewenvironment{vpythonblock}{\lstvpython}{}
\newcommand{\vpythonfile}{\lstinputlisting[language=Python,numbers=left,
  numberstyle=\tiny,upquote=true,breaklines]}
\newcommandx{\emptyanswer}[2][1=0.80,2=0.1,usedefault]
  {\begin{minipage}{#1\textwidth}\hfill\vspace{#2\textheight}\end{minipage}}
\newenvironmentx{activityanswer}[5][1=white,2=black,3=black,4=0.90,5=0.10,usedefault]{%
  \def\skipper{#5}%
  \def\response@fbox{\fcolorbox{#2}{#1}}%
  \begin{center}%
    \begin{lrbox}{\@tempboxa}%
      \begin{minipage}[c][#5\textheight][c]{#4\textwidth}\color{#3}%
        \vspace{#5\textheight}}{%
        \vspace{\skipper\textheight}%
      \end{minipage}%
    \end{lrbox}%
    \response@fbox{\usebox{\@tempboxa}}%
  \end{center}%
}%
\newenvironmentx{adjactivityanswer}[5][1=white,2=black,3=black,4=0.90,5=0.00,
  usedefault]{%
  \def\skipper{#5}%
  \def\response@fbox{\fcolorbox{#2}{#1}}%
  \begin{center}%
    \begin{lrbox}{\@tempboxa}%
      \begin{minipage}[c]{#4\textwidth}\color{#3}%
        \vspace{#5\textheight}}{%
        \vspace{\skipper\textheight}%
      \end{minipage}%
    \end{lrbox}%
    \response@fbox{\usebox{\@tempboxa}}%
  \end{center}%
}%
\newcommandx{\emptybox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.10,usedefault]
  {\begin{center}
     \fcolorbox{#3}{#2}{%
       \begin{minipage}[c][#6\textheight][c]{#5\textwidth}\color{#4}%
         {#1}%
       \end{minipage}}%
     \vspace{\baselineskip}%
   \end{center}%
}%
\newcommandx{\adjemptybox}[7][1=\hfill,2=white,3=black,4=black,5=0.90,6=,7=0.0,usedefault]
  {\begin{center}
     \fcolorbox{#3}{#2}{%
       \begin{minipage}[c]{#5\textwidth}\color{#4}%
         \vspace{#7\textheight}%
           {#1}%
         \vspace{#7\textheight}%
       \end{minipage}}%
     \vspace{\baselineskip}%
   \end{center}%
}%
\newcommandx{\answerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.1,usedefault]
  {\ifthenelse{\equal{#1}{}}
    {\begin{center}%
       \fcolorbox{#3}{#2}{%
         \emptyanswer[#5][#6]}%
     \vspace{\baselineskip}%
     \end{center}}%
    {\emptybox[#1][#2][#3][#4][#5][#6]}%
}%
\newcommandx{\adjanswerbox}[7][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.1,7=0.0,
  usedefault]
  {\ifthenelse{\equal{#1}{}}%
    {\begin{center}%
       \fcolorbox{#3}{#2}{%
         \emptyanswer[#5][#6]}%
     \vspace{\baselineskip}%
     \end{center}}%
    {\adjemptybox[#1][#2][#3][#4][#5][#6][#7]}%
}%
\newcommandx{\smallanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.10,
  usedefault]
  {\ifthenelse{\equal{#1}{}}
    {\begin{center}%
       \fcolorbox{#3}{#2}{%
         \emptyanswer[#5][#6]}%
     \vspace{\baselineskip}%
     \end{center}}%
    {\emptybox[#1][#2][#3][#4][#5][#6]}%
}%
\newcommandx{\mediumanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.20,
  usedefault]{%
  \ifthenelse{\equal{#1}{}}
    {\begin{center}%
       \fcolorbox{#3}{#2}{%
         \emptyanswer[#5][#6]%
       }%
     \vspace{\baselineskip}%
     \end{center}%
    }%
    {\emptybox[#1][#2][#3][#4][#5][#6]
    }%
}%
\newcommandx{\largeanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.25,
  usedefault]{%
  \ifthenelse{\equal{#1}{}}
    {\begin{center}%
       \fcolorbox{#3}{#2}{%
         \emptyanswer[#5][#6]%
       }%
     \vspace{\baselineskip}%
     \end{center}%
    }%
    {\emptybox[#1][#2][#3][#4][#5][#6]
    }%
}%
\newcommandx{\largeranswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.33,
  usedefault]{%
  \ifthenelse{\equal{#1}{}}
    {\begin{center}%
       \fcolorbox{#3}{#2}{%
         \emptyanswer[#5][#6]%
       }%
     \vspace{\baselineskip}%
     \end{center}%
    }%
    {\emptybox[#1][#2][#3][#4][#5][#6]
    }%
}%
\newcommandx{\hugeanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.50,
  usedefault]{%
  \ifthenelse{\equal{#1}{}}
    {\begin{center}%
       \fcolorbox{#3}{#2}{%
         \emptyanswer[#5][#6]%
       }%
     \vspace{\baselineskip}%
     \end{center}%
    }%
    {\emptybox[#1][#2][#3][#4][#5][#6]
    }%
}%
\newcommandx{\hugeranswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.75,
  usedefault]{%
  \ifthenelse{\equal{#1}{}}
    {\begin{center}%
       \fcolorbox{#3}{#2}{%
         \emptyanswer[#5][#6]%
       }%
     \vspace{\baselineskip}%
     \end{center}%
    }%
    {\emptybox[#1][#2][#3][#4][#5][#6]
    }%
}%
\newcommandx{\fullpageanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=1.00,
  usedefault]{%
  \ifthenelse{\equal{#1}{}}
    {\begin{center}%
       \fcolorbox{#3}{#2}{%
         \emptyanswer[#5][#6]}%
     \vspace{\baselineskip}%
     \end{center}}%
    {\emptybox[#1][#2][#3][#4][#5][#6]}%
}%
\mdfdefinestyle{miinstructornotestyle}{%
    hidealllines=false, skipbelow=\baselineskip, skipabove=\baselineskip,
    leftmargin=40pt, rightmargin=40pt, linewidth=1, roundcorner=10,
    frametitle={INSTRUCTOR NOTE},
    frametitlebackgroundcolor=cyan!60, frametitlerule=true, frametitlerulewidth=1,
    backgroundcolor=cyan!25,
    linecolor=black, fontcolor=black, shadow=true}
\NewEnviron{miinstructornote}{%
  \begin{mdframed}[style=miinstructornotestyle]
    \begin{adjactivityanswer}[cyan!25][cyan!25][black]
      \BODY
    \end{adjactivityanswer}
  \end{mdframed}
}%
\mdfdefinestyle{mistudentnotestyle}{%
    hidealllines=false, skipbelow=\baselineskip, skipabove=\baselineskip,
    leftmargin=40pt, rightmargin=40pt, linewidth=1, roundcorner=10,
    frametitle={STUDENT NOTE},
    frametitlebackgroundcolor=cyan!60, frametitlerule=true, frametitlerulewidth=1,
    backgroundcolor=cyan!25,
    linecolor=black, fontcolor=black, shadow=true}
\NewEnviron{mistudentnote}{%
  \begin{mdframed}[style=mistudentnotestyle]
    \begin{adjactivityanswer}[cyan!25][cyan!25][black]
      \BODY
    \end{adjactivityanswer}
  \end{mdframed}
}%
\mdfdefinestyle{miderivationstyle}{%
    hidealllines=false, skipbelow=\baselineskip, skipabove=\baselineskip,
    leftmargin=0pt, rightmargin=0pt, linewidth=1, roundcorner=10,
    frametitle={DERIVATION},
    frametitlebackgroundcolor=orange!60, frametitlerule=true, frametitlerulewidth=1,
    backgroundcolor=orange!25,
    linecolor=black, fontcolor=black, shadow=true}
\NewEnviron{miderivation}{%
  \begin{mdframed}[style=miderivationstyle]
  \setcounter{equation}{0}
    \begin{align}
      \BODY
    \end{align}
  \end{mdframed}
}%
\mdfdefinestyle{bwinstructornotestyle}{%
    hidealllines=false, skipbelow=\baselineskip, skipabove=\baselineskip,
    leftmargin=40pt, rightmargin=40pt, linewidth=1, roundcorner=10,
    frametitle={INSTRUCTOR NOTE},
    frametitlebackgroundcolor=gray!50, frametitlerule=true, frametitlerulewidth=1,
    backgroundcolor=gray!20,
    linecolor=black, fontcolor=black, shadow=true}
\NewEnviron{bwinstructornote}{%
  \begin{mdframed}[style=bwinstructornotestyle]
    \begin{adjactivityanswer}[gray!20][gray!20][black]
      \BODY
    \end{adjactivityanswer}
  \end{mdframed}
}%
\mdfdefinestyle{bwstudentnotestyle}{%
    hidealllines=false, skipbelow=\baselineskip, skipabove=\baselineskip,
    leftmargin=40pt, rightmargin=40pt, linewidth=1, roundcorner=10,
    frametitle={STUDENT NOTE},
    frametitlebackgroundcolor=gray!50, frametitlerule=true, frametitlerulewidth=1,
    backgroundcolor=gray!20,
    linecolor=black, fontcolor=black, shadow=true}
\NewEnviron{bwstudentnote}{%
  \begin{mdframed}[style=bwstudentnotestyle]
    \begin{adjactivityanswer}[gray!20][gray!20][black]
      \BODY
    \end{adjactivityanswer}
  \end{mdframed}
}%
\mdfdefinestyle{bwderivationstyle}{%
    hidealllines=false, skipbelow=\baselineskip, skipabove=\baselineskip,
    leftmargin=0pt, rightmargin=0pt, linewidth=1, roundcorner=10,
    frametitle={DERIVATION},
    frametitlebackgroundcolor=gray!50, frametitlerule=true, frametitlerulewidth=1,
    backgroundcolor=gray!20,
    linecolor=black, fontcolor=black, shadow=true}
\NewEnviron{bwderivation}{%
  \begin{mdframed}[style=bwderivationstyle]
  \setcounter{equation}{0}
    \begin{align}
      \BODY
    \end{align}
  \end{mdframed}
}%
\newcommand{\checkpoint}{%
  \vspace{1cm}\begin{center}|--------- CHECKPOINT ---------|\end{center}}%
\newcommand{\image}[2]{%
  \begin{figure}[h!]
    \begin{center}%
      \includegraphics[scale=1]{#1}%
      \caption{#2}%
      \label{#1}%
    \end{center}%
  \end{figure}}
\newcommand{\sneakyone}[1]{\ensuremath{\cancelto{1}{\frac{#1}{#1}}}}
\newcommand{\chkphysicsquantity}[1]{%
  \cs{#1}
}%
\newcommandx{\vecto}[2][2,usedefault]{\ensuremath{%
  \ifthenelse{\equal{#2}{}}%
    {\vec{\mathrm #1}}%
    {\ssub{\vec{\mathrm #1}}{#2}}}}%
\newcommandx{\compvecto}[3][2,usedefault]{\ensuremath{%
  \ifthenelse{\equal{#2}{}}%
    {\ssub{\mathrm #1}{\(#3\)}}%
    {\ssub{\mathrm #1}{#2,\(#3\)}}}}%
\newcommandx{\scompsvecto}[2][2,usedefault]{\ensuremath{%
  \ifthenelse{\equal{#2}{}}%
    {\lv\compvecto{#1}{x},\compvecto{#1}{y},\compvecto{#1}{z}\rv}%
    {\lv\compvecto{#1}[#2]{x},\compvecto{#1}[#2]{y},\compvecto{#1}[#2]{z}\rv}}}%
\newcommandx{\compposo}[2][1,usedefault]{\ensuremath{%
  \ifthenelse{\equal{#1}{}}%
    {#2}%
    {\ssub{#2}{#1}}}}%
\newcommandx{\scompsposo}[1][1,usedefault]{\ensuremath{%
  \ifthenelse{\equal{#1}{}}%
    {\lv\compposo{x},\compposo{y},\compposo{z}\rv}%
    {\lv\compposo[#1]{x},\compposo[#1]{y},\compposo[#1]{z}\rv}}}%
\endinput
%%
%% End of file `mandi.sty'.