%%
%% 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}[2012/12/31 2.0.0 Macros for intro physics and astronomy]
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\RequirePackage[intlimits]{amsmath}
\RequirePackage{amssymb}
\RequirePackage{bigints}
\RequirePackage{cancel}
\RequirePackage[leftbars,color]{changebar}
\RequirePackage[dvipsnames]{xcolor}
\RequirePackage{environ}
\RequirePackage{etoolbox}
\RequirePackage{extarrows}
\RequirePackage{filehook}
\RequirePackage[T1]{fontenc}
\RequirePackage{graphicx}
\RequirePackage{epstopdf}
\RequirePackage{textcomp}
\RequirePackage{letltxmacro}
\RequirePackage{listings}
\RequirePackage[framemethod=TikZ]{mdframed}
\RequirePackage[amssymb,cdot,derivedinbase,derived,thickqspace]{SIunits}
\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
\AtBeginOfPackageFile*{SIunits}{%
\csundef{power}
  \csundef{square}
  \newcommand*{\square}[1]{\ensuremath{\mathrm{#1}^{2}}}
  \renewcommand*{\squared}{\ensuremath{^{\mathrm{2}}}}
  \renewcommand*{\cubic}[1]{\ensuremath{\mathrm{#1}^{3}}}
  \renewcommand*{\cubed}{\ensuremath{^{\mathrm{3}}}}
\renewcommand*{\fourth}[1]{\ensuremath{\mathrm{#1}^{4}}}
\renewcommand*{\reciprocal}[1]{\ensuremath{\mathrm{#1}^{\SIminus1}}}
\renewcommand*{\rp}{\ensuremath{^{\mathrm{\SIminus1}}}}
\renewcommand*{\rpsquare}[1]{\ensuremath{\mathrm{#1}^{\SIminus2}}}
\renewcommand*{\rpsquared}{\ensuremath{^{\mathrm{\SIminus2}}}}
\renewcommand*{\rpcubic}[1]{\ensuremath{\mathrm{#1}^{\SIminus3}}}
\renewcommand*{\rpcubed}{\ensuremath{^{\mathrm{\SIminus3}}}}
\renewcommand*{\rpfourth}[1]{\ensuremath{\mathrm{#1}^{\SIminus4}}}
\typeout{mandi: SIunits conflicts fixed, but don't use \protect\square\space.}
}%
\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}[\radian][\radian]
\newphysicsquantity{solidangle}{\m\squared\usk\rpsquare\m}[\steradian][\steradian]
\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}{AU}}}
\newcommand{\velocityc}[1]{\ensuremath{#1c}}
\newphysicsquantity{velocity}{\m\usk\reciprocal\s}[\m\usk\reciprocal\s][\m\per\s]
\newphysicsquantity{acceleration}{\m\usk\s\rpsquared}[\newton\per\kg][\m\per\s\squared]
\newcommand{\gamman}[1]{\ensuremath{#1}}
\newphysicsquantity{momentum}{\m\usk\kg\usk\reciprocal\s}[\newton\usk\s][\kg\usk\m\per\s]
\newphysicsquantity{impulse}{\m\usk\kg\usk\reciprocal\s}[\newton\usk\s][\kg\usk\m\per\s]
\newphysicsquantity{force}{\m\usk\kg\usk\s\rpsquared}[\newton][\newton]
\newphysicsquantity{springstiffness}{\kg\usk\s\rpsquared}[\newton\per\m][\newton\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\rpsquared\usk\kg}[\kg\per\m\squared]
[\kg\per\m\squared]
\newphysicsquantity{volumemassdensity}{\m\rpcubed\usk\kg}[\kg\per\m\cubed]
[\kg\per\m\cubed]
\newphysicsquantity{youngsmodulus}{\reciprocal\m\usk\kg\usk\s\rpsquared}
[\newton\per\m\squared][\pascal]
\newphysicsquantity{work}{\m\squared\usk\kilogram\usk\s\rpsquared}[\joule]
[\newton\usk\m]
\newphysicsquantity{energy}{\m\squared\usk\kilogram\usk\s\rpsquared}[\joule]
[\newton\usk\m]
\newphysicsquantity{power}{\m\squared\usk\kg\usk\s\rpcubed}[\watt][\joule\per\s]
\newphysicsquantity{angularvelocity}{\radian\usk\reciprocal\s}[\radian\per\s]
[\radian\per\s]
\newphysicsquantity{angularacceleration}{\radian\usk\s\rpsquared}[\radian\per\s\squared]
[\radian\per\s\squared]
\newphysicsquantity{angularmomentum}{\m\squared\usk\kg\usk\reciprocal\s}[\joule\usk\s]
[\kg\usk\m\squared\per\s]
\newphysicsquantity{momentofinertia}{\m\squared\usk\kg}[\joule\usk\s\squared]
[\kg\usk\m\squared]
\newphysicsquantity{torque}{\m\squared\usk\kg\usk\s\rpsquared}[\joule\per\radian]
[\newton\usk\m]
\newphysicsquantity{entropy}{\m\squared\usk\kilogram\usk\s\rpsquared\usk\reciprocal\K}
[\joule\per\K][\joule\per\K]
\newphysicsquantity{wavelength}{\m}[\m][\m]
\newphysicsquantity{wavenumber}{\reciprocal\m}[\per\m][\per\m]
\newphysicsquantity{frequency}{\reciprocal\s}[\hertz][\hertz]
\newphysicsquantity{angularfrequency}{\radian\usk\reciprocal\s}[\radian\per\s]
[\radian\per\s]
\newphysicsquantity{charge}{\A\usk\s}[\coulomb][\coulomb]
\newphysicsquantity{permittivity}{\m\rpcubed\usk\reciprocal\kg\usk\s^{4}\usk\A\squared}
[\farad\per\m][\coulomb\squared\per\newton\usk\m\squared]
\newphysicsquantity{permeability}{\m\usk\kg\usk\s\rpsquared\usk\A\rpsquared}
[\henry\per\m][\tesla\usk\m\per\A]
\newphysicsquantity{electricfield}{\m\usk\kg\usk\s\rpcubed\usk\reciprocal\A}[\volt\per\m]
[\newton\per\coulomb]
\newphysicsquantity{electricdipolemom}{\m\usk\s\usk\A}[\coulomb\usk\m][\coulomb\usk\m]
\newphysicsquantity{magneticfield}{\kg\usk\s\rpsquared\usk\reciprocal\A}[\tesla]
[\newton\per\coulomb\usk(\m\per\s)]
\newphysicsquantity{cmagneticfield}{\m\usk\kg\usk\s\rpcubed\usk\reciprocal\A}[\volt\per\m]
[\newton\per\coulomb]
\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\s^{-4}\usk\A\rpsquared}}[\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\rpsquared\usk\A\rpsquared}[\tesla\usk\m
\squared][\newton\usk\s\squared\per\coulomb\squared]
\newphysicsconstant{epsz}{\ensuremath{\ssub{\epsilon}{o}}}{\scin[9]{-12}}
{\m\rpcubed\usk\reciprocal\kg\usk\s^{4}\usk\A\squared}[\farad\per\m]
[\coulomb\squared\per\newton\usk\m\squared]
\newphysicsconstant{mzofp}{\ensuremath{\frac{\phantom{_oo}\ssub{\mu}{o}\phantom{_o}}
{4\pi}}}{\scin{-7}}{\m\usk\kg\usk\s\rpsquared\usk\A\rpsquared}[\henry\per\m]
[\tesla\usk\m\per\A]
\newphysicsconstant{muz}{\ensuremath{\ssub{\mu}{o}}}{\scin[4\pi]{-7}}
{\m\usk\kg\usk\s\rpsquared\usk\A\rpsquared}[\henry\per\m][\tesla\usk\m\per\A]
\newphysicsconstant{kboltz}{\ensuremath{\ssub{k}{B}}}{\scin[1.38]{-23}}
{\kg\usk\m\squared\usk\rpsquare\s\usk\reciprocal\K}[\joule\per\K][\joule\per\K]
\newcommand{\kboltznev}{\ensuremath{\scin[8.62]{-5}{\eV\per\K}}}
\newphysicsconstant{stefan}{\ensuremath{\sigma}}{\scin[5.67]{-8}}{\kg\usk\s\rpcubed\usk
\K^{-4}}[\watt\per\m\squared\usk\K^4][\watt\per\m\squared\usk\K^4]
\newphysicsconstant{planck}{\ensuremath{h}}{\scin[6.62]{-34}}
{\m\squared\usk\kg\usk\reciprocal\s}[\joule\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\rpsquared}[\joule\usk\m\per\kg\squared]
[\newton\usk\m\squared\per\kg\squared]
\newphysicsconstant{littleg}{\ensuremath{g}}{9.80}{\m\usk\s\rpsquared}[\newton\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}{ft\per\nano\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}[\coulomb]
[\coulomb]
\newphysicsconstant{Qelectron}{\ensuremath{\ssub{Q}{electron}}}{-\echargevalue}
{\A\usk\s}[\coulomb][\coulomb]
\newphysicsconstant{qelectron}{\ensuremath{\ssub{q}{electron}}}{-\echargevalue}
{\A\usk\s}[\coulomb][\coulomb]
\newphysicsconstant{Qproton}{\ensuremath{\ssub{Q}{proton}}}{+\echargevalue}
{\A\usk\s}[\coulomb][\coulomb]
\newphysicsconstant{qproton}{\ensuremath{\ssub{q}{proton}}}{+\echargevalue}
{\A\usk\s}[\coulomb][\coulomb]
\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\rpcubed}[\watt][\joule\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}}}
\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}
\newcommand{\divergence}[1]{\ensuremath{\vectdotvect{\nabla}{#1}}}
\newcommand{\curl}[1]{\ensuremath{\nabla\times{#1}}}
\newcommand{\diracdelta}[1]{\ensuremath{\boldsymbol{\delta}\quant{#1}}}
\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{\emf}{\ensuremath{\mathrm{emf}}}
\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}}}
\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'.
