summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/mandi
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/mandi
Initial commit
Diffstat (limited to 'macros/latex/contrib/mandi')
-rw-r--r--macros/latex/contrib/mandi/README10
-rw-r--r--macros/latex/contrib/mandi/mandi.dtx12180
-rw-r--r--macros/latex/contrib/mandi/mandi.ins81
-rw-r--r--macros/latex/contrib/mandi/mandi.pdfbin0 -> 1343851 bytes
4 files changed, 12271 insertions, 0 deletions
diff --git a/macros/latex/contrib/mandi/README b/macros/latex/contrib/mandi/README
new file mode 100644
index 0000000000..cc3680da78
--- /dev/null
+++ b/macros/latex/contrib/mandi/README
@@ -0,0 +1,10 @@
+The mandi package provides commands for typesetting symbols, expressions, and
+quantities used in introductory physics and astronomy. Many of the commands are
+inspired by Matter & Interactions by Ruth Chabay and Bruce Sherwood. Many of
+the astronomical commands were inspired by my own classroom needs. This package
+does not do computations. It only provides commands for typesetting.
+
+Run mandi.ins through pdfLaTeX to generate files mandi.sty and vdemo.py. Run
+mandi.dtx through pdfLaTeX to generate mandi.pdf (documentation). I assume a
+TeX Live 2011 or later distribution is installed.
+
diff --git a/macros/latex/contrib/mandi/mandi.dtx b/macros/latex/contrib/mandi/mandi.dtx
new file mode 100644
index 0000000000..7c2653c695
--- /dev/null
+++ b/macros/latex/contrib/mandi/mandi.dtx
@@ -0,0 +1,12180 @@
+% \iffalse meta-comment
+% !TEX TS-program = dtxmk
+%
+% Copyright (C) 2018 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
+% mandi.ins
+% mandi.pdf
+% README
+%
+% and includes the derived files mandi.sty
+% vdemo.py.
+% ---------------------------------------------------------------------------
+%
+% \fi
+%
+% \iffalse
+%
+%<*internal>
+\iffalse
+%</internal>
+%
+%<*package>
+%%\ProvidesPackage{mandi}[2019/01/12 2.7.5 Macros for physics and astronomy]
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%</package>
+%
+%<*vdemo>
+#
+from vpython import *
+
+G = 6.7e-11
+
+# create objects
+giant = sphere(pos=vector(-1e11,0,0),radius=2e10,mass=2e30,color=color.red)
+giant.p = vector(0,0,-1e4) * giant.mass
+dwarf = sphere(pos=vector(1.5e11,0,0),radius=1e10,mass=1e30,color=color.yellow)
+dwarf.p = -giant.p
+
+for a in [giant,dwarf]:
+ a.orbit = curve(color=a.color,radius=2e9)
+
+dt = 86400
+while 1:
+ rate(100)
+ dist = dwarf.pos - giant.pos
+ force = G * giant.mass * dwarf.mass * dist / mag(dist)**3
+ giant.p = giant.p + force*dt
+ dwarf.p = dwarf.p - force*dt
+ for a in [giant,dwarf]:
+ a.pos = a.pos + a.p/a.mass * dt
+ a.orbit.append(pos=a.pos)
+%</vdemo>
+%
+%<*internal>
+\fi
+\def\nameofplainTeX{plain}
+\ifx\fmtname\nameofplainTeX\else
+ \expandafter\begingroup
+\fi
+%</internal>
+%
+%<*internal>
+\ifx\fmtname\nameofplainTeX
+ \expandafter\endbatchfile
+\else
+ \expandafter\endgroup
+\fi
+%</internal>
+%
+%<*driver>
+\ProvidesFile{mandi.dtx}
+%</driver>
+%
+%<*driver>
+\documentclass[10pt]{ltxdoc}
+\setlength{\marginparwidth}{0.50in} % placement of todonotes
+\usepackage{\jobname} % load mandi
+\usepackage{parskip} % no indents/space btwn paras
+\usepackage[textwidth=1.0cm]{todonotes} % allow for todonotes
+\usepackage[left=0.75in,right=1.00in]{geometry} % main documentation
+\usepackage{array,rotating,microtype} % accessory packages
+\usepackage[listings,documentation]{tcolorbox} % workhorse package
+\usepackage{anyfontsize}
+\usepackage{float}
+\usepackage{changepage} %%%%%%%%%%
+\usepackage{nameref}
+\hypersetup{colorlinks, linktoc=all}
+\tcbset{index german settings}
+\tcbset{color hyperlink=blue}
+\tcbset{doc head command={interior style={fill,left color=red!15!white}}}
+\tcbset{color command=red}
+\tcbset{doc head environment={interior style={fill,left color=red!15!white}}}
+\tcbset{color environment=red}
+\tcbset{lefthand ratio=0.70}
+\newcommandx{\ntodo}[2][1,usedefault]{%
+ \ifthenelse{\equal{#1}{}}
+ {\todo[size=\footnotesize,fancyline,caption={#2},color=yellow!40]
+ {\begin{sideways}#2\end{sideways}}}
+ {\todo[size=\footnotesize,fancyline,caption={#1},color=yellow!40]
+ {\begin{sideways}#2\end{sideways}}}}
+\DisableCrossrefs % index descriptions only
+\PageIndex % index contains page numbers
+\CodelineNumbered % number source lines
+\RecordChanges % record changes
+\begin{document} % main document
+ \DocInput{\jobname.dtx}
+ \newgeometry{left=1.00in,right=1.00in,top=1.00in,bottom=1.00in}
+ \PrintIndex
+ \restoregeometry
+\end{document} % end main document
+%</driver>
+% \fi
+%
+% \newcommand*{\pkgname}[1]{\texttt{#1}}
+% \newcommand*{\mandi}{\pkgname{mandi}}
+% \newcommand*{\mi}{\textit{Matter \& Interactions}}
+% \hyphenation{Matter Interactions}
+% \newcommand*{\opt}[1]{\textsf{\textbf{#1}}}
+% \newcommand*{\baseunits}{\emph{baseunits}}
+% \newcommand*{\drvdunits}{\emph{drvdunits}}
+% \newcommand*{\altnunits}{\emph{altnunits}}
+%
+% \IndexPrologue{\section{Index}Page numbers refer to page where the
+% corresponding entry is described. Not every command defined in the
+% package is indexed. There may be commands similar to indexed commands
+% described in relevant parts of the documentation.}
+%
+% \CheckSum{6558}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \providecommand*{\url}{\texttt}
+% \GetFileInfo{\jobname.sty}
+% \title{The \textsf{mandi} package}
+% \author{Paul J. Heafner
+% (\href{mailto:heafnerj@gmail.com?subject=[Heafner]\%20mandi}
+% {\nolinkurl{heafnerj@gmail.com}})}
+% ^^A \date{Version \fileversion~dated \filedate}
+% \date{Version \mandiversion}
+%
+% \newgeometry{left=1.0in,right=1.0in,top=4.0in}
+% \pagenumbering{gobble}
+% \hypersetup{pageanchor=false}
+% \begin{titlepage}
+% \maketitle
+% \end{titlepage}
+% \hypersetup{pageanchor=true}
+% \pagenumbering{arabic}
+% \restoregeometry
+%
+% ^^A \centerline{\textbf{PLEASE DO NOT DISTRIBUTE THIS VERSION.}}
+%
+% \newgeometry{left=1.0in,right=1.0in,top=1.0in,bottom=1.0in}
+% \tableofcontents
+% \newpage
+% \phantomsection
+% \addcontentsline{toc}{section}{Change History}
+% \PrintChanges
+% \newpage
+% \phantomsection
+% \addcontentsline{toc}{section}{Program Listings}
+% \lstlistoflistings
+% \newpage
+% \restoregeometry
+%
+%\changes{v2.4.0}{2014/12/16}{Made option names consistent with default behavior.}
+%\changes{v2.4.0}{2014/12/16}{Added option for boldface vector kernels.}
+%\changes{v2.4.0}{2014/12/16}{Added option for approximate values of constants.}
+%\changes{v2.4.0}{2014/12/16}{Added magnetic charge.}
+%\changes{v2.4.0}{2014/12/16}{\cs{vpythonfile} now uses a uniform style.}
+%\changes{v2.4.0}{2014/12/16}{Added table of all predefined quantities with units.}
+%\changes{v2.4.0}{2014/12/16}{Added table of all predefined constants
+% with their symbols and units.}
+%\changes{v2.4.0}{2014/12/16}{Added Maxwell's equations in both integral
+% and differential forms, both with and without magnetic monopoles.}
+%\changes{v2.4.0}{2014/12/16}{Added Lorentz force, with and
+% without magnetic monopoles.}
+%\changes{v2.4.0}{2014/12/16}{\cs{vpythonline} now uses a uniform style.}
+%\changes{v2.4.0}{2014/12/16}{\texttt{vpythonblock} now uses a uniform style.}
+%\changes{v2.4.0}{2014/12/17}{Now coexists with the \pkgname{commath} package.}
+%\changes{v2.4.0}{2014/12/19}{Removed compatibility check for the \pkgname{physymb}
+% package.}
+%\changes{v2.4.1}{2015/02/11}{\texttt{vpythonblock} now accepts an optional caption.}
+%\changes{v2.4.1}{2015/02/11}{\cs{vpythonfile} now accepts an optional caption.}
+%\changes{v2.4.1}{2015/02/14}{Commands that use \pkgname{mdframed}
+% will not break over pages.}
+%\changes{v2.4.1}{2015/02/20}{Added \cs{scompsCvect} for superscripted
+% components.}
+%\changes{v2.4.1}{2015/02/20}{Added \cs{scompsRvect} for superscripted
+% components.}
+%\changes{v2.4.1}{2015/01/23}{Added more VPython keywords.}
+%\changes{v2.4.2}{2015/06/08}{Added \cs{smallanswerform}.}
+%\changes{v2.4.2}{2015/06/08}{Added \cs{mediumanswerform}.}
+%\changes{v2.4.2}{2015/06/08}{Added \cs{largeanswerform}.}
+%\changes{v2.4.2}{2015/06/08}{Added \cs{largeranswerform}.}
+%\changes{v2.4.2}{2015/06/08}{Added \cs{hugeanswerform}.}
+%\changes{v2.4.2}{2015/06/08}{Added \cs{hugeranswerform}.}
+%\changes{v2.4.2}{2015/06/08}{Added \cs{fullpageanswerform}.}
+%\changes{v2.5.0}{2016/01/26}{Added explicit mention of VPython and GlowScript.}
+%\changes{v2.5.0}{2016/01/26}{Added GlowScript keywords.}
+%\changes{v2.5.0}{2016/01/26}{Added example showing how to handle long
+% lines and suppressing numbers on broken lines.}
+%\changes{v2.5.0}{2016/01/26}{\cs{vpythonfile} now begins listings on a new page.}
+%\changes{v2.5.0}{2015/09/13}{Removed autosized parentheses in math mode.}
+%\changes{v2.5.0}{2015/09/13}{Removed compatibility check for the \pkgname{commath}
+% package.}
+%\changes{v2.5.0}{2015/09/13}{Renamed \cs{abs} to \cs{absof}.}
+%\changes{v2.5.0}{2015/09/13}{\cs{absof} now shows a placeholder for a
+% blank argument.}
+%\changes{v2.5.0}{2015/09/13}{\cs{magof} now shows a placeholder for a
+% blank argument.}
+%\changes{v2.5.0}{2015/09/13}{\cs{dimsof} now shows a placeholder for a
+% blank argument.}
+%\changes{v2.5.0}{2015/09/13}{\cs{unitsof} now shows a placeholder for a
+% blank argument.}
+%\changes{v2.5.0}{2015/09/13}{Added \cs{inparens} for grouping with
+% parentheses.}
+%\changes{v2.5.0}{2015/09/13}{Changed behavior of \cs{sneakyone}.}
+%\changes{v2.5.0}{2015/10/08}{Added \cs{eulerlagrange} command to
+% typeset the Euler-Lagrange equation.}
+%\changes{v2.5.0}{2015/10/08}{Added \cs{Lagr} to get symbol for
+% Lagrangian.}
+%\changes{v2.5.0}{2015/10/08}{Added color to \cs{checkpoint}.}
+%\changes{v2.5.0}{2015/10/08}{Added \cs{qed} symbol.}
+%\changes{v2.5.0}{2015/10/09}{Added \cs{ueuzero} and friends.}
+%\changes{v2.5.0}{2015/10/09}{Added commands for Dirac notation.}
+%\changes{v2.5.0}{2015/10/09}{Documented precise and approximate
+% constant values.}
+%\changes{v2.5.0}{2015/10/14}{\cs{miderivation} now prints line numbers.}
+%\changes{v2.5.0}{2015/10/14}{Added \cs{miderivation*} to suppress line
+% numbers.}
+%\changes{v2.5.0}{2015/10/14}{\cs{bwderivation} now shows line numbers.}
+%\changes{v2.5.0}{2015/10/14}{Added \cs{bwderivation*} to suppress line
+% numbers.}
+%\changes{v2.5.0}{2015/10/14}{\cs{mysolution} now prints line numbers.}
+%\changes{v2.5.0}{2015/10/14}{Added \cs{mysolution*} to suppress line numbers.}
+%\changes{v2.5.0}{2015/10/16}{Added \cs{taigrad} to get Tai's gradient symbol.}
+%\changes{v2.5.0}{2015/10/16}{Added \cs{taisvec} to get Tai's symbolic vector.}
+%\changes{v2.5.0}{2015/10/16}{Added \cs{taigrad} to get Tai's divergence symbol.}
+%\changes{v2.5.0}{2015/10/16}{Added \cs{taigrad} to get Tai's curl symbol.}
+%\changes{v2.5.0}{2015/10/20}{Added \cs{scompsdirvect}.}
+%\changes{v2.5.0}{2015/10/20}{Added \cs{compdirvect}.}
+%\changes{v2.5.0}{2015/11/29}{Added \cs{componentalong}.}
+%\changes{v2.5.0}{2015/11/29}{Added \cs{expcomponentalong}.}
+%\changes{v2.5.0}{2015/11/29}{Added \cs{ucomponentalong}.}
+%\changes{v2.5.0}{2015/11/29}{Added \cs{projectiononto}.}
+%\changes{v2.5.0}{2015/11/29}{Added \cs{expprojectiononto}.}
+%\changes{v2.5.0}{2015/11/29}{Added \cs{uprojectiononto}.}
+%\changes{v2.5.0}{2015/11/29}{Fixed parentheses bug in \cs{magvectncomps}.}
+%\changes{v2.5.0}{2015/12/27}{Added option for radians in certain angular
+% quantities.}
+%\changes{v2.5.1}{2016/03/13}{Fixed errors in build for uploading to CTAN.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectormomentum}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectordisplacement}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorvelocityc}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorvelocity}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectoracceleration}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorgravitationalfield}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorimpulse}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorforce}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorangularvelocity}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorangularacceleration}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorangularmomentum}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorangularimpulse}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectortorque}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorwavenumber}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorelectricfield}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorelectricdipolemoment}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectormagneticfield}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectormagneticdipolemoment}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorcurrentdensity}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorcmagneticfield}.}
+%\changes{v2.6.0}{2016/05/02}{Created a student guide.}
+%\changes{v2.6.0}{2016/05/02}{Changed placeholder to underscore.}
+%\changes{v2.6.0}{2016/05/02}{Changed placeholder to underscore.}
+%\changes{v2.6.0}{2016/05/02}{Changed placeholder to underscore.}
+%\changes{v2.6.0}{2016/05/02}{Changed placeholder to underscore.}
+%\changes{v2.6.0}{2016/05/02}{Changed placeholder to underscore.}
+%\changes{v2.6.0}{2016/05/02}{Added \cs{problem} environment.}
+%\changes{v2.6.0}{2016/05/02}{Added \cs{reason}.}
+%\changes{v2.6.0}{2016/05/03}{Added \cs{energyflux}.}
+%\changes{v2.6.0}{2016/05/03}{Added \cs{momentumflux}.}
+%\changes{v2.6.0}{2016/05/03}{Added \cs{poyntingvector}.}
+%\changes{v2.6.0}{2016/05/03}{Added many new commands that format expressions
+% with placeholders for numerical quantities.}
+%\changes{v2.6.0}{2016/05/10}{Replaced \cs{evalfromto} with \cs{evaluatedfromto}.}
+%\changes{v2.6.0}{2016/05/10}{Replaced \cs{evalat} with new \cs{evaluatedat}.}
+%\changes{v2.6.0}{2016/05/10}{Removed deprecated commands.}
+%\changes{v2.6.0}{2016/05/11}{Added \cs{direction}.}
+%\changes{v2.6.0}{2016/05/11}{Added \cs{vectordirection}.}
+%\changes{v2.6.0}{2016/05/11}{Added \cs{vectorenergyflux}.}
+%\changes{v2.6.0}{2016/05/11}{Added \cs{vectormomentumflux}.}
+%\changes{v2.6.0}{2016/05/12}{Added \cs{glowscriptline}.}
+%\changes{v2.6.0}{2016/05/12}{Added \texttt{glowscriptblock}.}
+%\changes{v2.6.0}{2016/05/12}{Added \cs{glowscriptfile}.}
+%\changes{v2.6.0}{2016/05/16}{Extensive revisions to documentation.}
+%\changes{v2.6.0}{2016/05/18}{Option \opt{singleabsbars} renamed to
+% \opt{singlemagbars}.}
+%\changes{v2.6.0}{2016/05/20}{Documented \cs{chkquantity}.}
+%\changes{v2.6.0}{2016/05/20}{Documented \cs{chkconstant}.}
+%\changes{v2.6.0}{2016/05/20}{Documented \cs{mandiversion}.}
+%\changes{v2.6.0}{2016/05/23}{Loads the \pkgname{tensor} package for future use.}
+%\changes{v2.6.1}{2016/06/30}{Fixed \cs{mandiversion} so it displays correctly
+% in math mode.}
+%\changes{v2.6.1}{2016/06/30}{Fixed errors in Student Quick Guide documentation.}
+%\changes{v2.6.2}{2016/07/31}{Made minor changes to the documentation.}
+%\changes{v2.6.3}{2016/09/02}{Added \cs{mistandard} for standards.}
+%\changes{v2.6.3}{2016/09/02}{Added \cs{bwstandard} for standards.}
+%\changes{v2.6.3}{2016/09/07}{Added \cs{infeetpersecond}.}
+%\changes{v2.6.3}{2016/09/08}{Added scaling options to \cs{image}.}
+%\changes{v2.6.3}{2016/09/08}{Tweaked \cs{image} to work in documentation.}
+%\changes{v2.6.3}{2016/09/08}{Added \cs{infeet}.}
+%\changes{v2.6.3}{2016/09/08}{Added \cs{infeetpersecondsquared}.}
+%\changes{v2.6.3}{2016/09/11}{Loads the \pkgname{float} package for \cs{image}.}
+%\changes{v2.7.0}{2016/12/16}{Changed \cs{vectdotvect} to use \cs{cdot}.}
+%\changes{v2.7.0}{2016/12/16}{Added \cs{vectDotvect} to use \cs{bullet}.}
+%\changes{v2.7.0}{2017/02/02}{Made numerous internal changes to eliminate warnings.}
+%\changes{v2.7.0}{2017/02/02}{Added blank output lines around mandi messages
+% during compilation.}
+%\changes{v2.7.0}{2017/02/02}{Changed first line of VPython programs to match
+% Jupyter Notebook syntax.}
+%\changes{v2.7.0}{2017/02/02}{Changed \cs{reason} to use minipage.}
+%\changes{v2.7.0}{2017/02/02}{Added fourth argument to \cs{image} for a label.}
+%\changes{v2.7.0}{2017/03/17}{Added \cs{dslashx} for inexact differentials.}
+%\changes{v2.7.0}{2017/04/13}{Added \cs{factorvect}.}
+%\changes{v2.7.0}{2017/04/13}{Added \cs{circulation}.}
+%\changes{v2.7.0}{2017/09/01}{Added better looking parallel symbol.}
+%\changes{v2.7.0}{2017/09/01}{Added an alias for the perpendicular symbol.}
+%\changes{v2.7.0}{2018/01/11}{Added instructions for Overleaf users.}
+%\changes{v2.7.2}{2018/03/14}{Changed \emph{tradunits} to \opt{altnunits}.}
+%\changes{v2.7.2}{2018/03/16}{Documented the \cs{redefinephysicsquantity} command.}
+%\changes{v2.7.2}{2018/03/16}{Documented the \cs{redefinephysicsconstant} command.}
+%\changes{v2.7.2}{2018/03/18}{Changed \cs{lorentz} to \cs{lorentzfactor}.}
+%\changes{v2.7.2}{2018/03/19}{Made \opt{drvdunits} the default.}
+%\changes{v2.7.2}{2018/03/19}{Adjusted units of some predefined quantities and
+% constants.}
+%\changes{v2.7.2}{2018/03/20}{Added expanded instructions for Overleaf users.}
+%\changes{v2.7.3}{2018/04/06}{Reformatted source code to allow for better
+% documentation of changes.}
+%\changes{v2.7.3}{2018/11/10}{Added \cs{emptyunit}. Thanks to Dr. Brian Lane
+% for suggesting this implementation.}
+%\changes{v2.7.3}{2018/11/11}{Added \cs{anglebetween}.}
+%\changes{v2.7.3}{2018/11/13}{Made variable in series expansions a parameter
+% with \(x\) as the default.}
+%\changes{v2.7.3}{2018/12/27}{Modified \cs{vpythonfile} and \cs{vpythonblock} to
+% include both captions and labels.}
+%\changes{v2.7.4}{2019/01/12}{Revised Overleaf instructions to reflect new version.}
+%\changes{v.2.7.5}{2019/01/12}{Revised documentation for Overleaf yet again.}
+%
+% \section{Introduction}
+% This package provides a collection of commands useful in introductory physics
+% and astronomy. The underlying philosophy is that the user, potentially an
+% introductory student, should just type the name of a physical quantity, with a
+% numerical value if needed, without having to think about the units. \mandi\
+% will typeset everything correctly. For symbolic quantities, the user should
+% type only what is necessary to get the desired result. What one types should
+% correspond as closely as possible to what one thinks when writing. The package
+% name derives from \mi
+% \footnote{See the \mi\ home page at \url{https://www.matterandinteractions.org/}
+% for more information about this innovative introductory calculus-based physics
+% curriculum.} by Ruth Chabay and Bruce Sherwood. The package certainly is rather
+% tightly tied to that textbook but can be used for typesetting any document that
+% requires consistent physics notation. With \mandi\ many complicated expressions
+% can be typeset with just a single command. Great thought has been given to
+% command names and I hope users find the conventions logical and easy to remember.
+%
+% There are other underlying philosophies and goals embedded within \mandi,
+% all of which are summarized here. These philosophies are
+% \begin{itemize}
+% \item to employ a \emph{type what you think} model for remembering commands,
+% \item to relieve the user of having to explicitly worry about typesetting SI
+% units,
+% \item to enforce certain concepts that are too frequently merged, such as the
+% distinction between a vector quantity and its magnitude (e.g.\ we often use
+% the same name for both),
+% \item to enforce consistent terminology in the naming of quantities, with names
+% that are both meaningful to introductory students and accurate
+% (e.g.\ \emph{duration} vs.\ \emph{time}), and
+% \item to enforce consistent notation, especially for vector quantities.
+% \end{itemize}
+%
+% I hope that using \mandi\ will cause users to form good habits that
+% benefit physics students.
+%
+% \section{Building From Source}
+% I am assuming the user will use pdf\LaTeX, which creates PDF files as output,
+% to build the documentation. I have not tested the build with with standard \LaTeX,
+% which creates DVI files.
+%
+% The latest useable version is always found on the \mandi\ home page at
+% \url{https://tensortime.sticksandshadows.com/mandi} and note that the version there
+% may not yet have been pushed to \href{https://ctan.org}{CTAN}.
+%
+% \newpage
+% \section{Loading the Package}\label{LoadingthePackage}
+% To load \mandi\ with its default options, simply put the line |\usepackage{mandi}|
+% in your document's preamble. To use the package's available options, put the line
+% |\usepackage|\textbf{[}\opt{options}\textbf{]}|{mandi}| in your document's
+% preamble. There are eight available options, all of which are described below.
+%
+% \begin{itemize}
+% \item \opt{boldvectors} gives bold letters for the kernels of vector names.
+% No arrows are used above the kernel.
+% \item \opt{romanvectors} gives Roman letters for the kernels of vectors names.
+% An arrow appears over the kernel.
+% \end{itemize}
+%
+% If neither \opt{boldvectors} nor \opt{romanvectors} is specified (the
+% default), vectors are displayed with italic letters for the kernels of vector
+% names and an arrow appears over the kernel.
+%
+% \begin{itemize}
+% \item \opt{singlemagbars} gives single bars in symbols for vector magnitudes
+% instead of the default double bars. Double bars may be more familiar to
+% students from their calculus courses.
+% \item \opt{approxconsts} gives approximate values of constants to one or two
+% significant figures, depending on how they appear in \mi, instead of the
+% default precise values.
+% \item \opt{useradians} gives radians in the units of angular momentum,
+% angular impulse, and torque. The default is to not use radians in the units
+% of these quantities.
+% \item \opt{baseunits} causes all units to be displayed in \baseunits\ form, with
+% SI base units. No solidi (slashes) are used. Positive and negative exponents
+% are used to denote powers of various base units.
+% \item \opt{drvdunits} causes all units to be displayed, when possible, in
+% \drvdunits\ form, with SI derived units. Students may already be familiar with
+% many of these derived units.
+% \item \opt{altnunits} causes all units to be displayed in \altnunits\ form,
+% which is intended to allow for custom units when desired. This is sometimes
+% helpful for enhancing conceptual understanding in some situations.
+% \end{itemize}
+%
+% If neither \opt{baseunits} nor \opt{altnunits} is specified, units are
+% displayed in \drvdunits\ form, which is typically the way they would usually
+% appear in textbooks. Units in this form may hide the underlying physical
+% meaning or indeed may do precisely the opposite and enhance conceptual
+% understanding. In this document, the default is to use
+% \ifthenelse{\boolean{@optbaseunits}}
+% {base}
+% {\ifthenelse{\boolean{@optaltnunits}}
+% {alternate}
+% {derived}}
+% units. As you will see later, there are ways to override these options either
+% temporarily or permanently.
+%
+% \mandi\ coexists with the \pkgname{siunitx} package. While there is some
+% functional overlap between the two packages, \mandi\ is completely independent of
+% \pkgname{siunitx}. The two are designed for different purposes and probably also
+% for different audiences, but can be used together if desired. \mandi\ coexists with
+% the \pkgname{commath} package. There is no longer a conflict because \mandi's
+% |\abs| command has been renamed to \refCom{absof}. \mandi\ no longer checks for the
+% presence of the \pkgname{physymb} package. That package now incorporates \mandi\
+% dependencies, and the two are completely compatible as far as I know.
+%
+%\mandi\ loads the \pkgname{tensor} for likely future use. See that package's
+% documentation for its commands and how to use them. There are no known conflicts
+% between \mandi\ and \pkgname{tensor}.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{mandiversion}{}
+Gives the current package version number and build date.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\mandiversion
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% \newpage
+% \section{Overleaf Users}
+% \href{https://www.overleaf.com}{Overleaf.com} is an online \LaTeX\ environment
+% with widespread use. It uses a full \TeX/\LaTeX\ installation but may not always
+% have the latest version of every package installed (for stability reasons).
+% Sometimes packages are updated more frequently than the large distributions are
+% updated. If you want to always be sure you're using the latest version of \mandi\
+% make sure the files \pkgname{mandi.sty} and \pkgname{mandi.pdf} are in your
+% Overleaf project folder. The package can now be used in your documents.
+%
+% If you are a student, here are detailed instructions on how to use \mandi\
+% in your Overleaf project.
+% \begin{enumerate}
+% \item Direct your browser to
+% \href{https://tensortime.sticksandshadows.com/mandi}
+% {https://tensortime.sticksandshadows.com/mandi} and fetch the file named
+% \texttt{overleaf-template.zip}. Download it and open the zip file into a
+% temporary folder on your computer.
+% \item Go to the \href{https://www.overleaf.com}{Overleaf.com} website and
+% create a free account and then sign into that account.
+% \item Upon signing in, you should see a list of your current projects. Look
+% for the New Project button on the left and click on it. Click on Blank Project.
+% You will be asked to name your new project. Choose this name very carefully
+% because it will also be the name of the compiled PDF file generated by compiling
+% the project's main file.
+% \item Once named, your new project will be created and you will be taken to its
+% new folder. You will see a file named \texttt{main.tex}. For now, just leave it
+% alone.
+% \item Click the user interface element resembling an upward arrow attached to
+% a tray (a popup labeled \texttt{Upload} appears when you hover over it) to open
+% the file upload dialog. Select all the files (there should be six) in the
+% temporary overleaf-template folder you previously created. Upload them
+% into your project's folder. You can now delete the \texttt{main.tex} file.
+% \item Click on the word \texttt{Menu} in the upper left corner of the window,
+% then scroll down and look for the Main document setting. Make sure
+% \texttt{NnnnnnnnCCPxx.tex} is selected as the project's main file.
+% \item From now on, to start a new project, begin by copying this master
+% project template and creating a new name for the new project. This way,
+% you will build a neatly organized collection of logically named projects
+% and the original Master Template will never have to be modified (but see
+% next step) and every project will have \mandi\ available for use.
+% \item If \mandi\ is updated by the developer, all you need to do is make
+% sure the new \texttt{mandi.sty} and \texttt{mandi.pdf} files, and perhaps
+% a few others if the developer has modified them, are uploaded to your project
+% folders.
+% \item You can now delete the \texttt{overleaf-template.zip} file and the
+% temporary folder you created on your computer.
+% \end{enumerate}
+%
+% \newpage
+% \section{Student Quick Guide}
+% Use \refCom{vect} to put an arrow over a symbol to make it the symbol for a vector.
+% Typing |\vect{p}| gives \vect{p}.
+%
+% Use \refCom{vectsub} if the symbol needs a subscript. Typing |\vectsub{p}{ball}|
+% gives \vectsub{p}{ball}.
+%
+% Use \refCom{magvect} or \refCom{magvectsub} to get the symbol for a vector's
+% magnitude. Typing |\magvect{p}| gives \magvect{p}. Typing |\magvectsub{p}{ball}|
+% gives \magvectsub{p}{ball}.
+%
+% Use \refCom{dirvect} or \refCom{dirvectsub} to get the symbol for a vector's
+% direction. Typing |\dirvect{p}| or |\dirvectsub{p}{ball}| gives \dirvect{p} or
+% \dirvectsub{p}{ball}.
+%
+% Use \refCom{compvect} to write the symbol for one of a vector's coordinate
+% components. Typing |\compvect{v}{z}| gives \compvect{v}{z}.
+%
+% Use a \hyperlink{target2}{physical quantity's} name followed by a numerical value
+% in curly braces to typeset that numerical value and an appropriate
+% \hyperlink{target1}{SI unit}.
+% Using \refCom{velocity} by typing |\velocity{2.5}| gives
+% \velocity{2.5}. Use \refCom{newphysicsquantity} to define any new quantity
+% you need.
+%
+% Many \hyperlink{target3}{physical constants} are defined in \mandi\ and are
+% well documented in the corresponding section.
+%
+% Use \refCom{mivector} to write the coordinate representation of a vector.
+% Typing |\mivector{3,2,-4}| gives \mivector{3,2,-4}. Typing |\mivector{a,b,c}|
+% gives \mivector{a,b,c}.
+%
+% Use \refCom{direction} to write the coordinate representation of a unit vector,
+% which some authors call a direction. Typing |\direction{1,0,0}| gives
+% \direction{1,0,0}. Directions have no units.
+%
+% To specify a vector quantity in terms of its coordinate components, you have two
+% options. One way is to type the vector quantity's name as above, but use
+% \refCom{mivector} to specify a list of three components separated by commas in
+% curly braces as in |\velocity{\mivector{3,2,-4}}| to get
+% \velocity{\mivector{3,2,-4}}. Another way is to prefix |\vector| to the quantity's
+% name (with no leading backslash) and specify a list of three components separated
+% by commas in curly braces as in |\vectorvelocity{3,2,-4}| to get
+% \vectorvelocity{3,2,-4}. The output is the same either way.
+%
+% Use \refCom{timestento} or \refCom{xtento} to get scientific notation.
+% Typing either |2.54\timestento{-4}| or |2.54\xtento{-4}| gives 2.54\timestento{-4}.
+%
+% Use \refCom{inparens} to surround quantities with nicely formatted parentheses.
+% Typing |\inparens{x^2 + 4}| gives \inparens{x^2 + 4}.
+%
+% Use \refCom{define} to create a variable that can be used in an intermediate
+% step in a solution. This is discussed \hyperlink{target5}{later in this section}.
+%
+% To typeset a matrix in parentheses, use the \cs{pmatrix} environment by putting
+% the rows, between |\begin{pmatrix}| and |\end{pmatrix}|. Each row, except the
+% last, must end with |\\|. Within each row, separate the columns with |&|. Note
+% that \cs{pmatrix} typesets the matrix in parentheses. Use \cs{bmatrix} to typeset
+% it in square brackets and \cs{vmatrix} to typeset it in single vertical bars
+% to indicate a determinant. Use \cs{Vmatrix} to typeset it in double vertical
+% bars.
+%
+%\iffalse
+%<*example>
+%\fi
+ \begin{dispExample*}{sidebyside,colframe=white,colback=white, lefthand ratio=0.70}
+ A second rank tensor represented as a matrix.
+ \[\begin{pmatrix}
+ \hphantom{-}T_{00} & T_{01} & -T_{02} \\
+ -T_{10} & T_{11} & -T_{12} \\
+ \hphantom{-}T_{20} & T_{21} & \hphantom{-}T_{22}
+ \end{pmatrix}\]
+ Alternate notation for a matrix.
+ \[\begin{bmatrix}
+ \hphantom{-}T_{00} & T_{01} & -T_{02} \\
+ -T_{10} & T_{11} & -T_{12} \\
+ \hphantom{-}T_{20} & T_{21} & \hphantom{-}T_{22}
+ \end{bmatrix}\]
+ The determinant of a matrix.
+ \[\begin{vmatrix}
+ \hphantom{-}T_{00} & T_{01} & -T_{02} \\
+ -T_{10} & T_{11} & -T_{12} \\
+ \hphantom{-}T_{20} & T_{21} & \hphantom{-}T_{22}
+ \end{vmatrix}\]
+ Alternate notation for the determinant of a matrix.
+ \[\begin{Vmatrix}
+ \hphantom{-}T_{00} & T_{01} & -T_{02} \\
+ -T_{10} & T_{11} & -T_{12} \\
+ \hphantom{-}T_{20} & T_{21} & \hphantom{-}T_{22}
+ \end{Vmatrix}\]
+ \end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% Encapsulate an entire problem solution in a \refEnv{problem} environment by
+% putting it between |\begin{problem}| and |\end{problem}|.
+%
+% Show the steps in a calculation in a \refEnv{mysolution} environment by putting
+% them between |\begin{mysolution}| and |\end{mysolution}|.
+%
+% Use \cs{href} from the \pkgname{hyperref} package to link to URLs.
+% |\href{http://glowscript.org}{GlowScript}| gives
+% \href{http://glowscript.org}{GlowScript}. You can link to a specific
+% \href{http://goo.gl/wPMqjp}{GlowScript program} when necessary. Links are
+% active.
+%
+% Use \refCom{image} to insert diagrams. The diagram should be a PDF file. You
+% \emph{must} remember to specify a meaningful caption for the diagram. You must
+% also provide a unique label for the image so you can easily refer back to it
+% elsewhere in your document.
+%
+% There are two main design goals behind this package. The first is to typeset
+% numerical values of scalar and vector physical quantities and their SI units. The
+% idea is to simply type a command corresponding to the quantity's name, specifying
+% as an argument a single scalar value or the numerical components of a traditional
+% Cartesian 3-vector, and let \mandi\ take care of the units. Every physical quantity
+% you are likely to encounter in an introductory course is probably already defined,
+% but there's a facility for defining new quantities if you need to.
+%
+% The second main design goal provides a similar approach to typesetting the most
+% frequently used symbolic expressions in introductory physics. If you want to save
+% time in writing out the expression for the electric field of a particle, just use
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\Efieldofparticle
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% which, as you can see, takes fewer keystrokes and it's easier to remember. Correct
+% vector notation is automatically enforced, leading students to get used to seeing
+% it and, hopefully, using it in their own calculations. Yes, this is a bit of an
+% agenda on my part, but my experience has been that students don't recognize or
+% appreciate the utility of vector notation and thus their physical reasoning may
+% suffer as a result. So by using \mandi\ they use simple commands that mirror what
+% they're thinking, or what they're supposed to be thinking (yes, another agenda),
+% and in the process see the correct typeset output.
+%
+% There is another persistent problem with introductory physics textbooks, and that
+% is that many authors do not use consistent notation. Many authors define the
+% notation for a vector's magnitude to be either \magvect{a} or \absof{\vect{a}} in
+% an early chapter, but then completely ignore that notation and simply use \(a\)
+% later in the book. I have never understood the (lack of) logic behind this practice
+% and find it more than annoying. Textbooks authors should know better, and should
+% set a better example for introductory students. I propose that using \mandi\
+% would eliminate all last vestiges of all excuses for not setting this one good
+% example for introductory students.
+%
+% If you are a student, using this package will very likely begin with using a
+% pre-made document template supplied by your instructor. There will likely be a
+% lot about the document that you won't understand at first. Look for a line that
+% says |\begin{document}| and a corresponding line that says |\end{document}| You
+% will add content between these two lines. Most of your content will be within the
+% \refEnv{problem} environment. Each use of this environment is intended to
+% encapsulate one complete written solution to one physics problem. In this way,
+% you can build a library of problem solutions for your own convenience.
+%
+% Since students are this package's primary audience, nearly all of the commands
+% have been defined with students in mind. Writing a problem solution in \LaTeX\
+% can be tedious to the beginner and some of the commands have been designed to
+% minimize the tedium. For example, if you want to calculate something using an
+% equation, you typically must write the equation, substitute numerical quantities
+% with units if necessary, do the actual calculation, and then state the final
+% result.Sometimes it is necessary to show intermediate steps in a calculation.
+% \mandi\ can help with this.
+%
+% Here is a set of commands that typeset standard equations with placeholders where
+% numerical quantities must be eventually inserted. Note that all of these commands
+% end with the word |places| as a reminder that they generate placeholders.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{genericinteractionplaces}
+{\marg{const}\marg{thing1}\marg{thing2}\marg{dist}\marg{direction}}
+Command for generic expression for an inverse square interaction. The five
+required arguments are, from left to right, a constant of proportionality, a
+physical property of object 1, a physical property of object 2, the objects'
+mutual separation, and a vector direction. In practice, these should all be
+provided in numerical form. Note that negative signs must be placed manually.
+\end{docCommand}
+\begin{dispExample}
+\genericinteractionplaces{}{}{}{}{}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{genericfieldofparticleplaces}
+{\marg{const}\marg{thing}\marg{dist}\marg{direction}}
+Command for generic expression for an inverse square field. The four required
+arguments are, from left to right, a constant of proportionality, a physical
+property, relative distance to field point, and a vector direction. In practice,
+these should all be provided in numerical form. Note that negative signs must be
+placed manually.
+\end{docCommand}
+\begin{dispExample}
+\genericfieldofparticleplaces{}{}{}{}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{genericpotentialenergyplaces}
+{\marg{const}\marg{thing1}\marg{thing2}\marg{dist}}
+Command for generic expression for an inverse square energy. The four required
+arguments are, from left to right, a constant of proportionality, a physical
+property of object 1, a physical property of object 2, and the objects' mutual
+separation. In practice, these should all be provided in numerical form. Note that
+negative signs must be placed manually.
+\end{docCommand}
+\begin{dispExample}
+\genericpotentialenergyplaces{}{}{}{}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{gravitationalinteractionplaces}
+{\marg{mass1}\marg{mass2}\marg{distance}\marg{direction}}
+Command for gravitational interaction. The four required arguments are, from
+left to right, the first object's mass, the second object's mass, the objects'
+mutual separation, and a vector direction. In practice, these should all be
+provided in numerical form. Note that negative signs must be placed manually.
+\end{docCommand}
+\begin{dispExample}
+\gravitationalinteractionplaces{}{}{}{}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{gfieldofparticleplaces}
+{\marg{mass}\marg{distance}\marg{direction}}
+Command for gravitational field of a particle. The three required arguments are,
+from left to right, the object's mass, the distance from the source to the field
+point, and a vector direction. In practice, these should all be provided in
+numerical form. Note that negative signs must be placed manually.
+\end{docCommand}
+\begin{dispExample}
+\gfieldofparticleplaces{}{}{}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{gravitationalpotentialenergyplaces}
+{\marg{mass1}\marg{mass2}\marg{distance}}
+Command for gravitational potential energy. The three required arguments are,
+from left to right, the first object's mass, the second object's mass, and
+the object's mutual distance. In practice, these should all be provided in
+numerical form. Note the inclusion of the leading negative sign.
+\end{docCommand}
+\begin{dispExample}
+\gravitationalpotentialenergyplaces{}{}{}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{springinteractionplaces}
+{\marg{stiffness}\marg{stretch}\marg{direction}}
+Command for a spring interaction. The three required arguments are, from left
+to right, the spring stiffness, the spring's stretch, and a vector direction.
+In practice, these should all be provided in numerical form. Note that negative
+signs must be placed manually or absorbed into the displacement vector.
+\end{docCommand}
+\begin{dispExample}
+\springinteractionplaces{}{}{}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{springpotentialenergyplaces}
+{\marg{stiffness}\marg{stretch}}
+Command for spring potential energy. The two required arguments are, from left
+to right, the spring stiffness and the spring stretch. In practice, these should
+be provided in numerical form.
+\end{docCommand}
+\begin{dispExample}
+\springpotentialenergyplaces{}{}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{genericelectricdipoleonaxisplaces}
+{\marg{const}\marg{charge}\marg{separation}\marg{dist}\marg{direction}}
+Command for generic expression for dipole field on the dipole's axis. The five
+required arguments are, from left to right, a constant of proportionality, a charge,
+a dipole separation, the distance to the field point, and a vector direction. In
+practice, these should all be provided in numerical form.
+\end{docCommand}
+\begin{dispExample}
+\genericelectricdipoleonaxisplaces{}{}{}{}{}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{genericelectricdipoleplaces}
+{\marg{const}\marg{charge}\marg{separation}\marg{dist}\marg{direction}}
+Command for generic expression for dipole field. The five required arguments are,
+from left to right, a constant of proportionality, a charge, a dipole separation,
+the distance to the field point, and a vector direction. In practice, these should
+all be provided in numerical form.
+\end{docCommand}
+\begin{dispExample}
+\genericelectricdipoleplaces{}{}{}{}{}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{electricinteractionplaces}
+{\marg{charge1}\marg{charge2}\marg{distance}\marg{direction}}
+Command for electric interaction. The four required arguments are, from left to
+right, the first object's charge, the second object's charge, the objects' mutual
+separation, and a vector direction. In practice, these should all be provided in
+numerical form.
+\end{docCommand}
+\begin{dispExample}
+\electricinteractionplaces{}{}{}{}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Efieldofparticleplaces}
+{\marg{charge}\marg{distance}\marg{direction}}
+Command for electric field of a particle. The three required argument are, from
+left to right, the particle's charge, the distance form the source to the field
+point, and a vector direction. In practice, these should all be provided in
+numerical form.
+\end{docCommand}
+\begin{dispExample}
+\Efieldofparticleplaces{}{}{}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Bfieldofparticleplaces}
+{\marg{charge}\marg{magvel}\marg{magr}\marg{vhat}\marg{rhat}}
+Command for magnetic field of a particle. The five required arguments are, from
+left to right, the particle's charge, the particle's velocity, the distance from
+the source to the field point, the velocity's direction, and a direction vector
+from the source to the field point. In practice, these should all be provided in
+numerical form.
+\end{docCommand}
+\begin{dispExample}
+\Bfieldofparticleplaces{}{}{}{}{}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{electricpotentialenergyplaces}
+{\marg{charge1}\marg{charge2}\marg{distance}}
+Command for electric potential energy. The three required arguments are, from
+left to right, the first object's charge, the second object's charge, and the
+objects' mutual distance. In practice, these should all be provided in numerical
+form.
+\end{docCommand}
+\begin{dispExample}
+\electricpotentialenergyplaces{}{}{}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{electricdipoleonaxisplaces}
+{\marg{charge}\marg{separation}\marg{dist}\marg{direction}}
+Command for dipole electric field on the dipole's axis. The four required arguments
+are, from left to right, a charge, a dipole separation, the distance to the field
+point, and a vector direction. In practice, these should all be provided in numerical
+form.
+\end{docCommand}
+\begin{dispExample}
+\electricdipoleonaxisplaces{}{}{}{}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{electricdipoleonbisectorplaces}
+{\marg{charge}\marg{separation}\marg{dist}\marg{direction}}
+Command for dipole electric field. The four required arguments are, from left
+to right, a charge, a dipole separation, the distance to the field point, and
+a vector direction. In practice, these should all be provided in numerical form.
+\end{docCommand}
+\begin{dispExample}
+\electricdipoleonbisectorplaces{}{}{}{}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+% The underlying strategy is to \emph{think about how you would say what you want
+% to write and then write it the way you would say it}. With a few exceptions, this
+% is how \mandi\ works. You need not worry about units because \mandi\ knows what
+% SI units go with which physical quantities. You can define new quantities so that
+% \mandi\ knows about them and in doing so, you give the new quantities the same
+% names they would normally have.
+%
+% \hypertarget{target5}{So} now how to you go about getting numerical values (with
+% units) into the placeholders? Use the \refCom{define} command to define a variable
+% containing a desired quantity, and then pass that variable to the above commands
+% and that quantity will appear in the corresponding placeholder.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{define}{\marg{variablename}\marg{quantity}}
+Defines a variable, actually a new command, named \cs{variablename} and sets its
+value to \cs{quantity}. \textbf{Note that digits are not permitted in command names
+in \LaTeX.}
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\define{\massone}{\mass{25}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% Suppose you want to calculate the gravitational force on one object due to
+% another. You need two masses, and their mutual distance, and a direction. You
+% can say, for example, |\define{\massone}{\mass{5}| to create a variable |\massone|
+% containing a mass of \mass{5}. Note that you don't have to worry about units
+% because the \refCom{mass} command handles that for you. Similarly, you can go on
+% and say |\define{\masstwo}{\mass{12}| and |\define{\myr}{\displacement{5}| and
+% |\define{\mydir}{\mivector{0,-1,0}|. Now just call the
+% \refCom{gravitationalinteractionplaces} command with these arguments (in the
+% correct order of course) and \LaTeX\ will do the rest when you compile your
+% document. The entire process would look like this:
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{dispExample}
+\define{\massone}{\mass{5}}
+\define{\masstwo}{\mass{12}}
+\define{\myr}{\displacement{5}}
+\define{\mydir}{\mivector{0,-1,0}}
+\gravitationalinteractionplaces{\massone}{\masstwo}{\myr}{\mydir} =
+\vectorforce{0,-1.60\xtento{-10},0}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+% Of course you must calculate the final numerical result yourself because \mandi\
+% doesn't (yet) do calculations. One very important restriction on variable names is
+% that \LaTeX\ doesn't allow digits in command or variable names and thus that
+% restriction applies here too.
+%
+% This barely scratches the surface in describing \mandi\ so continue reading this
+% document to see everything it can do. You will learn new commands as you need
+% them in your work. To start with, you should at least read the section on
+% \hyperlink{target1}{SI units} and the section on
+% \hyperlink{target2}{physical quantities}.
+%
+% \newpage
+% \section{Features and Commands}
+% \hypertarget{target1}{\subsection{SI Base Units and Dimensions}}
+% This is not a tutorial on SI units and the user is assumed
+% to be familiar with SI rules and usage. Begin by defining shortcuts for the units
+% for the seven SI base quantities:
+% \emph{spatial displacement} (what others call \emph{length}), \emph{mass},
+% \emph{temporal displacement} (what others call \emph{time}, but we will call
+% it \emph{duration} in most cases), \emph{electric current}, \emph
+% {thermodynamic temperature}, \emph{amount}, and \emph{luminous intensity}.
+% These shortcuts are used internally and need not explicitly be invoked by the
+% user.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{m}{}
+ Command for \href{https://en.wikipedia.org/wiki/metre}{metre}, the SI unit of
+ spatial displacement (length).
+\end{docCommand}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{kg}{}
+ Command for \href{https://en.wikipedia.org/wiki/kilogram}{kilogram}, the SI unit
+ of mass.
+\end{docCommand}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{s}{}
+ Command for \href{https://en.wikipedia.org/wiki/second}{second}, the SI unit
+ of temporal displacement (duration).
+\end{docCommand}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{A}{}
+ Command for \href{https://en.wikipedia.org/wiki/ampere}{ampere}, the SI unit
+ of electric current.
+\end{docCommand}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{K}{}
+ Command for \href{https://en.wikipedia.org/wiki/kelvin}{kelvin}, the SI unit
+ of thermodynamic temperature.
+\end{docCommand}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{mol}{}
+ Command for \href{https://en.wikipedia.org/wiki/mole}{mole}, the SI unit of
+ amount.
+\end{docCommand}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{cd}{}
+ Command for \href{https://en.wikipedia.org/wiki/candela}{candela}, the SI
+ unit of luminous intensity.
+\end{docCommand}
+%\iffalse
+%</example>
+%\fi
+%
+% If \mandi\ was loaded with \opt{baseunits}, then every physical quantity will
+% have a unit that is some product of powers of these seven base SI units.
+% Exceptions are angular quantities, which will include either degrees or radians
+% depending upon the application. Again, this is what we mean by \baseunits\ form.
+%
+% Certain combinations of the SI base units have nicknames and each such
+% combination and nickname constitutes a \emph{derived unit}. Derived units are
+% no more physically meaningful than the base units, they are merely nicknames for
+% particular combinations of base units. An example of a derived unit is the
+% newton, for which the symbol (it is not an abbreviation) is \newton. However,
+% the symbol \newton\ is merely a nickname for a particular combination of base
+% units. It is not the case that every unique combination of base units has a
+% nickname, but those that do are usually named in honor of a scientist.
+% Incidentally, in such cases, the symbol is capitalized but the \emph{name}
+% of the unit is \emph{never} capitalized. Thus we would write the name of the
+% derived unit of force as newton and not Newton. Again, using these select
+% nicknames for certain combinations of base units is what we mean by \drvdunits\
+% form.
+%
+% \subsection{SI Dimensions}
+% For each SI unit, there is at least one corresponding dimension. Every physical
+% quantity is some multiplicative product of each of the seven basic SI dimensions
+% raised to a power.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dimddisplacement}{}
+Command for the symbol for the dimension of displacement.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+displacement has dimension of \dimdisplacement
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dimmass}{}
+Command for the symbol for the dimension of mass.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+mass has dimension of \dimmass
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dimduration}{}
+Command for the symbol for the dimension of duration.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+duration has dimension of \dimduration
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dimcurrent}{}
+Command for the symbol for the dimension of current.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+current has dimension of \dimcurrent
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dimtemperature}{}
+Command for the symbol for the dimension of temperature.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+temperature has dimension of \dimtemperature
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dimamount}{}
+Command for the symbol for the dimension of amount.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+amount has dimension of \dimamount
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dimluminous}{}
+Command for the symbol for the dimension of luminous intensity.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+luminous has dimension of \dimluminous
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% \hypertarget{target2}{\subsection{Defining Physical Quantities}}
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{newphysicsquantity}
+{\marg{newname}\marg{\baseunits}\oarg{\drvdunits}\oarg{\altnunits}}
+Defines a new physical quantity and its associated commands.
+\end{docCommand}
+%\iffalse
+%</example>
+%\fi
+%
+% Using this command causes several things to happen.
+% \begin{itemize}
+% \item A command \colDef{\cs{newname}}\marg{magnitude}, where \colDef{newname}
+% is the first argument of \colDef{\cs{newphysicsquantity}}, is created that
+% takes one mandatory argument, a numerical magnitude. Subsequent use of your
+% defined scalar quantity can be invoked by typing \colDef{\cs{newname}}
+% \marg{magnitude} and the units will be typeset according to the options
+% given when \mandi\ was loaded. Note that if the \drvdunits\ and \altnunits\
+% forms are not specified, they will be populated with the \baseunits\ form.
+% \item A command \colDef{\cs{newnamebaseunit}}\marg{magnitude} is created that
+% expresses the quantity and its units in \baseunits\ form.
+% \item A command \colDef{\cs{newnamedrvdunit}}\marg{magnitude} is created that
+% expresses the quantity and its units in \drvdunits\ form. This command is
+% created whether or not the first optional argument is provided.
+% \item A command \colDef{\cs{newnamealtnunit}}\marg{magnitude} is created that
+% expresses the quantity and its units in \altnunits\ form. This command is
+% created whether or not the first optional argument is provided.
+% \item A command \colDef{\cs{newnameonlybaseunit}}\marg{magnitude} is created
+% that expresses \textbf{only} the quantity's units in \baseunits\ form.
+% \item A command \colDef{\cs{newnameonlydrvdunit}}\marg{magnitude} is created
+% that expresses \textbf{only} the quantity's units in \drvdunits\ form.
+% \item A command \colDef{\cs{newnameonlyaltnunit}}\marg{magnitude} is created
+% that expresses \textbf{only} the quantity's units in \altnunits\ form.
+% \item A command \colDef{\cs{newnamevalue}}\marg{magnitude} is created that
+% expresses \textbf{only} the quantity's numerical value.
+% \end{itemize}
+%
+% As an example, consider momentum. The following commands are defined:
+%
+% \begin{quotation}
+% \begin{tabular}{l l l}
+% |\momentum{3}| &\momentum{3} & unit set by global options \\
+% |\momentumbaseunit{3}| &\momentumbaseunit{3} & quantity with base unit \\
+% |\momentumdrvdunit{3}| &\momentumdrvdunit{3} & quantity with derived unit \\
+% |\momentumaltnunit{3}| &\momentumaltnunit{3} & quantity with alternate unit \\
+% |\momentumvalue{3}| &\momentumvalue{3} & selects only numerical value \\
+% |\momentumonlybaseunit|&\momentumonlybaseunit & selects only base unit \\
+% |\momentumonlydrvdunit|&\momentumonlydrvdunit & selects only derived unit \\
+% |\momentumonlyaltnunit|&\momentumonlyaltnunit & selects only alternate unit
+% \end{tabular}
+% \end{quotation}
+%
+% Momentum is a vector quantity, so obviously this command really refers to the
+% magnitude of a momentum vector. There is an interesting, and as far as I can
+% tell unwritten, convention in physics that we use the same name for a vector
+% and its magnitude with one exception, and that is for velocity, the magnitude
+% of which we sometimes call speed. Conceptually, however, velocity and speed are
+% different entities. Therefore, \mandi\ has different commands for them. Actually,
+% the \refCom{speed} command is just an alias for \refCom{velocity} and should only
+% be used for scalars and never for vectors. This convention means that the same
+% name is used for vector quantities and the corresponding magnitudes.
+%
+% \subsubsection{Defining Vector Quantities}
+%
+% All physical quantities are defined as in the momentum example above regardless
+% of whether the quantity is a scalar or a vector. To typeset a vector quantity
+% in terms of its components in some coordinate system (usually an orthonormal
+% cartesian system, either specify an argument consisting of a vector with components
+% as a comma separated list in a \refCom{mivector} command or prepend the quantity
+% name with |vector|. So specifying a momentum vector is as simple as
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{dispExample}
+\momentum{\mivector{3,2,-1}} \\
+\vectormomentum{3,2,-1}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+% where the notation corresponds to that used in \mi.
+%
+% \subsubsection{First Semester Physics}
+% The first semester of most introductory calculus-based physics courses focuses
+% on mechanics, dynamics, and statistical mechanics.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{displacement}{\marg{magnitude or vector}}
+Command for displacement.
+\end{docCommand}
+\begin{docCommand}{vectordisplacement}{\marg{commadelimitedlistofcomps}}
+Command for vector displacement.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\displacement{5} \\
+\displacement{\mivector{3,2,-1}} \\
+\vectordisplacement{1,2,3}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{mass}{\marg{magnitude}}
+Command for mass.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\mass{5}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{duration}{\marg{magnitude}}
+Command for duration.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\duration{5}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{current}{\marg{magnitude}}
+Command for current.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\current{5}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{temperature}{\marg{magnitude}}
+Command for temperature.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\temperature{5}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{amount}{\marg{magnitude}}
+Command for amount.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\amount{5}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{luminous}{\marg{magnitude}}
+Command for luminous intensity.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\luminous{5}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% While we're at it, let's also go ahead and define a few non-SI units from
+% astronomy, astrophysics, and old school physics.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{infeet}{\marg{magnitude}}
+Command for magnitude of displacement in feet. This is still sometimes used
+in engineering applications and is frequently seen in older physics textbooks.
+\end{docCommand}
+\begin{docCommand}{infeetpersecond}{\marg{magnitude}}
+Command for magnitude of velocity in feet per second. This is still sometimes used
+in engineering applications and is frequently seen in older physics textbooks.
+\end{docCommand}
+\begin{docCommand}{infeetpersecondsquared}{\marg{magnitude}}
+Command for magnitude of acceleration in feet per second. This is still sometimes
+used in engineering applications and is frequently seen in older physics textbooks.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\infeet{5} \\
+\infeetpersecond{5} \\
+\infeetpersecondsquared{32}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{planeangle}{\marg{magnitude}}
+Command for plane angle in radians.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\planeangle{5}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{solidangle}{\marg{magnitude}}
+Command for solidangle.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\solidangle{5}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{indegrees}{\marg{magnitude}}
+Command for plane angle in degrees.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\indegrees{5}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{inarcminutes}{\marg{magnitude}}
+Command for plane angle in minutes of arc.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\inarcminutes{5}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{inarcseconds}{\marg{magnitude}}
+Command for plane angle in seconds of arc.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\inarcseconds{5}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{inFarenheit}{\marg{magnitude}}
+Command for temperature in degrees Farenheit.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\inFarenheit{68}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{inCelsius}{\marg{magnitude}}
+Command for temperature in degrees Celsius.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\inCelsius{20}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ineV}{\marg{magnitude}}
+Command for energy in electron volts.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\ineV{10.2}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ineVocs}{\marg{magnitude}}
+Command for mass in \(\mathrm{eV}\per c^2\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\ineVocs{1.1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ineVoc}{\marg{magnitude}}
+Command for momentum in \(\mathrm{eV}\per c\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\ineVoc{3.6}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{inMeV}{\marg{magnitude}}
+Command for energy in millions of electron volts.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\inMeV{2.2}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{inMeVocs}{\marg{magnitude}}
+Command for mass in \(\mathrm{MeV}\per c^2\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\inMeVocs{0.511}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{inMeVoc}{\marg{magnitude}}
+Command for momentum in \(\mathrm{MeV}\per c\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\inMeVoc{3.6}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{inGeV}{\marg{magnitude}}
+Command for energy in millions of electron volts.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\inGeV{2.2}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{inGeVocs}{\marg{magnitude}}
+Command for mass in \(\mathrm{GeV}\per c^2\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\inGeVocs{0.511}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{inGeVoc}{\marg{magnitude}}
+Command for momentum in \(\mathrm{GeV}\per c\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\inGeVoc{3.6}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{inamu}{\marg{magnitude}}
+Command for mass in atomic mass units.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\inamu{4.002602}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{inAU}{\marg{magnitude}}
+Command for displacement in astronomical units.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\inAU{5.2}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{inly}{\marg{magnitude}}
+Command for displacement in light years.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\inly{4.3}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{incyr}{\marg{magnitude}}
+Command for displacement in light years written differently.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\incyr{4.3}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{inpc}{\marg{magnitude}}
+Command for displacement in parsecs.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\inpc{4.3}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{insolarL}{\marg{magnitude}}
+Command for luminosity in solar multiples.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\insolarL{4.3}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{insolarT}{\marg{magnitude}}
+Command for temperature in solar multiples.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\insolarT{2}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{insolarR}{\marg{magnitude}}
+Command for radius in solar multiples.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\insolarR{4.3}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{insolarM}{\marg{magnitude}}
+Command for mass in solar multiples.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\insolarM{4.3}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{insolarF}{\marg{magnitude}}
+Command for flux in solar multiples.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\insolarF{4.3}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{insolarf}{\marg{magnitude}}
+Command for apparent flux in solar multiples.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\insolarf{4.3}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{insolarMag}{\marg{magnitude}}
+Command for absolute magnitude in solar multiples.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\insolarMag{2}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{insolarmag}{\marg{magnitude}}
+Command for apparent magnitude in solar multiples.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\insolarmag{2}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{insolarD}{\marg{magnitude}}
+Command for distance in solar multiples.
+\end{docCommand}
+\begin{docCommand}{insolard}{\marg{magnitude}}
+Identical to \refCom{insolarD} but uses \(d\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\insolarD{2} \\
+\insolard{2}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% Angles are confusing in introductory physics because sometimes we write
+% the unit and sometimes we do not. Some concepts, such as flux, are simplified
+% by introducing solid angle.
+%
+% Now let us continue into first semester physics, defining quantities in the
+% approximate order in which they appear in such a course. Use \refCom{timestento}
+% or \refCom{xtento} to get scientific notation, with the mantissa immediately
+% preceding the command and the power as the required argument. \refCom{timestento}
+% has an optional second argument that specifies a unit, but that is not needed or
+% used in the following examples.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{direction}{\marg{commadelimitedlistofcomps}}
+Command for coordinate representation of a vector direction. Direction has no unit.
+\end{docCommand}
+\begin{docCommand}{vectordirection}{\marg{commadelimitedlistofcomps}}
+This is an alias for \refCom{direction}.
+\end{docCommand}
+\begin{dispExample}
+\direction{a,b,c} \\
+\direction{\frac{1}{\sqrt{3}},\frac{1}{\sqrt{3}},\frac{1}{\sqrt{3}}} \\
+\vectordirection{a,b,c} \\
+\vectordirection{\frac{1}{\sqrt{3}},\frac{1}{\sqrt{3}},\frac{1}{\sqrt{3}}}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{velocityc}{\marg{magnitude or vector}}
+Command for velocity as a fraction of \(c\).
+\end{docCommand}
+\begin{docCommand}{vectorvelocityc}{\marg{commadelimitedlistofcomps}}
+Command for vector velocity as a fraction of \(c\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\velocityc{0.9987} \\
+\velocityc{\mivector{0,0.9987,0}} \\
+\mivector{\velocityc{\frac{1}{\sqrt{3}}} \\
+\velocityc{\frac{1}{\sqrt{3}}} \\
+\velocityc{\frac{1}{\sqrt{3}}}} \\
+\vectorvelocityc{0,0.9987,0}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{velocity}{\marg{magnitude or vector}}
+Command for velocity.
+\end{docCommand}
+\begin{docCommand}{vectorvelocity}{\marg{commadelimitedlistofcomps}}
+Command for vector velocity.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\velocity{2.34} \\
+\velocity{\mivector{3,2,-1}} \\
+\vectorvelocity{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{speed}{\marg{magnitude}}
+Command for speed. Technically, velocity is defined as the quotient of
+displacement and duration while speed is defined as the quotient of distance
+traveled and duration. They have the same dimension and unit, but are
+conceptually different so separate commands are provided. I've never seen speed
+used as anything other than a scalar.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\velocity{8.25}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{lorentzfactor}{\marg{magnitude}}
+Command for relativistic Lorentz factor. Obviously this command doesn't do
+anything visually, but is included for thinking about calculations where this
+quantity is needed.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\lorentzfactor{2.34}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{momentum}{\marg{magnitude or vector}}
+Command for momentum.
+\end{docCommand}
+\begin{docCommand}{vectormomentum}{\marg{commadelimitedlistofcomps}}
+Command for vector momentum.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\momentum{2.34} \\
+\momentum{\mivector{3,2,-1}} \\
+\vectormomentum{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{acceleration}{\marg{magnitude or vector}}
+Command for acceleration.
+\end{docCommand}
+\begin{docCommand}{vectoracceleration}{\marg{commadelimitedlistofcomps}}
+Command for vector acceleration.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\acceleration{2.34} \\
+\acceleration{\mivector{3,2,-1}} \\
+\vectoracceleration{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{gravitationalfield}{\marg{commadelimitedlistofcomps}}
+Command for gravitational field.
+\end{docCommand}
+\begin{docCommand}{vectorgravitationalfield}{\marg{magnitude or vector}}
+Command for vector gravitational field.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\gravitationalfield{2.34} \\
+\gravitationalfield{\mivector{3,2,-1}} \\
+\vectorgravitationalfield{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{gravitationalpotential}{\marg{magnitude}}
+Command for gravitational potential.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\gravitationalpotential{2.34}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{impulse}{\marg{magnitude or vector}}
+Command for impulse. Impulse and change in momentum are conceptually different
+and a case can be made for expressing the in different, but equivalent, units.
+\end{docCommand}
+\begin{docCommand}{vectorimpulse}{\marg{commadelimitedlistofcomps}}
+Command for vector impulse.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\impulse{2.34} \\
+\impulse{\mivector{3,2,-1}} \\
+\vectorimpulse{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{force}{\marg{magnitude or vector}}
+Command for force.
+\end{docCommand}
+\begin{docCommand}{vectorforce}{\marg{commadelimitedlistofcomps}}
+Command for vector force.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\force{2.34} \\
+\force{\mivector{3,2,-1}} \\
+\vectorforce{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{springstiffness}{\marg{magnitude}}
+Command for spring stiffness.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\springstiffness{2.34}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{springstretch}{\marg{magnitude}}
+Command for spring stretch.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\springstretch{2.34}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{area}{\marg{magnitude}}
+Command for area.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\area{2.34}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{volume}{\marg{magnitude}}
+Command for volume.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\volume{2.34}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{linearmassdensity}{\marg{magnitude}}
+Command for linear mass density.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\linearmassdensity{2.34}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{areamassdensity}{\marg{magnitude}}
+Command for area mass density.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\areamassdensity{2.34}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{volumemassdensity}{\marg{magnitude}}
+Command for volume mass density.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\volumemassdensity{2.34}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{youngsmodulus}{\marg{magnitude}}
+Command for Young's modulus.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\youngsmodulus{2.34\timestento{9}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{work}{\marg{magnitude}}
+Command for work. Energy and work are conceptually different and a case can
+be made for expressing them in different, but equivalent, units.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\work{2.34}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{energy}{\marg{magnitude}}
+Command for energy. Work and energy are conceptually different and a case can
+be made for expressing them in different, but equivalent, units.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\energy{2.34}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{power}{\marg{magnitude}}
+Command for power.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\power{2.34}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{specificheatcapacity}{\marg{magnitude}}
+Command for specific heat capacity.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\specificheatcapacity{4.18\xtento{3}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{angularvelocity}{\marg{magnitude or vector}}
+Command for angular velocity.
+\end{docCommand}
+\begin{docCommand}{vectorangularvelocity}{\marg{commadelimitedlistofcomps}}
+Command for vector angular velocity.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\angularvelocity{2.34} \\
+\angularvelocity{\mivector{3,2,-1}} \\
+\vectorangularvelocity{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{angularacceleration}{\marg{magnitude or vector}}
+Command for angular acceleration.
+\end{docCommand}
+\begin{docCommand}{vectorangularacceleration}{\marg{commadelimitedlistofcomps}}
+Command for vector angular acceleration.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\angularacceleration{2.34} \\
+\angularacceleration{\mivector{3,2,-1}} \\
+\vectorangularacceleration{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{angularmomentum}{\marg{magnitude or vector}}
+Command for angular momentum. Whether or not the units contain radians
+is determined by whether the \opt{useradians} option was used when
+\pkgname{mandi} was loaded.
+\end{docCommand}
+\begin{docCommand}{vectorangularmomentum}{\marg{commadelimitedlistofcomps}}
+Command for vector angular momentum.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\angularmomentum{2.34} \\
+\angularmomentum{\mivector{3,2,-1}} \\
+\vectorangularmomentum{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{angularimpulse}{\marg{magnitude or vector}}
+Command for angular impulse. Whether or not the units contain radians is
+determined by whether the \opt{useradians} option was used when
+\pkgname{mandi} was loaded.
+\end{docCommand}
+\begin{docCommand}{vectorangularimpulse}{\marg{commadelimitedlistofcomps}}
+Command for vector angular impulse.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\angularimpulse{2.34} \\
+\angularimpulse{\mivector{3,2,-1}} \\
+\vectorangularimpulse{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{torque}{\marg{magnitude or vector}}
+Command for torque. Whether or not the units contain radians is
+determined by whether the \opt{useradians} option was used when
+\pkgname{mandi} was loaded.
+\end{docCommand}
+\begin{docCommand}{vectortorque}{\marg{commadelimitedlistofcomps}}
+Command for vector torque.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\torque{2.34} \\
+\torque{\mivector{3,2,-1}} \\
+\vectortorque{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{momentofinertia}{\marg{magnitude}}
+Command for moment of inertia.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\momentofinertia{2.34}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{entropy}{\marg{magnitude}}
+Command for entropy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\entropy{2.34}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{wavelength}{\marg{magnitude}}
+Command for wavelength.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\wavelength{4.00\timestento{-7}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{wavenumber}{\marg{magnitude or vector}}
+Command for wavenumber.
+\end{docCommand}
+\begin{docCommand}{vectorwavenumber}{\marg{commadelimitedlistofcomps}}
+Command for vector wavenumber.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\wavenumber{2.50\timestento{6}} \\
+\wavenumber{\mivector{3,2,-1}} \\
+\vectorwavenumber{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{frequency}{\marg{magnitude}}
+Command for frequency.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\frequency{7.50\timestento{14}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{angularfrequency}{\marg{magnitude}}
+Command for angularfrequency.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\angularfrequency{4.70\timestento{15}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% \subsubsection{Second Semester Physics}
+% The second semester of introductory physics focuses on electromagnetic theory,
+% and there are many primary and secondary quantities.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{charge}{\marg{magnitude}}
+Command for electric charge.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\charge{2\timestento{-9}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{permittivity}{\marg{magnitude}}
+Command for permittivity.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\permittivity{9\timestento{-12}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{electricfield}{\marg{magnitude or vector}}
+Command for electric field.
+\end{docCommand}
+\begin{docCommand}{vectorelectricfield}{\marg{commadelimitedlistofcomps}}
+Command for vector electric field.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\electricfield{2\timestento{5}} \\
+\electricfield{\mivector{3,2,-1}} \\
+\vectorelectricfield{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{electricdipolemoment}{\marg{magnitude or vector}}
+Command for electric dipole moment.
+\end{docCommand}
+\begin{docCommand}{vectorelectricdipolemoment}{\marg{commadelimitedlistofcomps}}
+Command for vector electric dipole moment.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\electricdipolemoment{2\timestento{5}} \\
+\electricdipolemoment{\mivector{3,2,-1}} \\
+\vectorelectricdipolemoment{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{permeability}{\marg{magnitude}}
+Command for permeability.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\permeability{4\pi\timestento{-7}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{magneticfield}{\marg{magnitude or vector}}
+Command for magnetic field (also called magnetic induction).
+\end{docCommand}
+\begin{docCommand}{vectormagneticfield}{\marg{commadelimitedlistofcomps}}
+Command for vector magnetic field (also called magnetic induction).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\magneticfield{1.25} \\
+\magneticfield{\mivector{3,2,-1}} \\
+\vectormagneticfield{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{cmagneticfield}{\marg{magnitude or vector}}
+Command for product of \(c\) and magnetic field. This quantity is
+convenient for symmetry.
+\end{docCommand}
+\begin{docCommand}{vectorcmagneticfield}{\marg{commadelimitedlistofcomps}}
+Command for product of \(c\) and magnetic field as a vector.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\cmagneticfield{1.25} \\
+\cmagneticfield{\mivector{3,2,-1}} \\
+\vectorcmagneticfield{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{linearchargedensity}{\marg{magnitude}}
+Command for linear charge density.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\linearchargedensity{4.5\timestento{-3}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{areachargedensity}{\marg{magnitude}}
+Command for area charge density.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\areachargedensity{1.25}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{volumechargedensity}{\marg{magnitude}}
+Command for volume charge density.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\volumechargedensity{1.25}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{mobility}{\marg{magnitude}}
+Command for electron mobility.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\areachargedensity{4.5\timestento{-3}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{numberdensity}{\marg{magnitude}}
+Command for electron number density.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\numberdensity{2\timestento{18}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{polarizability}{\marg{magnitude}}
+Command for polarizability.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\polarizability{1.96\timestento{-40}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{electricpotential}{\marg{magnitude}}
+Command for electric potential.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\electricpotential{1.5}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{emf}{\marg{magnitude}}
+Command for emf.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\emf{1.5}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dielectricconstant}{\marg{magnitude}}
+Command for dielectric constant.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\dielectricconstant{1.5}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{indexofrefraction}{\marg{magnitude}}
+Command for index of refraction.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\indexofrefraction{1.5}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{relativepermittivity}{\marg{magnitude}}
+Command for relative permittivity.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\relativepermittivity{0.9}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{relativepermeability}{\marg{magnitude}}
+Command for relative permeability.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\relativepermeability{0.9}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{poyntingvector}{\marg{commadelimitedlistofcomps}}
+Command for Poynting vector. This is an alias for \refCom{vectorenergyflux}.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\poyntingvector{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{energydensity}{\marg{magnitude}}
+Command for energy density.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\energydensity{1.25}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{energyflux}{\marg{magnitude or vector}}
+Command for energy flux.
+\end{docCommand}
+\begin{docCommand}{vectorenergyflux}{\marg{commadelimitedlistofcomps}}
+Command for vector energy flux.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\energyflux{4\timestento{26}} \\
+\energyflux{\mivector{3,2,-1}} \\
+\vectorenergyflux{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{momentumflux}{\marg{magnitude or vector}}
+Command for momentum flux.
+\end{docCommand}
+\begin{docCommand}{vectormomentumflux}{\marg{commadelimitedlistofcomps}}
+Command for vector momentum flux.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\momentumflux{4\timestento{26}} \\
+\momentumflux{\mivector{3,2,-1}} \\
+\vectormomentumflux{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{electroncurrent}{\marg{magnitude}}
+Command for electron current.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\electroncurrent{2\timestento{18}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{conventionalcurrent}{\marg{magnitude}}
+Command for conventional current.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\conventionalcurrent{0.003}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{magneticdipolemoment}{\marg{magnitude or vector}}
+Command for magnetic dipole moment.
+\end{docCommand}
+\begin{docCommand}{vectormagneticdipolemoment}{\marg{commadelimitedlistofcomps}}
+Command for vector magnetic dipole moment.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\magneticdipolemoment{1.25} \\
+\magneticdipolemoment{\mivector{3,2,-1}} \\
+\vectormagneticdipolemoment{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{currentdensity}{\marg{magnitude or vector}}
+Command for current density.
+\end{docCommand}
+\begin{docCommand}{vectorcurrentdensity}{\marg{commadelimitedlistofcomps}}
+Command for vector current density.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\currentdensity{1.25} \\
+\currentdensity{\mivector{3,2,-1}} \\
+\vectorcurrentdensity{3,2,-1}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{electricflux}{\marg{magnitude}}
+Command for electric flux.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\electricflux{1.25}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{magneticflux}{\marg{magnitude}}
+Command for magnetic flux.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\magneticflux{1.25}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{capacitance}{\marg{magnitude}}
+Command for capacitance.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\capacitance{1.00}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{inductance}{\marg{magnitude}}
+Command for inductance.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\inductance{1.00}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{conductivity}{\marg{magnitude}}
+Command for conductivity.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\conductivity{1.25}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{resistivity}{\marg{magnitude}}
+Command for resistivity.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\resistivity{1.25}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{resistance}{\marg{magnitude}}
+Command for resistance.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\resistance{1\timestento{6}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{conductance}{\marg{magnitude}}
+Command for conductance.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\conductance{1\timestento{6}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{magneticcharge}{\marg{magnitude}}
+Command for magnetic charge, in case it actually exists.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\magneticcharge{1.25}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% \subsubsection{Further Words on Units}
+% The form of a quantity's unit can be changed on the fly regardless of the
+% global format determined by \opt{baseunits} and \opt{drvdunits}. One way,
+% as illustrated in the table above, is to append |baseunit|, |drvdunit|,
+% |altnunit| to the quantity's name, and this will override the global options
+% for that instance.
+%
+% A second way is to use the commands that change a quantity's unit on the fly.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{hereusebaseunit}{\marg{magnitude}}
+Command for using base units in place.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\hereusebaseunit{\momentum{3}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{hereusedrvdunit}{\marg{magnitude}}
+Command for using derived units in place.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\hereusedrvdunit{\momentum{3}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{hereusealtnunit}{\marg{magnitude}}
+Command for using alternate units in place.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\hereusealtnunit{\momentum{3}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% A third way is to use the environments that change a quantity's unit
+% for the duration of the environment.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docEnvironment}{usebaseunit}{}
+Environment for using base units.
+\end{docEnvironment}
+\begin{dispExample*}{sidebyside}
+\begin{usebaseunit}
+ \momentum{3}
+\end{usebaseunit}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docEnvironment}{usedrvdunit}{}
+Environment for using derived units.
+\end{docEnvironment}
+\begin{dispExample*}{sidebyside}
+\begin{usedrvdunit}
+ \momentum{3}
+\end{usedrvdunit}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docEnvironment}{usealtnunit}{}
+Environment for using alternate units.
+\end{docEnvironment}
+\begin{dispExample*}{sidebyside}
+\begin{usealtnunit}
+ \momentum{3}
+\end{usealtnunit}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% A fourth way is to use the three global switches that perpetually change the
+% default unit. \textbf{It's important to remember that these switches override
+% the global options for the rest of the document or until overridden by one of
+% the other two switches.}
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{perpusebaseunit}{}
+Command for perpetually using base units.
+\end{docCommand}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{perpusedrvdunit}{}
+Command for perpetually using derived units.
+\end{docCommand}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{perpusealtnunit}{}
+Command for perpetually using alternate units.
+\end{docCommand}
+%\iffalse
+%</example>
+%\fi
+%
+%\subsubsection{Using Alternate Units}
+% In some cases it may be helpful to use unconventional, but pedagogically
+% appropriate, units for certain physical quantities. As an example, consider
+% force. It is normally expressed in newtons, but it can also be expressed in
+% joules per meter. You can redefine a quantity's units on the fly with the
+% \cs{redefinephysicsquantity} command.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{redefinephysicsquantity}
+{\marg{newname}\marg{\baseunits}\oarg{\drvdunits}\oarg{\altnunits}}
+Redefines an existing physical quantity, allowing for new alternate units. You can
+also change the other units but it strongly discouraged. The new definition takes
+effect immediately.
+\end{docCommand}
+%\iffalse
+%</example>
+%\fi
+%
+%\subsubsection{All Predefined Quantities}
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{chkquantity}{\marg{quantityname}}
+Diagnostic command for all of the units for a defined physical quantity. See table
+below.
+\end{docCommand}
+%\iffalse
+%</example>
+%\fi
+%
+% Here are all the predefined quantities and their units.
+%\begin{adjustwidth}{-0.5in}{-0.5in}
+%
+%\chkquantity{displacement}
+%\chkquantity{mass}
+%\chkquantity{duration}
+%\chkquantity{current}
+%\chkquantity{temperature}
+%\chkquantity{amount}
+%\chkquantity{luminous}
+%\chkquantity{infeetpersecond}
+%\chkquantity{infeet}
+%\chkquantity{planeangle}
+%\chkquantity{solidangle}
+%\chkquantity{velocity}
+%\chkquantity{acceleration}
+%\chkquantity{gravitationalfield}
+%\chkquantity{gravitationalpotential}
+%\chkquantity{momentum}
+%\chkquantity{impulse}
+%\chkquantity{force}
+%\chkquantity{springstiffness}
+%\chkquantity{springstretch}
+%\chkquantity{area}
+%\chkquantity{volume}
+%\chkquantity{linearmassdensity}
+%\chkquantity{areamassdensity}
+%\chkquantity{volumemassdensity}
+%\chkquantity{youngsmodulus}
+%\chkquantity{stress}
+%\chkquantity{pressure}
+%\chkquantity{strain}
+%\chkquantity{work}
+%\chkquantity{energy}
+%\chkquantity{power}
+%\chkquantity{specificheatcapacity}
+%\chkquantity{angularvelocity}
+%\chkquantity{angularacceleration}
+%\chkquantity{momentofinertia}
+%\chkquantity{angularmomentum}
+%\chkquantity{angularimpulse}
+%\chkquantity{torque}
+%\chkquantity{entropy}
+%\chkquantity{wavelength}
+%\chkquantity{wavenumber}
+%\chkquantity{frequency}
+%\chkquantity{angularfrequency}
+%\chkquantity{charge}
+%\chkquantity{permittivity}
+%\chkquantity{permeability}
+%\chkquantity{linearchargedensity}
+%\chkquantity{areachargedensity}
+%\chkquantity{volumechargedensity}
+%\chkquantity{electricfield}
+%\chkquantity{electricdipolemoment}
+%\chkquantity{electricflux}
+%\chkquantity{magneticfield}
+%\chkquantity{magneticflux}
+%\chkquantity{cmagneticfield}
+%\chkquantity{mobility}
+%\chkquantity{numberdensity}
+%\chkquantity{polarizability}
+%\chkquantity{electricpotential}
+%\chkquantity{emf}
+%\chkquantity{dielectricconstant}
+%\chkquantity{indexofrefraction}
+%\chkquantity{relativepermittivity}
+%\chkquantity{relativepermeability}
+%\chkquantity{energydensity}
+%\chkquantity{momentumflux}
+%\chkquantity{energyflux}
+%\chkquantity{electroncurrent}
+%\chkquantity{conventionalcurrent}
+%\chkquantity{magneticdipolemoment}
+%\chkquantity{currentdensity}
+%\chkquantity{capacitance}
+%\chkquantity{inductance}
+%\chkquantity{conductivity}
+%\chkquantity{resistivity}
+%\chkquantity{resistance}
+%\chkquantity{conductance}
+%\chkquantity{magneticcharge}
+%\end{adjustwidth}
+%
+% \subsection{When to Write Radians}\label{WhentoWriteRadians}
+% A word of clarification is in order for plane angles, solid angles, and other
+% angular quantities. There is the perpetually confusing issue of when to explicitly
+% write radians as a unit and when to omit it. The answer is that if the numerical
+% value of a quantity explicitly depends on the angular unit, then the unit should
+% be written. An example would be angular displacement; the numerical value obviously
+% depends on the unit used. If the numerical value of a quantity does not explicitly
+% depend on the angular unit, then the unit is omitted. An example would be the linear,
+% or translational, velocity or a particle in circular motion. This quantity doesn't
+% explicitly depends on the angular unit, so the angular unit is not written.
+%
+% Torque, angular impulse, and angular momentum present special a special problem
+% in that it is sometimes pedagogically helpful to explicitly include angular units
+% in their operational definitions. While this may not be in strict accordance
+% with SI standards, loading \mandi\ with the \opt{useradians} option includes
+% angular units in these quantities. See \nameref{LoadingthePackage} for details.
+%
+% \subsection{The Empty Unit}
+% Sometimes, when discussing manipulation of units, it is helpful to have a generic
+% symbol that does not correspond to any particular existing unit. The
+% \cs{emptyunit} is provided for this purpose. It serves as a visual placeholder
+% for any unit.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{emptyunit}{}
+Command for a generic visual placeholder symbolizing any actual unit.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\( \frac{\emptyunit\squared}{\cubic\emptyunit} = \emptyunit^{-1} \)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% \newpage
+% \hypertarget{target3}{\subsection{Physical Constants}}
+% \subsubsection{Defining Physical Constants}
+% \mandi\ has many predefined physical constants.
+% This section explains how to use them.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{newphysicsconstant}
+{\marg{name}\marg{symbol}{\{\cs{mi@p\marg{approx}\marg{precise}}\}}\marg{\baseunits}
+\\
+\oarg{\drvdunits}\oarg{\altnunits}%
+}%
+
+Defines a new physical constant with a name, a symbol, approximate and
+precise numerical values, required base units, optional derived units,
+and optional alternate units. The \cs{mi@p} command is defined
+internally and is not meant to be otherwise used.
+\end{docCommand}
+\begin{dispListing}
+Here is how \planck (Planck's constant) is defined internally, showing
+each part of the definition on a separate line.
+\newphysicsconstant{planck}
+ {\ensuremath{h}}
+ {\mi@p{6.6}{6.626070040}\timestento{-34}}
+ {\m\squared\usk\kg\usk\reciprocal\s}
+ [\J\usk\s]
+ [\J\usk\s]
+\end{dispListing}
+%\iffalse
+%</example>
+%\fi
+%
+% Using this command causes several things to happen.
+% \begin{itemize}
+% \item A command \cs{name} is created and contains the constant and
+% units typeset according to the options given when \mandi\ was loaded.
+% \item A command \cs{namemathsymbol} is created that expresses
+% \textbf{only} the constant's mathematical symbol.
+% \item A command \cs{namevalue} is created that expresses
+% \textbf{only} the constant's approximate or precise numerical value.
+% Note that both values must be present when the constant is defined.
+% By default, precise values are always used but this can be changed
+% when \mandi\ is loaded. Note how the values are specified in the
+% definition of the constant.
+% \item A command \cs{namebaseunit} is created that expresses
+% the constant and its units in \baseunits\ form.
+% \item A command \cs{namedrvdunit} is created that expresses
+% the constant and its units in \drvdunits\ form.
+% \item A command \cs{namealtnunit} is created that
+% expresses the constant and its units in \altnunits\ form.
+% \item A command \cs{nameonlybaseunit} is created that expresses
+% \textbf{only} the constant's units in \baseunits\ form.
+% \item A command \cs{nameonlydrvdunit} is created that
+% expresses \textbf{only} the constant's units in \drvdunits\ form.
+% \item A command \cs{nameonlyaltnunit} is created that
+% expresses \textbf{only} the constant's units in \altnunits\ form.
+% \end{itemize}
+% None of these commands takes any arguments.
+%
+%
+% There is a command similar to \refCom{redefinephysicsquantity} that allows for
+% redefining physical constants.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{redefinephysicsconstant}
+{\marg{name}\marg{symbol}{\{\cs{mi@p\marg{approx}\marg{precise}}\}}\marg{\baseunits}
+\\
+\oarg{\drvdunits}\oarg{\altnunits}%
+}%
+Redefines an existing physical constant.
+The new definition takes effect immediately.
+\end{docCommand}
+%\iffalse
+%</example>
+%\fi
+%
+% \newpage
+% \subsubsection{Predefined Physical Constants}
+%
+% In this section, precise values of constants are used. Approximate
+% values are available as an option when the package is loaded. Precise values
+% are sourced as accurately as possible, beginning with Wikipedia and following
+% sources therein. I tried to use the most recent NIST or similarly authoritative
+% values. In no case did I make up any values.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{oofpez}{}
+Coulomb constant.
+\end{docCommand}
+\begin{dispExample}
+\(\oofpezmathsymbol \approx \oofpez\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{oofpezcs}{}
+Alternate form of Coulomb constant.
+\end{docCommand}
+\begin{dispExample}
+\(\oofpezcsmathsymbol \approx \oofpezcs\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{vacuumpermittivity}{}
+Vacuum permittivity.
+\end{docCommand}
+\begin{dispExample}
+\(\vacuumpermittivitymathsymbol \approx \vacuumpermittivity\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{mzofp}{}
+Biot-Savart constant.
+\end{docCommand}
+\begin{dispExample}
+\(\mzofpmathsymbol \approx \mzofp\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{vacuumpermeability}{}
+Vacuum permeability.
+\end{docCommand}
+\begin{dispExample}
+\(\vacuumpermeabilitymathsymbol \approx \vacuumpermeability\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{boltzmann}{}
+Boltzmann constant.
+\end{docCommand}
+\begin{dispExample}
+\(\boltzmannmathsymbol \approx \boltzmann\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{boltzmannineV}{}
+Alternate form of Boltlzmann constant.
+\end{docCommand}
+\begin{dispExample}
+\(\boltzmannineVmathsymbol \approx \boltzmannineV\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{stefan}{}
+Stefan-Boltzmann constant.
+\end{docCommand}
+\begin{dispExample}
+\(\stefanboltzmannmathsymbol \approx \stefanboltzmann\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{planck}{}
+Planck constant.
+\end{docCommand}
+\begin{dispExample}
+\(\planckmathsymbol \approx \planck\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{planckineV}{}
+Alternate form of Planck constant.
+\end{docCommand}
+\begin{dispExample}
+\(\planckmathsymbol \approx \planckineV\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{planckbar}{}
+Reduced Planck constant (Dirac constant).
+\end{docCommand}
+\begin{dispExample}
+\(\planckbarmathsymbol \approx \planckbar\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{planckbarineV}{}
+Alternate form of reduced Planck constant (Dirac constant).
+\end{docCommand}
+\begin{dispExample}
+\(\planckbarmathsymbol \approx \planckbarineV\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{planckc}{}
+Planck constant times light speed.
+\end{docCommand}
+\begin{dispExample}
+\(\planckcmathsymbol \approx \planckc\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{planckcineV}{}
+Alternate form of Planck constant times light speed.
+\end{docCommand}
+\begin{dispExample}
+\(\planckcineVmathsymbol \approx \planckcineV\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{rydberg}{}
+Rydberg constant.
+\end{docCommand}
+\begin{dispExample}
+\(\rydbergmathsymbol \approx \rydberg\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{bohrradius}{}
+Bohr radius.
+\end{docCommand}
+\begin{dispExample}
+\(\bohrradiusmathsymbol \approx \bohrradius\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{finestructure}{}
+Fine structure constant.
+\end{docCommand}
+\begin{dispExample}
+\(\finestructuremathsymbol \approx \finestructure\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{avogadro}{}
+Avogadro constant.
+\end{docCommand}
+\begin{dispExample}
+\(\avogadromathsymbol \approx \avogadro\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{universalgrav}{}
+Universal gravitational constant.
+\end{docCommand}
+\begin{dispExample}
+\(\universalgravmathsymbol \approx \universalgrav\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{surfacegravfield}{}
+Earth's surface gravitational field strength.
+\end{docCommand}
+\begin{dispExample}
+\(\surfacegravfieldmathsymbol \approx \surfacegravfield\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{clight}{}
+Magnitude of light's velocity (photon constant).
+\end{docCommand}
+\begin{dispExample}
+\(\clightmathsymbol \approx \clight\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{clightinfeet}{}
+Alternate of magnitude of light's velocity (photon constant).
+\end{docCommand}
+\begin{dispExample}
+\(\clightinfeetmathsymbol \approx \clightinfeet\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Ratom}{}
+Approximate atomic radius.
+\end{docCommand}
+\begin{dispExample}
+\(\Ratommathsymbol \approx \Ratom\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Mproton}{}
+Proton mass.
+\end{docCommand}
+\begin{dispExample}
+\(\Mprotonmathsymbol \approx \Mproton\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Mneutron}{}
+Neutron mass.
+\end{docCommand}
+\begin{dispExample}
+\(\Mneutronmathsymbol \approx \Mneutron\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Mhydrogen}{}
+Hydrogen atom mass.
+\end{docCommand}
+\begin{dispExample}
+\(\Mhydrogenmathsymbol \approx \Mhydrogen\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Melectron}{}
+Electron mass.
+\end{docCommand}
+\begin{dispExample}
+\(\Melectronmathsymbol \approx \Melectron\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{echarge}{}
+Elementary charge quantum.
+\end{docCommand}
+\begin{dispExample}
+\(\echargemathsymbol \approx \echarge\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Qelectron}{}
+Electron charge.
+\end{docCommand}
+\begin{docCommand}{qelectron}{}
+Alias for \cs{Qelectron}.
+\end{docCommand}
+\begin{dispExample}
+\(\Qelectronmathsymbol \approx \Qelectron\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Qproton}{}
+Proton charge.
+\end{docCommand}
+\begin{docCommand}{qproton}{}
+Alias for \cs{Qproton}.
+\end{docCommand}
+\begin{dispExample}
+\(\Qprotonmathsymbol \approx \Qproton\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{MEarth}{}
+Earth's mass.
+\end{docCommand}
+\begin{dispExample}
+\(\MEarthmathsymbol \approx \MEarth\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{MMoon}{}
+Moon's mass.
+\end{docCommand}
+\begin{dispExample}
+\(\MMoonmathsymbol \approx \MMoon\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{MSun}{}
+Sun's mass.
+\end{docCommand}
+\begin{dispExample}
+\(\MSunmathsymbol \approx \MSun\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{REarth}{}
+Earth's radius.
+\end{docCommand}
+\begin{dispExample}
+\(\REarthmathsymbol \approx \REarth\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RMoon}{}
+Moon's radius.
+\end{docCommand}
+\begin{dispExample}
+\(\RMoonmathsymbol \approx \RMoon\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RSun}{}
+Sun's radius.
+\end{docCommand}
+\begin{dispExample}
+\(\RSunmathsymbol \approx \RSun\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ESdist}{}
+Earth-Sun distance.
+\end{docCommand}
+\begin{docCommand}{SEdist}{}
+Alias for \refCom{ESdist}.
+\end{docCommand}
+\begin{dispExample}
+\(\ESdistmathsymbol \approx \SEdist\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{EMdist}{}
+Earth-Moon distance.
+\end{docCommand}
+\begin{docCommand}{MEdist}{}
+Alias for \refCom{EMdist}.
+\end{docCommand}
+\begin{dispExample}
+\(\EMdistmathsymbol \approx \EMdist\)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\subsubsection{All Predefined Constants}
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{chkconstant}{\marg{constantname}}
+Diagnostic command for the symbol, value (either approximate or precise depending
+on how the package was loaded), and units for a defined physical constant. See table
+below.
+\end{docCommand}
+%\iffalse
+%</example>
+%\fi
+%
+% Here are all the predefined constants and their units.
+%\begin{adjustwidth}{}{}
+%
+%\chkconstant{oofpez}
+%\chkconstant{oofpezcs}
+%\chkconstant{vacuumpermittivity}
+%\chkconstant{mzofp}
+%\chkconstant{vacuumpermeability}
+%\chkconstant{boltzmann}
+%\chkconstant{boltzmannineV}
+%\chkconstant{stefanboltzmann}
+%\chkconstant{planck}
+%\chkconstant{planckineV}
+%\chkconstant{planckbar}
+%\chkconstant{planckbarineV}
+%\chkconstant{planckc}
+%\chkconstant{planckcineV}
+%\chkconstant{rydberg}
+%\chkconstant{bohrradius}
+%\chkconstant{finestructure}
+%\chkconstant{avogadro}
+%\chkconstant{universalgrav}
+%\chkconstant{surfacegravfield}
+%\chkconstant{clight}
+%\chkconstant{clightinfeet}
+%\chkconstant{Ratom}
+%\chkconstant{Mproton}
+%\chkconstant{Mneutron}
+%\chkconstant{Mhydrogen}
+%\chkconstant{Melectron}
+%\chkconstant{echarge}
+%\chkconstant{Qelectron}
+%\chkconstant{qelectron}
+%\chkconstant{Qproton}
+%\chkconstant{qproton}
+%\chkconstant{MEarth}
+%\chkconstant{MMoon}
+%\chkconstant{MSun}
+%\chkconstant{REarth}
+%\chkconstant{RMoon}
+%\chkconstant{RSun}
+%\chkconstant{ESdist}
+%\chkconstant{EMdist}
+%\chkconstant{LSun}
+%\chkconstant{TSun}
+%\chkconstant{MagSun}
+%\chkconstant{magSun}
+%\end{adjustwidth}
+%
+% \subsection{Astronomical Constants and Quantities}
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{LSun}{}
+Sun's luminosity.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\(\LSunmathsymbol \approx \LSun\)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{TSun}{}
+Sun's effective temperature.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\(\TSunmathsymbol \approx \TSun\)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{MagSun}{}
+Sun's absolute magnitude.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\(\MagSunmathsymbol \approx \MagSun\)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{magSun}{}
+Sun's apparent magnitude.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\(\magSunmathsymbol \approx \magSun\)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Lstar}{\oarg{object}}
+Symbol for stellar luminosity.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\Lstar or \Lstar[Sirius]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Lsolar}{}
+Symbol for solar luminosity as a unit. Really just an alias for
+|\Lstar[\(\odot\)]|.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\Lsolar
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Tstar}{\oarg{object}}
+Symbol for stellar temperature.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\Tstar or \Tstar[Sirius]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Tsolar}{}
+Symbol for solar temperature as a unit. Really just an alias for
+|\Tstar[\(\odot\)]|.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\Tsolar
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Rstar}{\oarg{object}}
+Symbol for stellar radius.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\Rstar or \Rstar[Sirius]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Rsolar}{}
+Symbol for solar radius as a unit. Really just an alias for
+|\Rstar[\(\odot\)]|.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\Rsolar
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Mstar}{\oarg{object}}
+Symbol for stellar mass.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\Mstar or \Mstar[Sirius]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Msolar}{}
+Symbol for solar mass as a unit. Really just an alias for
+|\Mstar[\(\odot\)]|.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\Msolar
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Fstar}{\oarg{object}}
+Symbol for stellar flux.
+\end{docCommand}
+\begin{docCommand}{fstar}{}
+Alias for \refCom{Fstar}.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\Fstar or \Fstar[Sirius]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Fsolar}{}
+Symbol for solar flux as a unit. Really just an alias for
+|\Fstar[\(\odot\)]|.
+\end{docCommand}
+\begin{docCommand}{fsolar}{}
+Alias for \refCom{fsolar}.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\Fsolar
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Magstar}{\oarg{object}}
+Symbol for stellar absolute magnitude.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\Magstar or \Magstar[Sirius]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Magsolar}{}
+Symbol for solar absolute magnitude as a unit. Really just an alias for
+|\Magstar[\(\odot\)]|.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\Magsolar
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{magstar}{\oarg{object}}
+Symbol for stellar apparent magnitude.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\magstar or \magstar[Sirius]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{magsolar}{}
+Symbol for solar apparent magnitude as a unit. Really just an alias for
+|\magstar[\(\odot\)]|.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\magsolar
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Dstar}{\oarg{object}}
+Symbol for stellar distance.
+\end{docCommand}
+\begin{docCommand}{dstar}{}
+Alias for \refCom{Dstar} that uses a lower case d.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\Dstar or \Dstar[Sirius]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Dsolar}{}
+Symbol for solar distance as a unit. Really just an alias for
+|\Dstar[\(\odot\)]|.
+\end{docCommand}
+\begin{docCommand}{dsolar}{}
+Alias for \refCom{Dsolar} that uses a lower case d.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\Dsolar
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% \subsection{Symbolic Expressions with Vectors}
+% \subsubsection{Basic Vectors}
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{vect}{\marg{kernel}}
+Symbol for a vector quantity.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\vect{p}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{magvect}{\marg{kernel}}
+Symbol for magnitude of a vector quantity.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\magvect{p}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{magsquaredvect}{\marg{kernel}}
+Symbol for squared magnitude of a vector quantity.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\magsquaredvect{p}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{magnvect}{\marg{kernel}\marg{exponent}}
+Symbol for magnitude of a vector quantity to arbitrary power.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\magnvect{r}{5}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dirvect}{\marg{kernel}}
+Symbol for direction of a vector quantity.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\dirvect{p}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{factorvect}{\marg{kernel}}
+Symbol for a vector factored into its magnitude and direction.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\factorvect{E}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{componentalong}{\marg{alongvector}\marg{ofvector}}
+Symbol for the component along a vector of another vector.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\componentalong{\vect{v}}{\vect{u}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{expcomponentalong}{\marg{alongvector}\marg{ofvector}}
+Symbolic expression for the component along a vector of another vector.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\expcomponentalong{\vect{v}}{\vect{u}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ucomponentalong}{\marg{alongvector}\marg{ofvector}}
+Symbolic expression with unit vectors for the component along a vector of
+another vector.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\ucomponentalong{\dirvect{v}}{\vect{u}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{projectiononto}{\marg{ontovector}\marg{ofvector}}
+Symbol for the projection onto a vector of another vector.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\projectiononto{\vect{v}}{\vect{u}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{expprojectiononto}{\marg{alongvector}\marg{ofvector}}
+Symbolic expression for the projection onto a vector of another vector.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\expprojectiononto{\vect{v}}{\vect{u}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{uprojectiononto}{\marg{alongvector}\marg{ofvector}}
+Symbolic expression with unit vectors for the projection onto a vector of
+another vector.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\uprojectiononto{\dirvect{v}}{\vect{u}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{mivector}
+ {\oarg{printeddelimiter}\marg{commadelimitedlistofcomps}\oarg{unit}}
+Generic workhorse command for vectors formatted as in \mi. Unless the first
+optional argument is specified, a comma is used in the output. Commas are
+always required in the mandatory argument.
+\end{docCommand}
+\begin{dispExample}
+\begin{mysolution*}
+ \msub{u}{\mu} &= \mivector{\ezero,\eone,\etwo,\ethree} \\
+ \msub{u}{\mu} &= \mivector[\quad]{\ezero,\eone,\etwo,\ethree} \\
+ \vect{v} &= \mivector{1,3,5}[\velocityonlyaltnunit] \\
+ \vect{E} &= \mivector{\oofpezmathsymbol \frac{Q}{x^2},0,0} \\
+ \vect{E} &= \mivector[\quad]{\oofpezmathsymbol \frac{Q}{x^2},0,0}
+\end{mysolution*}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{magvectncomps}{\marg{listofcomps}\oarg{unit}}
+Expression for a vector's magnitude with numerical components and an optional
+unit. The first example is the preferred and recommended way to handle units when
+they are needed. The second example requires explicitly picking out the desired
+unit form. The third example demonstrates components of a unit vector.
+\end{docCommand}
+\begin{dispExample}
+\magvectncomps{\velocity{3.12},\velocity{4.04},\velocity{6.73}} \\
+\magvectncomps{3.12,4.04,6.73}[\velocityonlyaltnunit] \\
+\magvectncomps{\frac{1}{\sqrt{3}},\frac{1}{\sqrt{3}},\frac{1}{\sqrt{3}}}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{scompsvect}{\marg{kernel}}
+Expression for a vector's symbolic components.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\scompsvect{E}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{compvect}{\marg{kernel}\marg{component}}
+Isolates one of a vector's symbolic components.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\compvect{E}{y}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{scompsdirvect}{\marg{kernel}}
+Expression for a direction's symbolic components. The hats are necessary to
+denote a direction.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\scompsdirvect{r}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{compdirvect}{\marg{kernel}\marg{component}}
+Isolates one of a direction's symbolic components. The hat is necessary to
+denote a direction.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\compdirvect{r}{z}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{magvectscomps}{\marg{kernel}}
+Expression for a vector's magnitude in terms of its symbolic components.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\magvectscomps{B}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% \subsubsection{Differentials and Derivatives of Vectors}
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dvect}{\marg{kernel}}
+Symbol for the differential of a vector.
+\end{docCommand}
+\begin{docCommand}{Dvect}{\marg{kernel}}
+Identical to \refCom{dvect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+a change \dvect{E} in electric field \\
+a change \Dvect{E} in electric field
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dirdvect}{\marg{kernel}}
+Symbol for the direction of a vector's differential.
+\end{docCommand}
+\begin{docCommand}{dirDvect}{\marg{kernel}}
+Identical to \refCom{dirdvect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+the direction \dirdvect{E} of the change \\
+the direction \dirDvect{E} of the change
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ddirvect}{\marg{kernel}}
+Symbol for the differential of a vector's direction.
+\end{docCommand}
+\begin{docCommand}{Ddirvect}{\marg{kernel}}
+Identical to \refCom{ddirvect} but uses \(\Delta\).
+\end{docCommand}
+\begin{docCommand}{ddirection}{\marg{kernel}}
+Alias for \refCom{ddirvect}.
+\end{docCommand}
+\begin{docCommand}{Ddirection}{\marg{kernel}}
+Alias for \refCom{Ddirvect}.
+\end{docCommand}
+\begin{dispExample}
+the change \ddirvect{E} or \ddirection{E} in the direction of \vect{E} \\
+the change \Ddirvect{E} or \Ddirection{E} in the direction of \vect{E}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{magdvect}{\marg{kernel}}
+Symbol for the magnitude of a vector's differential.
+\end{docCommand}
+\begin{docCommand}{magDvect}{\marg{kernel}}
+Identical to \refCom{magdvect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+the magnitude \magdvect{E} of the change \\
+the magnitude \magDvect{E} of the change
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dmagvect}{\marg{kernel}}
+Symbol for the differential of a vector's magnitude.
+\end{docCommand}
+\begin{docCommand}{Dmagvect}{\marg{kernel}}
+Identical to \refCom{dmagvect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+the change \dmagvect{E} in the magnitude \\
+the change \Dmagvect{E} in the magnitude
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{scompsdvect}{\marg{kernel}}
+Symbolic components of a vector.
+\end{docCommand}
+\begin{docCommand}{scompsDvect}{\marg{kernel}}
+Identical to \refCom{scompsdvect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+the vector \scompsdvect{E} \\
+the vector \scompsDvect{E}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{compdvect}{\marg{kernel}\marg{component}}
+Isolates one symbolic component of a vector's differential.
+\end{docCommand}
+\begin{docCommand}{compDvect}{\marg{kernel}\marg{component}}
+Identical to \refCom{compdvect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+the \compdvect{E}{y} component of the change \\
+the \compDvect{E}{y} component of the change
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dervect}{\marg{kernel}\marg{indvar}}
+Symbol for a vector's derivative with respect to an independent variable.
+\end{docCommand}
+\begin{docCommand}{Dervect}{\marg{kernel}\marg{indvar}}
+Identical to \refCom{dervect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+the derivative \dervect{E}{t} \\
+the derivative \Dervect{E}{t}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dermagvect}{\marg{kernel}\marg{indvar}}
+Symbol for the derivative of a vector's magnitude with respect to an
+independent variable.
+\end{docCommand}
+\begin{docCommand}{Dermagvect}{\marg{kernel}\marg{indvar}}
+Identical to \refCom{dermagvect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+the derivative \dermagvect{E}{t} \\
+the derivative \Dermagvect{E}{t}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{derdirvect}{\marg{kernel}\marg{indvar}}
+Symbol for the derivative of a vector's direction with respect to an
+independent variable.
+\end{docCommand}
+\begin{docCommand}{derdirection}{\marg{kernel}\marg{indvar}}
+Alias for \refCom{derdirvect}.
+\end{docCommand}
+\begin{docCommand}{Derdirvect}{\marg{kernel}\marg{indvar}}
+Identical to \refCom{derdirvect} but uses \(\Delta\).
+\end{docCommand}
+\begin{docCommand}{Derdirection}{\marg{kernel}\marg{indvar}}
+Alias for \refCom{Derdirvect}.
+\end{docCommand}
+\begin{dispExample}
+the derivative \derdirvect{E}{t} or \derdirection{E}{t} \\
+the derivative \Derdirvect{E}{t} or \Derdirection{E}{t}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{scompsdervect}{\marg{kernel}\marg{indvar}}
+Symbolic components of a vector's derivative with respect to an independent
+variable.
+\end{docCommand}
+\begin{docCommand}{scompsDervect}{\marg{kernel}\marg{indvar}}
+Identical to \refCom{scompsdervect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+the derivative \scompsdervect{E}{t} \\
+the derivative \scompsdervect{E}{t}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{compdervect}{\marg{kernel}\marg{component}\marg{indvar}}
+Isolates one component of a vector's derivative with respect to an
+independent variable.
+\end{docCommand}
+\begin{docCommand}{compDervect}{\marg{kernel}\marg{component}\marg{indvar}}
+Identical to \refCom{compdervect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+the derivative \compdervect{E}{y}{t} \\
+the derivative \compDervect{E}{y}{t}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{magdervect}{\marg{kernel}\marg{indvar}}
+Symbol for the magnitude of a vector's derivative with respect to an
+independent variable.
+\end{docCommand}
+\begin{docCommand}{magDervect}{\marg{kernel}\marg{indvar}}
+Identical to \refCom{magdervect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+the derivative \magdervect{E}{t} \\
+the derivative \magDervect{E}{t}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% \subsubsection{Naming Conventions You Have Seen}
+% By now you probably understand that commands are named as closely as
+% possible to the way you would say or write what you want. Every time you
+% see |comp| you should think of a single component. Every time you see
+% |scomps| you should think of a set of symbolic components. Every time you
+% see |der| you should think derivative. Every time you see |dir| you should
+% think direction. I have tried to make the names simple both logically and
+% lexically.
+%
+% \subsubsection{Subscripted or Indexed Vectors}
+% Now we have commands for vectors that carry subscripts or indices, usually
+% to identify an object or something similar. Basically, \refCom{vect} becomes
+% \refCom{vectsub}. Ideally, a subscript should not contain mathematical symbols.
+% However, if you wish to do so, just wrap the symbol with |\(|\(\ldots \)|\)|
+% as you normally would. All of the commands for non-subscripted vectors are
+% available for subscripted vectors.
+%
+% As a matter of convention, when the initial and final values of a quantity
+% are referenced, they should be labeled with subscripts |i| and |f| respectively
+% using the commands in this section and similarly named commands in other
+% sections. If the quantity also refers to a particular entity (e.g.\ a ball),
+% specify the |i| or |f| with a comma after the label
+% (e.g.\ |\vectsub{r}{ball,f}|).
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{vectsub}{\marg{kernel}\marg{sub}}
+Symbol for a subscripted vector.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+the vector \vectsub{p}{ball}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{magvectsub}{\marg{kernel}\marg{sub}}
+Symbol for a subscripted vector's magnitude.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\magvectsub{p}{ball}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{magsquaredvectsub}{\marg{kernel}\marg{sub}}
+Symbol for a subscripted vector's squared magnitude.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\magsquaredvectsub{p}{ball}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{magnvectsub}{\marg{kernel}\marg{sub}\marg{exponent}}
+Symbol for a subscripted vector's magnitude to an arbitrary power.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\magnvectsub{r}{dipole}{5}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dirvectsub}{\marg{kernel}\marg{sub}}
+Symbol for a subscripted vector's direction.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\dirvectsub{p}{ball}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{scompsvectsub}{\marg{kernel}\marg{sub}}
+Symbolic components of a subscripted vector.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\scompsvectsub{p}{ball}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{compvectsub}{\marg{kernel}\marg{sub}\marg{component}}
+Isolates one component of a subscripted vector.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\compvectsub{p}{ball}{z}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{magvectsubscomps}{\marg{kernel}\marg{sub}}
+Expression for a subscripted vector's magnitude in terms of symbolic
+components.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\magvectsubscomps{p}{ball}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dvectsub}{\marg{kernel}\marg{sub}}
+Differential of a subscripted vector.
+\end{docCommand}
+\begin{docCommand}{Dvectsub}{\marg{kernel}\marg{sub}}
+Identical to \refCom{dvectsub} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\dvectsub{p}{ball} \\
+\Dvectsub{p}{ball}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{scompsdvectsub}{\marg{kernel}\marg{sub}}
+Symbolic components of a subscripted vector's differential.
+\end{docCommand}
+\begin{docCommand}{scompsDvectsub}{\marg{kernel}\marg{sub}}
+Identical to \refCom{scompsdvectsub} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\scompsdvectsub{p}{ball} \\
+\scompsDvectsub{p}{ball}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{compdvectsub}{\marg{kernel}\marg{sub}\marg{component}}
+Isolates one component of a subscripted vector's differential.
+\end{docCommand}
+\begin{docCommand}{compDvectsub}{\marg{kernel}\marg{sub}\marg{component}}
+Identical to \refCom{compdvectsub} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\compdvectsub{p}{ball}{y} \\
+\compDvectsub{p}{ball}{y}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dervectsub}{\marg{kernel}\marg{sub}\marg{indvar}}
+Symbol for derivative of a subscripted vector with respect to an
+independent variable.
+\end{docCommand}
+\begin{docCommand}{Dervectsub}{\marg{kernel}\marg{sub}\marg{indvar}}
+Identical to \refCom{dervectsub} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\dervectsub{p}{ball}{t} \\
+\Dervectsub{p}{ball}{t}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dermagvectsub}{\marg{kernel}\marg{sub}\marg{indvar}}
+Symbol for the derivative of a subscripted vector's magnitude with respect
+to an independent variable.
+\end{docCommand}
+\begin{docCommand}{Dermagvectsub}{\marg{kernel}\marg{sub}\marg{indvar}}
+Identical to \refCom{dermagvectsub} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\dermagvectsub{E}{ball}{t} \\
+\Dermagvectsub{E}{ball}{t}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{scompsdervectsub}{\marg{kernel}\marg{sub}\marg{indvar}}
+Symbolic components of a subscripted vector's derivative with respect to
+an independent variable.
+\end{docCommand}
+\begin{docCommand}{scompsDervectsub}{\marg{kernel}\marg{sub}\marg{indvar}}
+Identical to \refCom{scompsdervectsub} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\scompsdervectsub{p}{ball}{t} \\
+\scompsDervectsub{p}{ball}{t}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{compdervectsub}{\marg{kernel}\marg{sub}\marg{component}
+\marg{indvar}}
+Isolates one component of a subscripted vector's derivative with respect
+to an independent variable.
+\end{docCommand}
+\begin{docCommand}{compDervectsub}{\marg{kernel}\marg{sub}\marg{component}
+\marg{indvar}}
+Identical to \refCom{compdervectsub} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\compdervectsub{p}{ball}{y}{t} \\
+\compDervectsub{p}{ball}{y}{t}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{magdervectsub}{\marg{kernel}\marg{sub}\marg{indvar}}
+Symbol for magnitude of a subscripted vector's derivative with respect
+to an independent variable.
+\end{docCommand}
+\begin{docCommand}{magDervectsub}{\marg{kernel}\marg{sub}\marg{indvar}}
+Identical to \refCom{magdervectsub} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\magdervectsub{p}{ball}{t} \\
+\magDervectsub{p}{ball}{t}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% \subsubsection{Expressions Containing Dots}
+% Now we get to commands that will save you many, many keystrokes. All of
+% the naming conventions documented in earlier commands still apply. There
+% are some new ones though. Every time you see |dot| you should think
+% \emph{dot product}. When you see |dots| you should think \emph{dot
+% product in terms of symbolic components}. When you see |dote| you should
+% think \emph{dot product expanded as a sum}. These, along with the previous
+% naming conventions, handle many dot product expressions.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{vectdotvect}{\marg{kernel1}\marg{kernel2}}
+Symbol for dot of two vectors as a single symbol.
+\end{docCommand}
+\begin{docCommand}{vectDotvect}{\marg{kernel1}\marg{kernel2}}
+Same as \cs{vectdotvect} but uses \cs{bullet}.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\vectdotvect{\vect{F}}{\vect{v}} \\
+\vectDotvect{\vect{F}}{\vect{v}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{vectdotsvect}{\marg{kernel1}\marg{kernel2}}
+Symbol for dot of two vectors with symbolic components.
+\end{docCommand}
+\begin{docCommand}{vectDotsvect}{\marg{kernel1}\marg{kernel2}}
+Same as \cs{vectdotsvect} but uses \cs{bullet}.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\vectdotsvect{F}{v} \\
+\vectDotsvect{F}{v}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{vectdotevect}{\marg{kernel1}\marg{kernel2}}
+Symbol for dot of two vectors as an expanded sum.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\vectdotevect{F}{v}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{vectdotsdvect}{\marg{kernel1}\marg{kernel2}}
+Dot of a vector a vector's differential with symbolic components.
+\end{docCommand}
+\begin{docCommand}{vectdotsDvect}{\marg{kernel1}\marg{kernel2}}
+Identical to \refCom{vectdotsdvect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\vectdotsdvect{F}{r} \\
+\vectdotsDvect{F}{r}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{vectdotedvect}{\marg{kernel1}\marg{kernel2}}
+Dot of a vector a vector's differential as an expanded sum.
+\end{docCommand}
+\begin{docCommand}{vectdoteDvect}{\marg{kernel1}\marg{kernel2}}
+Identical to \refCom{vectdotedvect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\vectdotedvect{F}{r} \\
+\vectdoteDvect{F}{r}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{vectsubdotsvectsub}
+{\marg{kernel1}\marg{sub1}\marg{kernel2}\marg{sub2}}
+Dot of two subscripted vectors with symbolic components.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\vectsubdotsvectsub{F}{grav}{r}{ball}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{vectsubdotevectsub}
+{\marg{kernel1}\marg{sub1}\marg{kernel2}\marg{sub2}}
+Dot of two subscripted vectors as an expanded sum.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\vectsubdotevectsub{F}{grav}{r}{ball}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{vectsubdotsdvectsub}
+{\marg{kernel1}\marg{sub1}\marg{kernel2}\marg{sub2}}
+Dot of a subscripted vector and a subscripted vector's differential with
+symbolic components.
+\end{docCommand}
+\begin{docCommand}{vectsubdotsDvectsub}
+{\marg{kernel1}\marg{sub1}\marg{kernel2}\marg{sub2}}
+Identical to \refCom{vectsubdotsdvectsub} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\vectsubdotsdvectsub{A}{ball}{B}{car} \\
+\vectsubdotsDvectsub{A}{ball}{B}{car}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{vectsubdotedvectsub}
+{\marg{kernel1}\marg{sub1}\marg{kernel2}\marg{sub2}}
+Dot of a subscripted vector and a subscripted vector's differential
+as an expanded sum.
+\end{docCommand}
+\begin{docCommand}{vectsubdoteDvectsub}
+{\marg{kernel1}\marg{sub1}\marg{kernel2}\marg{sub2}}
+Identical to \refCom{vectsubdotedvectsub} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\vectsubdotedvectsub{A}{ball}{B}{car} \\
+\vectsubdoteDvectsub{A}{ball}{B}{car}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{vectsubdotsdvect}{\marg{kernel1}\marg{sub1}\marg{kernel2}}
+Dot of a subscripted vector and a vector's differential with symbolic
+components.
+\end{docCommand}
+\begin{docCommand}{vectsubdotsDvect}{\marg{kernel1}\marg{sub1}\marg{kernel2}}
+Identical to \refCom{vectsubdotsdvect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\vectsubdotsdvect{A}{ball}{B} \\
+\vectsubdotsDvect{A}{ball}{B}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{vectsubdotedvect}{\marg{kernel1}\marg{sub1}\marg{kernel2}}
+Dot of a subscripted vector and a vector's differential as an expanded sum.
+\end{docCommand}
+\begin{docCommand}{vectsubdoteDvect}{\marg{kernel1}\marg{sub1}\marg{kernel2}}
+Identical to \refCom{vectsubdotedvect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\vectsubdotedvect{A}{ball}{B} \\
+\vectsubdoteDvect{A}{ball}{B}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dervectdotsvect}{\marg{kernel1}\marg{indvar}\marg{kernel2}}
+Dot of a vector's derivative and a vector with symbolic components.
+\end{docCommand}
+\begin{docCommand}{Dervectdotsvect}{\marg{kernel1}\marg{indvar}\marg{kernel2}}
+Identical to \refCom{dervectdotsvect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\dervectdotsvect{A}{t}{B} \\
+\Dervectdotsvect{A}{t}{B}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dervectdotevect}{\marg{kernel1}\marg{indvar}\marg{kernel2}}
+Dot of a vector's derivative and a vector as an expanded sum.
+\end{docCommand}
+\begin{docCommand}{Dervectdotevect}{\marg{kernel1}\marg{indvar}\marg{kernel2}}
+Identical to \refCom{dervectdotevect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\dervectdotevect{A}{t}{B} \\
+\Dervectdotevect{A}{t}{B}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{vectdotsdervect}{\marg{kernel1}\marg{kernel2}\marg{indvar}}
+Dot of a vector and a vector's derivative with symbolic components.
+\end{docCommand}
+\begin{docCommand}{vectdotsDervect}{\marg{kernel1}\marg{kernel2}\marg{indvar}}
+Identical to \refCom{vectdotsdervect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\vectdotsdervect{A}{B}{t} \\
+\vectdotsDervect{A}{B}{t}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{vectdotedervect}{\marg{kernel1}\marg{kernel2}\marg{indvar}}
+Dot of a vector and a vector's derivative as an expanded sum.
+\end{docCommand}
+\begin{docCommand}{vectdoteDervect}{\marg{kernel1}\marg{kernel2}\marg{indvar}}
+Identical to \cs{vectdotedervect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\vectdotedervect{A}{B}{t} \\
+\vectdoteDervect{A}{B}{t}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dervectdotsdvect}{\marg{kernel1}\marg{indvar}\marg{kernel2}}
+Dot of a vector's derivative and a vector's differential with symbolic
+components.
+\end{docCommand}
+\begin{docCommand}{DervectdotsDvect}{\marg{kernel1}\marg{indvar}\marg{kernel2}}
+Identical to \refCom{dervectdotsdvect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\dervectdotsdvect{A}{t}{B} \\
+\DervectdotsDvect{A}{t}{B}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dervectdotedvect}{\marg{kernel1}\marg{indvar}\marg{kernel2}}
+Dot of a vector's derivative and a vector's differential as an expanded sum.
+\end{docCommand}
+\begin{docCommand}{DervectdoteDvect}{\marg{kernel1}\marg{indvar}\marg{kernel2}}
+Identical to \refCom{dervectdotedvect} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\dervectdotedvect{A}{t}{B} \\
+\DervectdoteDvect{A}{t}{B}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% \subsubsection{Expressions Containing Crosses}
+% All of the naming conventions documented in earlier commands still apply.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{vectcrossvect}{\marg{kernel1}\marg{kernel2}}
+Cross of two vectors.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\vectcrossvect{\vect{r}}{\vect{p}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ltriplecross}{\marg{kernel1}\marg{kernel2}\marg{kernel3}}
+Symbol for left associated triple cross product.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\ltriplecross{\vect{A}}{\vect{B}}{\vect{C}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{rtriplecross}{\marg{kernel1}\marg{kernel2}\marg{kernel3}}
+Symbol for right associated triple cross product.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\rtriplecross{\vect{A}}{\vect{B}}{\vect{C}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ltriplescalar}{\marg{kernel1}\marg{kernel2}\marg{kernel3}}
+Symbol for left associated triple scalar product.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\ltriplescalar{\vect{A}}{\vect{B}}{\vect{C}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{rtriplescalar}{\marg{kernel1}\marg{kernel2}\marg{kernel3}}
+Symbol for right associated triple scalar product.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\rtriplescalar{\vect{A}}{\vect{B}}{\vect{C}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% \subsubsection{Basis Vectors and Bivectors}
+% If you use geometric algebra or tensors, eventually you will need
+% symbols for basis vectors and basis bivectors.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ezero}{}
+Symbols for basis vectors with lower indices up to 4.
+\end{docCommand}
+\begin{docCommand}{eone}{}
+\end{docCommand}
+\begin{docCommand}{etwo}{}
+\end{docCommand}
+\begin{docCommand}{ethree}{}
+\end{docCommand}
+\begin{docCommand}{efour}{}
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\ezero, \eone, \etwo, \ethree, \efour
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{uezero}{}
+Symbols for normalized basis vectors with lower indices up to 4.
+\end{docCommand}
+\begin{docCommand}{ueone}{}
+\end{docCommand}
+\begin{docCommand}{uetwo}{}
+\end{docCommand}
+\begin{docCommand}{uethree}{}
+\end{docCommand}
+\begin{docCommand}{uefour}{}
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\uezero, \ueone, \uetwo, \uethree, \uefour
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ezerozero}{}
+Symbols for basis bivectors with lower indices up to 4.
+\end{docCommand}
+\begin{docCommand}{ezeroone}{}
+\end{docCommand}
+\begin{docCommand}{ezerotwo}{}
+\end{docCommand}
+\begin{docCommand}{ezerothree}{}
+\end{docCommand}
+\begin{docCommand}{ezerofour}{}
+\end{docCommand}
+\begin{docCommand}{eoneone}{}
+\end{docCommand}
+\begin{docCommand}{eonetwo}{}
+\end{docCommand}
+\begin{docCommand}{eonethree}{}
+\end{docCommand}
+\begin{docCommand}{eonefour}{}
+\end{docCommand}
+\begin{docCommand}{etwoeone}{}
+\end{docCommand}
+\begin{docCommand}{etwotwo}{}
+\end{docCommand}
+\begin{docCommand}{etwothree}{}
+\end{docCommand}
+\begin{docCommand}{etwofour}{}
+\end{docCommand}
+\begin{docCommand}{ethreeeone}{}
+\end{docCommand}
+\begin{docCommand}{ethreetwo}{}
+\end{docCommand}
+\begin{docCommand}{ethreethree}{}
+\end{docCommand}
+\begin{docCommand}{ethreefour}{}
+\end{docCommand}
+\begin{docCommand}{efoureone}{}
+\end{docCommand}
+\begin{docCommand}{efourtwo}{}
+\end{docCommand}
+\begin{docCommand}{efourthree}{}
+\end{docCommand}
+\begin{docCommand}{efourfour}{}
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\ezerozero, \ezeroone, \ezerotwo, \ezerothree, \ezerofour, \\
+\eoneone, \eonetwo, \eonethree, \eonefour, \etwoone, \\
+\etwotwo, \etwothree, \etwofour, \ethreeone, \ethreetwo, \\
+\ethreethree, \ethreefour, \efourone, \efourtwo, \efourthree, \\
+\efourfour
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{euzero}{}
+Symbols for basis vectors with upper indices up to 4.
+\end{docCommand}
+\begin{docCommand}{euone}{}
+\end{docCommand}
+\begin{docCommand}{eutwo}{}
+\end{docCommand}
+\begin{docCommand}{euthree}{}
+\end{docCommand}
+\begin{docCommand}{eufour}{}
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\euzero, \euone, \eutwo, \euthree, \eufour
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ueuzero}{}
+Symbols for normalized basis vectors with upper indices up to 4.
+\end{docCommand}
+\begin{docCommand}{ueuone}{}
+\end{docCommand}
+\begin{docCommand}{ueutwo}{}
+\end{docCommand}
+\begin{docCommand}{ueuthree}{}
+\end{docCommand}
+\begin{docCommand}{ueufour}{}
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\ueuzero, \ueuone, \ueutwo, \ueuthree, \ueufour
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{euzerozero}{}
+Symbols for basis bivectors with upper indices up to 4.
+\end{docCommand}
+\begin{docCommand}{euzeroone}{}
+\end{docCommand}
+\begin{docCommand}{euzerotwo}{}
+\end{docCommand}
+\begin{docCommand}{euzerothree}{}
+\end{docCommand}
+\begin{docCommand}{euzerofour}{}
+\end{docCommand}
+\begin{docCommand}{euoneone}{}
+\end{docCommand}
+\begin{docCommand}{euonetwo}{}
+\end{docCommand}
+\begin{docCommand}{euonethree}{}
+\end{docCommand}
+\begin{docCommand}{euonefour}{}
+\end{docCommand}
+\begin{docCommand}{eutwoeone}{}
+\end{docCommand}
+\begin{docCommand}{eutwotwo}{}
+\end{docCommand}
+\begin{docCommand}{eutwothree}{}
+\end{docCommand}
+\begin{docCommand}{eutwofour}{}
+\end{docCommand}
+\begin{docCommand}{euthreeeone}{}
+\end{docCommand}
+\begin{docCommand}{euthreetwo}{}
+\end{docCommand}
+\begin{docCommand}{euthreethree}{}
+\end{docCommand}
+\begin{docCommand}{euthreefour}{}
+\end{docCommand}
+\begin{docCommand}{eufoureone}{}
+\end{docCommand}
+\begin{docCommand}{eufourtwo}{}
+\end{docCommand}
+\begin{docCommand}{eufourthree}{}
+\end{docCommand}
+\begin{docCommand}{eufourfour}{}
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\euzerozero, \euzeroone, \euzerotwo, \euzerothree, \euzerofour, \\
+\euoneone, \euonetwo, \euonethree, \euonefour, \eutwoone, \\
+\eutwotwo, \eutwothree, \eutwofour, \euthreeone, \euthreetwo, \\
+\euthreethree, \euthreefour, \eufourone, \eufourtwo, \eufourthree, \\
+\eufourfour
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{gzero}{}
+Symbols for basis vectors, with \(\gamma\) as the kernel, with lower indices
+up to 4.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\gzero, \gone, \gtwo, \gthree, \gfour
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{guzero}{}
+Symbols for basis vectors, with \(\gamma\) as the kernel, with upper indices
+up to 4.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\guzero, \guone, \gutwo, \guthree, \gufour
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{gzerozero}{}
+Symbols for basis bivectors, with \(\gamma\) as the kernel, with lower indices
+up to 4.
+\end{docCommand}
+\begin{docCommand}{gzeroone}{}
+\end{docCommand}
+\begin{docCommand}{gzerotwo}{}
+\end{docCommand}
+\begin{docCommand}{gzerothree}{}
+\end{docCommand}
+\begin{docCommand}{gzerofour}{}
+\end{docCommand}
+\begin{docCommand}{goneone}{}
+\end{docCommand}
+\begin{docCommand}{gonetwo}{}
+\end{docCommand}
+\begin{docCommand}{gonethree}{}
+\end{docCommand}
+\begin{docCommand}{gonefour}{}
+\end{docCommand}
+\begin{docCommand}{gtwoeone}{}
+\end{docCommand}
+\begin{docCommand}{gtwotwo}{}
+\end{docCommand}
+\begin{docCommand}{gtwothree}{}
+\end{docCommand}
+\begin{docCommand}{gtwofour}{}
+\end{docCommand}
+\begin{docCommand}{gthreeeone}{}
+\end{docCommand}
+\begin{docCommand}{gthreetwo}{}
+\end{docCommand}
+\begin{docCommand}{gthreethree}{}
+\end{docCommand}
+\begin{docCommand}{gthreefour}{}
+\end{docCommand}
+\begin{docCommand}{gfoureone}{}
+\end{docCommand}
+\begin{docCommand}{gfourtwo}{}
+\end{docCommand}
+\begin{docCommand}{gfourthree}{}
+\end{docCommand}
+\begin{docCommand}{gfourfour}{}
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\gzerozero, \gzeroone, \gzerotwo, \gzerothree, \gzerofour, \\
+\goneone, \gonetwo, \gonethree, \gonefour, \gtwoone, \\
+\gtwotwo, \gtwothree, \gtwofour, \gthreeone, \gthreetwo, \\
+\gthreethree, \gthreefour, \gfourone, \gfourtwo, \gfourthree, \\
+\gfourfour
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{guzerozero}{}
+Symbols for basis bivectors, with \(\gamma\) as the kernel, with upper indices
+up to 4.
+\end{docCommand}
+\begin{docCommand}{guzeroone}{}
+\end{docCommand}
+\begin{docCommand}{guzerotwo}{}
+\end{docCommand}
+\begin{docCommand}{guzerothree}{}
+\end{docCommand}
+\begin{docCommand}{guzerofour}{}
+\end{docCommand}
+\begin{docCommand}{guoneone}{}
+\end{docCommand}
+\begin{docCommand}{guonetwo}{}
+\end{docCommand}
+\begin{docCommand}{guonethree}{}
+\end{docCommand}
+\begin{docCommand}{guonefour}{}
+\end{docCommand}
+\begin{docCommand}{gutwoeone}{}
+\end{docCommand}
+\begin{docCommand}{gutwotwo}{}
+\end{docCommand}
+\begin{docCommand}{gutwothree}{}
+\end{docCommand}
+\begin{docCommand}{gutwofour}{}
+\end{docCommand}
+\begin{docCommand}{guthreeeone}{}
+\end{docCommand}
+\begin{docCommand}{guthreetwo}{}
+\end{docCommand}
+\begin{docCommand}{guthreethree}{}
+\end{docCommand}
+\begin{docCommand}{guthreefour}{}
+\end{docCommand}
+\begin{docCommand}{gufoureone}{}
+\end{docCommand}
+\begin{docCommand}{gufourtwo}{}
+\end{docCommand}
+\begin{docCommand}{gufourthree}{}
+\end{docCommand}
+\begin{docCommand}{gufourfour}{}
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\guzerozero, \guzeroone, \guzerotwo, \guzerothree, \guzerofour, \\
+\guoneone, \guonetwo, \guonethree, \guonefour, \gutwoone, \\
+\gutwotwo, \gutwothree, \gutwofour, \guthreeone, \guthreetwo, \\
+\guthreethree, \guthreefour, \gufourone, \gufourtwo, \gufourthree, \\
+\gufourfour
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% \subsubsection{Other Vector Related}
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{colvector}{\marg{commadelimitedlistofcomps}}
+Typesets column vectors.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\colvector{x^0,x^1,x^2,x^3} \\
+\colvector{x_0,x_1,x_2,x_3}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{rowvector}{\marg{commadelimitedlistofcomps}}
+Typesets row vectors.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\rowvector{x^0,x^1,x^2,x^3} \\
+\rowvector{x_0,x_1,x_2,x_3}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{scompscvect}{\oarg{anynonzero}\marg{kernel}}
+Typesets subscripted symbolic components of column 3- or 4-vectors
+(use any nonzero value for the optional argument to typeset a 4-vector).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\begin{mysolution*}
+ \vect{p} &= \scompscvect{p} \\
+ \vect{p} &= \scompscvect[4]{p}
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{scompsCvect}{\oarg{anynonzero}\marg{kernel}}
+Typesets superscripted symbolic components of column 3- or 4-vectors
+(use any nonzero value for the optional argument to typeset a 4-vector).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\begin{mysolution*}
+ \vect{p} &= \scompsCvect{p} \\
+ \vect{p} &= \scompsCvect[4]{p}
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{scompsrvect}{\oarg{anynonzero}\marg{kernel}}
+Typesets subscripted symbolic components of row 3- or 4-vectors
+(use any nonzero value for the optional argument to typeset a 4-vector).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\begin{mysolution*}
+ \vect{p} &= \scompsrvect{p} \\
+ \vect{p} &= \scompsrvect[4]{p}
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{scompsRvect}{\oarg{anynonzero}\marg{kernel}}
+Typesets superscripted symbolic components of row 3- or 4-vectors
+(use any nonzero value for the optional argument to typeset a 4-vector).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\begin{mysolution*}
+ \vect{p} &= \scompsRvect{p} \\
+ \vect{p} &= \scompsRvect[4]{p}
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{anglebetween}{\marg{kernal}\marg{kernel}}
+Typesets the symbol for the angle between two vectors.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\anglebetween{a}{b}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{parallelto}{\marg{thing}}
+A better looking parallel symbol whose height is the same as the perpendicular
+symbol's height.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\(\vect{A}_{\parallelto\vect{B}}\)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{perpendicularto}{\marg{thing}}
+An alias for the perpendicular symbol.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\(\vect{A}_{\perpendicularto\vect{B}}\)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{bra}{\marg{bra}}
+Typesets a Dirac bra.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\bra{\Psi^*} or \bra{\frac{1}{a}\Psi^*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ket}{\marg{ket}}
+Typesets a Dirac ket.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\ket{\Psi} or \ket{\frac{1}{b}\Psi^*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{bracket}{\marg{bra}\marg{ket}}
+Typesets a Dirac bracket.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\bracket{\Psi^*}{\Psi}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% \subsection{Frequently Used Fractions}
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{onehalf}{}
+Small fractions with numerator 1 and denominators up to 10.
+\end{docCommand}
+\begin{docCommand}{onethird}{}
+\end{docCommand}
+\begin{docCommand}{onefourth}{}
+\end{docCommand}
+\begin{docCommand}{onefifth}{}
+\end{docCommand}
+\begin{docCommand}{onesixth}{}
+\end{docCommand}
+\begin{docCommand}{oneseventh}{}
+\end{docCommand}
+\begin{docCommand}{oneeighth}{}
+\end{docCommand}
+\begin{docCommand}{onenineth}{}
+\end{docCommand}
+\begin{docCommand}{onetenth}{}
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\(\onehalf, \onethird, \onefourth, \onefifth, \onesixth, \\
+\oneseventh, \oneeighth, \oneninth, \onetenth\)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{twooneths}{}
+Small fractions with numerator 2 and denominators up to 10.
+\end{docCommand}
+\begin{docCommand}{twohalves}{}
+\end{docCommand}
+\begin{docCommand}{twothirds}{}
+\end{docCommand}
+\begin{docCommand}{twofourths}{}
+\end{docCommand}
+\begin{docCommand}{twofifths}{}
+\end{docCommand}
+\begin{docCommand}{twosixths}{}
+\end{docCommand}
+\begin{docCommand}{twosevenths}{}
+\end{docCommand}
+\begin{docCommand}{twoeighths}{}
+\end{docCommand}
+\begin{docCommand}{twonineths}{}
+\end{docCommand}
+\begin{docCommand}{twotenths}{}
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\(\twooneths, \twohalves, \twothirds, \twofourths, \twofifths, \\
+\twosixths, \twosevenths, \twoeighths, \twoninths, \twotenths\)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{threeoneths}{}
+Small fractions with numerator 3 and denominators up to 10.
+\end{docCommand}
+\begin{docCommand}{threehalves}{}
+\end{docCommand}
+\begin{docCommand}{threethirds}{}
+\end{docCommand}
+\begin{docCommand}{threefourths}{}
+\end{docCommand}
+\begin{docCommand}{threefifths}{}
+\end{docCommand}
+\begin{docCommand}{threesixths}{}
+\end{docCommand}
+\begin{docCommand}{threesevenths}{}
+\end{docCommand}
+\begin{docCommand}{threeeighths}{}
+\end{docCommand}
+\begin{docCommand}{threenineths}{}
+\end{docCommand}
+\begin{docCommand}{threetenths}{}
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\(\threeoneths, \threehalves, \threethirds, \threefourths, \threefifths, \\
+\threesixths, \threesevenths, \threeeighths, \threeninths, \threetenths\)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{fouroneths}{\marg{magnitude}}
+Small fractions with numerator 4 and denominators up to 10.
+\end{docCommand}
+\begin{docCommand}{fourhalves}{}
+\end{docCommand}
+\begin{docCommand}{fourthirds}{}
+\end{docCommand}
+\begin{docCommand}{fourfourths}{}
+\end{docCommand}
+\begin{docCommand}{fourfifths}{}
+\end{docCommand}
+\begin{docCommand}{foursixths}{}
+\end{docCommand}
+\begin{docCommand}{foursevenths}{}
+\end{docCommand}
+\begin{docCommand}{foureighths}{}
+\end{docCommand}
+\begin{docCommand}{fournineths}{}
+\end{docCommand}
+\begin{docCommand}{fourtenths}{}
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\(\fouroneths, \fourhalves, \fourthirds, \fourfourths, \fourfifths, \\
+\foursixths, \foursevenths, \foureighths, \fourninths, \fourtenths\)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% \subsection{Calculus}
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{sumoverall}{\marg{variable}}
+Properly typesets summation over all of some user specified entities.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\( \sumoverall{particles} \)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dx}{\marg{variable}}
+Properly typesets variables of integration (the d should not be in
+italics and should be properly spaced relative to the integrand).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\( \dx{y} \)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dslashx}{\marg{variable}}
+Symbol indicating an inexact differential. Frequently used in physics.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\( \dslashx{Q} \)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{evaluatedfromto}{\marg{lower}\oarg{upper}}
+Properly typesets the evaluation of definite integrals. Note that the upper
+limit is optional.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\( {\onethird y^3}\evaluatedfromto{0}[3] \) \\
+\( {\onethird y^3}\evaluatedfromto{0} \)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{evaluatedat}{\marg{evaluationpoint}}
+Properly indicates evaluation at a particular point or value without
+specifying the quantity. This is really just an alias for \cs{evaluatedfromto}
+with no optional upper limit.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\( \text{LMST}\evaluatedat{\longitude{0}} \)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{integral}{\oarg{lower}\oarg{upper}\marg{integrand}\marg{var}}
+Typesets indefinite and definite integrals.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\[ \integral{y^2}{y} \]
+\[ \integral[0][3]{y^2}{y} \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{opensurfaceintegral}{\marg{surfacename}\marg{vectorname}}
+Integral over an open surface of the normal component of a vector field.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\[ \opensurfaceintegral{S}{\vect{E}} \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{closedsurfaceintegral}{\marg{surfacename}\marg{vectorname}}
+Integral over a closed surface of the normal component of a vector field.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\[ \closedsurfaceintegral{S}{\vect{E}} \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{openlineintegral}{\marg{pathname}\marg{vectorname}}
+Integral over an open path of the tangential component of a vector field.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\[ \openlineintegral{C}{\vect{E}} \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{closedlineintegral}{\marg{pathname}\marg{vectorname}}
+Integral over a closed path of the tangential component of a vector field.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\[ \closedlineintegral{C}{\vect{E}} \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% For line integrals, I have not employed the common \dx{\vect{\ell}} symbol.
+% Instead, I use \(\hat{t}\dx{\ell}\) for two main reason. The first is that
+% line integrals require the component of a vector that is tangent to a curve,
+% and I use \(\hat{t}\) to denote a unit tangent. The second is that the new
+% notation looks more like that for surface integrals.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{volumeintegral}{\marg{volumename}\marg{integrand}}
+Integral over a volume.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\[ \volumeintegral{V}{\rho} \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dbydt}{\oarg{operand}}
+First time derivative operator.
+\end{docCommand}
+\begin{docCommand}{DbyDt}{\oarg{operand}}
+Identical to \refCom{dbydt} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\( \dbydt \) or \( \dbydt x \) or \dbydt[x] \\
+\( \DbyDt \) or \( \DbyDt x \) or \DbyDt[x]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ddbydt}{\oarg{operand}}
+Second time derivative operator.
+\end{docCommand}
+\begin{docCommand}{DDbyDt}{\oarg{operand}}
+Identical to \cs{ddbydt} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\( \ddbydt \) or \( \ddbydt x \) or \ddbydt[x] \\
+\( \DDbyDt \) or \( \DDbyDt x \) or \DDbyDt[x]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{pbypt}{\oarg{operand}}
+First partial time derivative operator.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\( \pbypt \) or \( \pbypt x \) or \pbypt[x]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ppbypt}{\oarg{operand}}
+Second partial time derivative operator.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\( \ppbypt \) or \( \ppbypt x \) or \ppbypt[x]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dbyd}{\marg{dependentvariable}\marg{indvar}}
+Generic first derivative operator.
+\end{docCommand}
+\begin{docCommand}{DbyD}{\marg{dependentvariable}\marg{indvar}}
+Identical to \refCom{dbyd} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\( \dbyd{f}{y} \) \\
+\( \DbyD{f}{y} \)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ddbyd}{\marg{dependentvariable}\marg{indvar}}
+Generic second derivative operator.
+\end{docCommand}
+\begin{docCommand}{DDbyD}{\marg{dependentvariable}\marg{indvar}}
+Identical to \refCom{ddbyd} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\( \ddbyd{f}{y} \) \\
+\( \DDbyD{f}{y} \)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{pbyp}{\marg{dependentvariable}\marg{indvar}}
+Generic first partial derivative operator.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\( \pbyp{f}{y} \)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ppbyp}{\marg{dependentvariable}\marg{indvar}}
+Generic second partial derivative operator.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\( \ppbyp{f}{y} \)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{gradient}{}
+Gibbs' gradient operator. It's just an alias for \cs{nabla}.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\gradient
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{divergence}{}
+Gibbs' divergence operator.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\divergence
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{curl}{}
+Gibbs' curl operator.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\curl
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{taigrad}{}
+Tai's gradient operator. It's just an alias for \cs{nabla}.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\taigrad
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{taisvec}{}
+Tai's symbol for symbolic vector.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\taisvec
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{taidivg}{}
+Tai's symbol for divergence operator.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\taidivg
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{taicurl}{}
+Tai's symbol for curl operator.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\taicurl
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{laplacian}{}
+Laplacian operator.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\laplacian
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dalembertian}{}
+D'Alembertian operator.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\dalembertian
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{seriesfofx}{}
+Series expansion of \(f(x)\) around \(x=a\).
+\end{docCommand}
+\begin{dispExample}
+\seriesfofx \\
+\seriesfofx[z]
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{seriesexpx}{}
+Series expansion of \(e^x\).
+\end{docCommand}
+\begin{dispExample}
+\seriesexpx \\
+\seriesexpx[z]
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{seriessinx}{}
+Series expansion of \(\sin x\).
+\end{docCommand}
+\begin{dispExample}
+\seriessinx \\
+\seriessinx[z]
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{seriescosx}{}
+Series expansion of \(\cos x\).
+\end{docCommand}
+\begin{dispExample}
+\seriescosx \\
+\seriescosx[z]
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{seriestanx}{}
+Series expansion of \(\tan x\).
+\end{docCommand}
+\begin{dispExample}
+\seriestanx \\
+\seriestanx[z]
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{seriesatox}{}
+Series expansion of \(a^x\).
+\end{docCommand}
+\begin{dispExample}
+\seriesatox \\
+\seriesatox[z]
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{serieslnoneplusx}{}
+Series expansion of \(\ln(1+x)\).
+\end{docCommand}
+\begin{dispExample}
+\serieslnoneplusx \\
+\serieslnoneplusx[z]
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{binomialseries}{}
+Series expansion of \((1+x)^n\).
+\end{docCommand}
+\begin{dispExample}
+\binomialseries \\
+\binomialseries[z]
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{diracdelta}{\marg{arg}}
+Dirac delta function.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\diracdelta{x}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{orderof}{\marg{arg}}
+Order of indicator.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\orderof{x^2}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{eulerlagrange}{\oarg{operand}}
+Euler-Lagrange equation.
+\end{docCommand}
+\begin{docCommand}{Eulerlagrange}{\oarg{operand}}
+Like \refCom{eulerlagrange} but uses \(\Delta\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\( \eulerlagrange \) or \( \eulerlagrange[x] \) \\
+\( \Eulerlagrange \) or \( \Eulerlagrange[x] \)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% \subsection{Other Useful Commands}
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{asin}{}
+Symbol for inverse sine and other inverse circular trig functions.
+\end{docCommand}
+\begin{docCommand}{acos}{}
+\end{docCommand}
+\begin{docCommand}{atan}{}
+\end{docCommand}
+\begin{docCommand}{asec}{}
+\end{docCommand}
+\begin{docCommand}{acsc}{}
+\end{docCommand}
+\begin{docCommand}{acot}{}
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\( \asin, \acos, \atan, \asec, \acsc, \acot \)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{sech}{}
+Hyperbolic and inverse hyperbolic functions not defined in \LaTeX.
+\end{docCommand}
+\begin{docCommand}{csch}{}
+\end{docCommand}
+\begin{docCommand}{asinh}{}
+\end{docCommand}
+\begin{docCommand}{acosh}{}
+\end{docCommand}
+\begin{docCommand}{atanh}{}
+\end{docCommand}
+\begin{docCommand}{asech}{}
+\end{docCommand}
+\begin{docCommand}{acsch}{}
+\end{docCommand}
+\begin{docCommand}{acoth}{}
+\end{docCommand}
+\begin{dispExample}
+\( \sech, \csch, \asinh, \acosh, \atanh, \asech, \acsch, \acoth \)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{sgn}{\marg{arg}}
+Signum function.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\( \sgn \)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dex}{}
+Decimal exponentiation function (used in astrophysics).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\( \dex \)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{logb}{\oarg{base}}
+Logarithm to an arbitrary base.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\logb 8, \logb[2] 8
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{cB}{}
+Alternate symbol for magnetic field inspired by Tom Moore.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\cB, \vect{\cB}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{newpi}{}
+Bob Palais' symbol for \(2\pi\).
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\newpi
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{scripty}{\marg{kernel}}
+Command to get fonts in Griffiths' electrodynamics textbook.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\scripty{r}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Lagr}{}
+Command to get symbol for Lagrangian.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\Lagr
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{flux}{\oarg{label}}
+Symbol for flux of a vector field.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\flux, \flux[E]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{circulation}{\oarg{label}}
+Symbol for circulation of a vector field.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\circulation, \circulation[E]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{inparens}{\marg{arg}}
+Surrounds with argument with parentneses. A blank argument generates a
+placeholder.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\inparens{\onehalf}, \inparens{-3}, \inparens{}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{absof}{\marg{arg}}
+Absolute value function. A blank argument generates a placeholder.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\absof{-4}, \absof{}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{magof}{\marg{arg}}
+Magnitude of a quantity (lets you selectively use double bars even
+when the \opt{singlemagbars} option is use when loading the package).
+A blank argument generates a placeholder.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\magof{\vect{E}}, \magof{}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dimsof}{\marg{arg}}
+Notation for showing the dimensions of a quantity. A blank argument
+generates a placeholder.
+\end{docCommand}
+\begin{dispExample}
+\( \dimsof{\vect{v}} = L \cdot T^{-1} \), \dimsof{}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{unitsof}{\marg{arg}}
+Notation for showing the units of a quantity. I propose this notation and
+hope to propagate it because I could not find any standard notation for
+this same idea in other sources. A blank argument generates a placeholder.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\unitsof{\vect{v}} = \velocityonlyaltnunit, \unitsof{}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Changein}{\marg{arg}}
+Notation for \emph{the change in a quantity}.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\Changein{\vect{E}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{xtento}{\marg{exponent}\oarg{unit}}
+Command for scientific notation with an optional unit.
+\end{docCommand}
+\begin{docCommand}{timestento}{\marg{exponent}\oarg{unit}}
+Another command for scientific notation with an optional unit.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+2.99\xtento{8}[\velocityonlyaltnunit] \\
+2.99\timestento{-4}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ee}{\marg{mantissa}\marg{exponent}}
+Command for scientific notation for computer code. Units are not used in computer
+code.
+\end{docCommand}
+\begin{docCommand}{EE}{\marg{mantissa}\marg{exponent}}
+Identical to \refCom{ee} but gives capital letters.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\ee{2.99}{8} \\
+\EE{2.99}{8}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{dms}{\marg{deg}\marg{min}\marg{sec}}
+Command for formatting angles and time. Note that other packages may do
+this better.
+\end{docCommand}
+\begin{docCommand}{hms}{\marg{deg}\marg{min}\marg{sec}}
+Like \refCom{dms} but formats time.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\dms{23}{34}{10.27} \\
+\hms{23}{34}{10.27}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{clockreading}{\marg{hrs}\marg{min}\marg{sec}}
+Command for formatting a clock reading. Really an alias for \refCom{hms},
+but conceptually a very different idea that introductory textbooks don't
+do a good enough job at articulating.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\clockreading{23}{34}{10.27}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{latitude}{\marg{arg}}
+Command for formatting latitude, useful in astronomy.
+\end{docCommand}
+\begin{docCommand}{latitudeN}{\marg{arg}}
+Command for formatting latitude with an N for north.
+\end{docCommand}
+\begin{docCommand}{latitudeS}{\marg{arg}}
+Command for formatting latitude with an S for north.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\latitude{+35}, \latitudeN{35}, \latitudeS{35}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{longitude}{\marg{arg}}
+Command for formatting longitude, useful in astronomy.
+Use \refCom{longitudeE} or \refCom{longitudeW} to include a letter.
+\end{docCommand}
+\begin{docCommand}{longitudeE}{\marg{arg}}
+Command for formatting longitude with an E for east.
+\end{docCommand}
+\begin{docCommand}{longitudeW}{\marg{arg}}
+Command for formatting longitude with an W for east.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\longitude{-81}, \longitudeE{81}, \longitudeW{81}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ssup}{\marg{kernel}\marg{sup}}
+Command for typesetting text superscripts.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\ssup{N}{contact}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ssub}{\marg{kernel}\marg{sub}}
+Command for typesetting text subscripts.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\ssub{N}{AB}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ssud}{\marg{sup}\marg{sub}}
+Command for typesetting text superscripts and subscripts.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\ssud{N}{contact}{AB}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{msub}{\marg{kernel}\marg{sub}}
+Command for typesetting mathematical subscripts.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\msub{R}{\alpha\beta}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{msud}{\marg{kernel}\marg{sup}\marg{sub}}
+Command for typesetting mathematical superscripts and subscripts.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\msud{\Gamma}{\gamma}{\alpha\beta}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{levicivita}{\marg{indices}}
+Command for Levi-Civita symbol.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\levicivita{ijk}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{kronecker}{\marg{indices}}
+Command for Kronecker delta symbol.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\kronecker{ij}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{xaxis}{}
+Command for coordinate axes.
+\end{docCommand}
+\begin{docCommand}{yaxis}{}
+\end{docCommand}
+\begin{docCommand}{zaxis}{}
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+ \xaxis, \yaxis, \zaxis
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{naxis}{\oarg{axis}}
+Command for custom naming a coordinate axis.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\naxis{t}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{axis}{}
+Suffix command for custom naming a coordinate axis. You are responsible
+for using math mode if necessary for the thing to which you apply the
+suffix.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\(t\axis\)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{xyplane}{}
+Commands for naming coordinate planes. All combinations are defined.
+\end{docCommand}
+\begin{docCommand}{yzplane}{}
+\end{docCommand}
+\begin{docCommand}{zxplane}{}
+\end{docCommand}
+\begin{docCommand}{yxplane}{}
+\end{docCommand}
+\begin{docCommand}{zyplane}{}
+\end{docCommand}
+\begin{docCommand}{xzplane}{}
+\end{docCommand}
+\begin{dispExample}
+\xyplane, \yzplane, \zxplane, \yxplane, \zyplane, \xzplane
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{plane}{}
+Suffix command for custom naming a coordinate plane. You are responsible
+for using math mode if necessary for the thing to which you apply the suffix.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\(xt\)\plane
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{fsqrt}{\marg{arg}}
+Command for square root as a fractional exponent.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\fsqrt{x}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{cuberoot}{\marg{arg}}
+Command for cube root of an argument.
+\end{docCommand}
+\begin{docCommand}{fcuberoot}{\marg{arg}}
+Command for cube root of an argument as a fractional power.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\cuberoot{x} \\
+\fcuberoot{x}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{fourthroot}{\marg{arg}}
+Command for fourth root of an argument.
+\end{docCommand}
+\begin{docCommand}{ffourthroot}{\marg{arg}}
+Command for fourth root of an argument as a fractional power.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\fourthroot{x} \\
+\ffourthroot{x}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{fifthroot}{\marg{arg}}
+Command for fifth root of an argument.
+\end{docCommand}
+\begin{docCommand}{ffifthroot}{\marg{arg}}
+Command for fifth root of an argument as a fractional power.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\fifthroot{x} \\
+\ffifthroot{x}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{relgamma}{\marg{arg}}
+Expression for Lorentz factor.
+\end{docCommand}
+\begin{docCommand}{frelgamma}{\marg{arg}}
+Expression for Lorentz factor with a fractional power.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\begin{mysolution*}
+ \gamma &= \relgamma{\magvect{v}} \\
+ \gamma &= \frelgamma{\magvect{v}}
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{oosqrtomxs}{\marg{arg}}
+Commands for \textbf{o}ne \textbf{o}ver \textbf{s}quare root \textbf{o}f
+\textbf{o}ne \textbf{m}inus \textbf{x} \textbf{s}quared. Say that out loud and
+you will see where the name comes from.
+\end{docCommand}
+\begin{docCommand}{oosqrtomx}{\marg{arg}}
+Commands for \textbf{o}ne \textbf{o}ver \textbf{s}quare root \textbf{o}f
+\textbf{o}ne \textbf{m}inus \textbf{x}. Say that out loud and
+you will see where the name comes from.
+\end{docCommand}
+\begin{docCommand}{oomx}{\marg{arg}}
+Commands for \textbf{o}ne \textbf{o}ver \textbf{s}quare root \textbf{o}f
+\textbf{o}ne \textbf{m}inus \textbf{x}. Say that out loud and
+you will see where the name comes from.
+\end{docCommand}
+\begin{docCommand}{oopx}{\marg{arg}}
+Commands for \textbf{o}ne \textbf{o}ver \textbf{s}quare root \textbf{o}f
+\textbf{o}ne \textbf{p}lus \textbf{x}. Say that out loud and
+you will see where the name comes from.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\oosqrtomxs{0.22} \\
+\oosqrtomx{0.22} \\
+\ooomx{0.22} \\
+\ooopx{0.11}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% \subsection{Custom Operators}
+% The \(=\) operator is frequently misused. We need other operators
+% for other cases to express conceptual relationships other than, say,
+% mathematical equality. Some of these may seem strange to you but I have
+% found them helpful.
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{isequals}{}
+Command for \emph{test-for-equality} operator.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+5 \isequals 3
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{wordoperator}{\marg{firstline}\marg{secondline}}
+Command for two lines of tiny text to be use as an operator without using
+mathematical symbols.
+\end{docCommand}
+\begin{docCommand}{pwordoperator}{\marg{firstline}\marg{secondline}}
+Like \refCom{wordoperator} but puts parentheses around the operator.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\wordoperator{added}{to} \\
+\pwordoperator{added}{to}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{definedas}{}
+Operator representing a definition.
+\end{docCommand}
+\begin{docCommand}{pdefinedas}{}
+Same as \refCom{definedas} but puts parentheses around the operator.
+\end{docCommand}
+\begin{docCommand}{earlierthan}{}
+Operator useful for comparing times and clock readings.
+\end{docCommand}
+\begin{docCommand}{pearlierthan}{}
+Same as \refCom{earlierthan} but puts parentheses around the operator.
+\end{docCommand}
+\begin{docCommand}{laterthan}{}
+Operator useful for comparing times and clock readings.
+\end{docCommand}
+\begin{docCommand}{platerthan}{}
+Same as \refCom{laterthan} but puts parentheses around the operator.
+\end{docCommand}
+\begin{docCommand}{adjustedby}{}
+Operator useful for comparing times and clock readings.
+\end{docCommand}
+\begin{docCommand}{padjustedby}{}
+Same as \refCom{adjustedby} but puts parentheses around the operator.
+\end{docCommand}
+\begin{docCommand}{forevery}{}
+Operator for conveying the idea of for every.
+\end{docCommand}
+\begin{docCommand}{pforevery}{}
+Same as \refCom{forevery} but puts parentheses around the operator.
+\end{docCommand}
+\begin{docCommand}{associated}{}
+Operator representing a conceptual association.
+\end{docCommand}
+\begin{docCommand}{passociated}{}
+Same as \refCom{associated} but puts parentheses around the operator.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\definedas \\
+\pdefinedas \\
+\earlierthan \\
+\pearlierthan \\
+\laterthan \\
+\platerthan \\
+\adjustedby \\
+\padjustedby \\
+\forevery \\
+\pforevery \\
+\associated \\
+\passociated
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{defines}{}
+Command for \emph{defines} or \emph{defined by} operator.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\vect{p} \defines \(\gamma m\)\vect{v}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{inframe}{\oarg{frame}}
+Command for operator indicating the coordinate representation of a vector
+in a particular reference frame denoted by a capital letter.
+\end{docCommand}
+\begin{dispExample}
+\vect{p} \inframe[S] \momentum{\mivector{1,2,3}} \\
+\vect{p} \inframe[S'] \momentum{\mivector{\sqrt{14},0,0}}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{associates}{}
+Command for \emph{associated with} or \emph{associates with} operator
+(for verbal concepts). This is conceptually different from the
+\refCom{associated} or \refCom{passociated} operators.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+kinetic energy \associates velocity
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{becomes}{}
+Command for \emph{becomes} operator.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\(\gamma m\)\vect{v} \becomes \(m\)\vect{v}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{rrelatedto}{\marg{leftoperation}}
+Command for left-to-right relationship.
+\end{docCommand}
+\begin{dispExample}
+(flux ratio) \rrelatedto{taking logarithm} (mag diff)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{lrelatedto}{\marg{roperation}}
+Command for right-to-left relationship.
+\end{docCommand}
+\begin{dispExample}
+(flux ratio) \lrelatedto{exponentiation} (mag diff)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{brelatedto}{\marg{leftoperation}\marg{roperation}}
+Command for bidirectional relationship.
+\end{docCommand}
+\begin{dispExample}
+(mag diff) \brelatedto{taking logarithm}{exponentiation}(flux ratio)
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+% \subsection{Commands Specific to \mi}
+% While these commands were inspired by \mi, they can certainly be used in
+% any introductory physics course.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{momentumprinciple}{}
+Expression for the momentum principle.
+\end{docCommand}
+\begin{docCommand}{LHSmomentumprinciple}{}
+Just the left hand side.
+\end{docCommand}
+\begin{docCommand}{RHSmomentumprinciple}{}
+Just the right hand side.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\momentumprinciple \\
+\LHSmomentumprinciple \\
+\RHSmomentumprinciple
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{momentumprinciplediff}{}
+Expression for the momentum principle in differential form.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\momentumprinciplediff
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{energyprinciple}{}
+Expression for the energy principle. Processes other than work and
+thermal energy transfer (e.g.\ radiation) are neglected.
+\end{docCommand}
+\begin{docCommand}{LHSenergyprinciple}{}
+Just the left hand side.
+\end{docCommand}
+\begin{docCommand}{RHSenergyprinciple}{}
+Just the right hand side.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\energyprinciple \\
+\LHSenergyprinciple \\
+\RHSenergyprinciple
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{energyprinciplediff}{}
+Expression for the energy principle in differential form.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\energyprinciplediff
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{angularmomentumprinciple}{}
+Expression for the angular momentum principle.
+\end{docCommand}
+\begin{docCommand}{LHSangularmomentumprinciple}{}
+Just the left hand side.
+\end{docCommand}
+\begin{docCommand}{RHSangularmomentumprinciple}{}
+Just the right hand side.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\angularmomentumprinciple \\
+\LHSangularmomentumprinciple \\
+\RHSangularmomentumprinciple
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{angularmomentumprinciplediff}{}
+Expression for the angular momentum principle in differential form.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\angularmomentumprinciplediff
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{gravitationalinteraction}{}
+Expression for gravitational interaction.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\gravitationalinteraction
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{electricinteraction}{}
+Expression for electric interaction.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\electricinteraction
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{springinteraction}{}
+Expression for spring interaction.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\springinteraction
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{gfieldofparticle}{}
+Expression for a particle's gravitational field.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\gfieldofparticle
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Efieldofparticle}{}
+Expression for a particle's electric field.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\Efieldofparticle
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Bfieldofparticle}{}
+Expression for a particle's magnetic field.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\Bfieldofparticle
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% In the commands that take an optional label, note how to specify
+% initial and final values of quantities.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Esys}{\oarg{label}}
+Symbol for system energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\Esys, \Esys[final], \Esys[initial]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Us}{\oarg{label}}
+Symbol for spring potential energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\Us, \Us[final], \Us[initial]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Ug}{\oarg{label}}
+Symbol for gravitational potential energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\Ug, \Ug[final], \Ug[initial]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Ue}{\oarg{label}}
+Symbol for electric potential energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\Ue, \Ue[final], \Ue[initial]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Ktrans}{\oarg{label}}
+Symbol for translational kinetic energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\Ktrans, \Ktrans[final], \Ktrans[initial]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Krot}{\oarg{label}}
+Symbol for rotational kinetic energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\Krot, \Krot[final], \Krot[initial]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Kvib}{\oarg{label}}
+Symbol for vibrational kinetic energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\Kvib, \Evib[final], \Evib[initial]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Eparticle}{\oarg{label}}
+Symbol for particle energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\Eparticle, \Eparticle[final], \Eparticle[initial]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Einternal}{\oarg{label}}
+Symbol for internal energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\Einternal, \Einternal[final], \Einternal[initial]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Erest}{\oarg{label}}
+Symbol for rest energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\Erest, \Erest[final], \Erest[initial]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Echem}{\oarg{label}}
+Symbol for chemical energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\Echem, \Echem[final], \Echem[initial]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Etherm}{\oarg{label}}
+Symbol for thermal energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\Etherm, \Etherm[final], \Etherm[initial]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Evib}{\oarg{label}}
+Symbol for vibrational energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\Evib, \Evib[final], \Evib[initial]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Ephoton}{\oarg{label}}
+Symbol for photon energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\Ephoton, \Ephoton[final], \Ephoton[initial]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{DEsys}{}
+Symbol for change in system energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\DEsys
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{DUs}{}
+Symbol for change in spring potential energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\DUs
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{DUg}{}
+Symbol for change in gravitational potential energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\DUg
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{DUe}{}
+Symbol for change in electric potential energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\DUe
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{DKtrans}{}
+Symbol for change in translational kinetic energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\DKtrans
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{DKrot}{}
+Symbol for change in rotational kinetic energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\DKrot
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{DKvib}{}
+Symbol for change in vibrational kinetic energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\DKvib
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{DEparticle}{}
+Symbol for change in particle energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\DEparticle
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{DEinternal}{}
+Symbol for change in internal energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\DEinternal
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{DErest}{}
+Symbol for change in rest energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\DErest
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{DEchem}{}
+Symbol for change in chemical energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\DEchem
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{DEtherm}{}
+Symbol for change in thermal energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\DEtherm
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{DEvib}{}
+Symbol for change in vibrational energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\DEvib
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{DEphoton}{}
+Symbol for change in photon energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\DEphoton
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{springpotentialenergy}{}
+Expression for spring potential energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\springpotentialenergy
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{finalspringpotentnialenergy}{}
+Expression for final spring potential energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\finalspringpotentialenergy
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{initialspringpotentialenergy}{}
+Expression for initial spring potential energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\initialspringpotentialenergy
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{electricpotentialenergy}{}
+Expression for electric potential energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\electricpotentialenergy
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{finalelectricpotentialenergy}{}
+Expression for final electric potential energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\finalelectricpotentialenergy
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{initialelectricpotentialenergy}{}
+Expression for initial electric potential energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\initialelectricpotentialenergy
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{gravitationalpotentialenergy}{}
+Expression for gravitational potential energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\gravitationalpotentialenergy
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{finalgravitationalpotentialenergy}{}
+Expression for final gravitational potential energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\finalgravitationalpotentialenergy
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{initialgravitationalpotentialenergy}{}
+Expression for initial gravitational potential energy.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\initialgravitationalpotentialenergy
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{ks}{}
+Symbol for spring stiffness.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\ks
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Fnet}{}
+Various symbols for net force.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\Fnet, \Fnetext, \Fnetsys, \Fsub{ball,bat}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Tnet}{}
+Various symbols for net torque.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\Tnet, \Tnetext, \Tnetsys, \Tsub{ball}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{Ltotal}{}
+Various symbols for total angular momentum.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\Ltotal, \Lsys, \Lsub{ball}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{LHSmaxwelliint}{\oarg{surfacename}}
+Left hand side of Maxwell's first equation in integral form. Note the
+default value of the optional argument.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\LHSmaxwelliint \\
+ &\LHSmaxwelliint[S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwelliint}{}
+Right hand side of Maxwell's first equation in integral form.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \RHSmaxwelliint \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwelliinta}{\oarg{volumename}}
+Alternate form of right hand side of Maxwell's first equation in
+integral form. Note the default value of the optional argument.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\RHSmaxwelliinta \\
+ &\RHSmaxwelliinta[\upsilon]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwelliintfree}{}
+Right hand side of Maxwell's first equation in integral form in
+free space.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \RHSmaxwelliintfree \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwelliint}{\oarg{surfacename}}
+Maxwell's first equation in integral form.
+Note the default value of the optional argument.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\maxwelliint \\
+ &\maxwelliint[S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwelliinta}{\oarg{surfacename}\oarg{volumename}}
+Alternate form of Maxwell's first equation in integral form.
+Note the default values of the optional arguments.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\maxwelliinta \\
+ &\maxwelliinta[S][\upsilon]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwelliintfree}{\oarg{surfacename}}
+Maxwell's first equation in integral form in free space.
+Note the default value of the optional argument.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\maxwelliintfree \\
+ &\maxwelliintfree[S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{LHSmaxwelliiint}{\oarg{surfacename}}
+Left hand side of Maxwell's second equation in integral form.
+Note the default value of the optional argument.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\LHSmaxwelliiint \\
+ &\LHSmaxwelliiint[S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwelliiint}{}
+Right hand side of Maxwell's second equation in integral form.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \RHSmaxwelliiint \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwelliiintm}{}
+Right hand side of Maxwell's second equation in integral form
+with magnetic monopoles.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \RHSmaxwelliiintm \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwelliiintma}{\oarg{volumename}}
+Alternate form of right hand side of Maxwell's second equation in
+integral form with magnetic monopoles. Note the default value of
+the optional argument.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\RHSmaxwelliiintma \\
+ &\RHSmaxwelliiintma[\upsilon]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwelliiintfree}{}
+Right hand side of Maxwell's second equation in integral form in
+free space.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \RHSmaxwelliiintfree \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwelliiint}{\oarg{surfacename}}
+Maxwell's second equation in integral form. Note the default value
+of the optional argument.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\maxwelliiint \\
+ &\maxwelliiint[S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwelliiintm}{\oarg{surfacename}}
+Maxwell's second equation in integral form with magnetic monopoles.
+Note the default value of the optional argument.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\maxwelliiintm \\
+ &\maxwelliiintm[S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwelliiintma}{\oarg{surfacename}\oarg{volumename}}
+Alternate form of Maxwell's second equation in integral form with
+magnetic monopoles. Note the default values of the optional arguments.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\maxwelliiintma \\
+ &\maxwelliiintma[S][\upsilon]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwelliiintfree}{\oarg{surfacename}}
+Maxwell's second equation in integral form in free space.
+Note the default value of the optional argument.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\maxwelliiintfree \\
+ &\maxwelliiintfree[S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{LHSmaxwelliiiint}{\oarg{boundaryname}}
+Left hand side of Maxwell's third equation in integral form.
+Note the default value of the optional argument.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\LHSmaxwelliiiint \\
+ &\LHSmaxwelliiiint[C]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwelliiiint}{\oarg{surfacename}}
+Right hand side of Maxwell's third equation in integral form.
+Note the default value of the optional argument.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\RHSmaxwelliiiint \\
+ &\RHSmaxwelliiiint[S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwelliiiintm}{\oarg{surfacename}}
+Right hand side of Maxwell's third equation in integral form with
+magnetic monopoles. Note the default value of the optional argument.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\RHSmaxwelliiiintm \\
+ &\RHSmaxwelliiiintm[S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwelliiiintma}{\oarg{surfacename}}
+Alternate form of right hand side of Maxwell's third equation in
+integral form with magnetic monopoles. Note the default value of
+the optional argument.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\RHSmaxwelliiiintma \\
+ &\RHSmaxwelliiiintma[S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwelliiiintfree}{\oarg{surfacename}}
+Right hand side of Maxwell's third equation in integral form in
+free space. Note the default value of the optional argument.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\RHSmaxwelliiiintfree \\
+ &\RHSmaxwelliiiintfree[S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwelliiiint}{\oarg{boundaryname}\oarg{surfacename}}
+Maxwell's third equation in integral form. Note the default values of
+the optional arguments.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\maxwelliiiint \\
+ &\maxwelliiiint[C][S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwelliiiintm}{\oarg{boundaryname}\oarg{surfacename}}
+Maxwell's third equation in integral form with magnetic monopoles.
+Note the default values of the optional arguments.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\maxwelliiiintm \\
+ &\maxwelliiiintm[C][S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwelliiiintma}{\oarg{boundaryname}\oarg{surfacename}}
+Alternate form of Maxwell's third equation in integral form with magnetic
+monopoles. Note the default values of the optional arguments.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\maxwelliiiintma \\
+ &\maxwelliiiintma[C][S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwelliiiintfree}{\oarg{boundaryname}\oarg{surfacename}}
+Maxwell's third equation in integral form in free space. Note the default
+values of the optional arguments.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\maxwelliiiintfree \\
+ &\maxwelliiiintfree[C][S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{LHSmaxwellivint}{\oarg{boundaryname}}
+Left hand side of Maxwell's fourth equation in integral form.
+Note the default value of the optional argument.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\LHSmaxwellivint \\
+ &\LHSmaxwellivint[C]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwellivint}{\oarg{surfacename}}
+Right hand side of Maxwell's fourth equation in integral form.
+Note the default value of the optional argument.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\RHSmaxwellivint \\
+ &\RHSmaxwellivint[S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwellivinta}{\oarg{surfacename}}
+Alternate form of right hand side of Maxwell's fourth equation in
+integral form. Note the default value of the optional argument.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\RHSmaxwellivinta \\
+ &\RHSmaxwellivinta[S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwellivintfree}{\oarg{surfacename}}
+Right hand side of Maxwell's fourth equation in integral form in
+free space. Note the default value of the optional argument.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\RHSmaxwellivintfree \\
+ &\RHSmaxwellivintfree[S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwellivint}{\oarg{boundaryname}\oarg{surfacename}}
+Maxwell's fourth equation in integral form. Note the default values of
+the optional arguments.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\maxwellivint \\
+ &\maxwellivint[C][S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwellivinta}{\oarg{boundaryname}\oarg{surfacename}}
+Alternate form of Maxwell's fourth equation in integral form.
+Note the default values of the optional arguments.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\maxwellivinta \\
+ &\maxwellivinta[C][S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwellivintfree}{\oarg{boundaryname}\oarg{surfacename}}
+Maxwell's fourth equation in integral form in free space.
+Note the default values of the optional arguments.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{mysolution*}
+ &\maxwellivintfree \\
+ &\maxwellivintfree[C][S]
+\end{mysolution*}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{LHSmaxwellidif}{}
+Left hand side of Maxwell's first equation in differential form.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \LHSmaxwellidif \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwellidif}{}
+Right hand side of Maxwell's first equation in differential form.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \RHSmaxwellidif \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwellidiffree}{}
+Right hand side of Maxwell's first equation in differential form
+in free space.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \RHSmaxwellidiffree \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwellidif}{}
+Maxwell's first equation in differential form.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \maxwellidif \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwellidiffree}{}
+Maxwell's first equation in differential form in free space.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \maxwellidiffree \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{LHSmaxwelliidif}{}
+Left hand side of Maxwell's second equation in differential form.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \LHSmaxwelliidif \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwelliidif}{}
+Right hand side of Maxwell's second equation in differential form.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \RHSmaxwelliidif \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwelliidifm}{}
+Right hand side of Maxwell's second equation in differential
+form with magnetic monopoles.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \RHSmaxwelliidifm \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwelliidiffree}{}
+Right hand side of Maxwell's second equation in differential
+form in free space.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \RHSmaxwelliidiffree \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwelliidif}{}
+Maxwell's second equation in differential form.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \maxwelliidif \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwelliidifm}{}
+Maxwell's second equation in differential form with magnetic
+monopoles.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \maxwelliidifm \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwellidiiffree}{}
+Maxwell's second equation in differential form in free space.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \maxwelliidiffree \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{LHSmaxwelliiidif}{}
+Left hand side of Maxwell's third equation in differential form.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \LHSmaxwelliiidif \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwelliiidif}{}
+Right hand side of Maxwell's third equation in differential form.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \RHSmaxwelliiidif \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwelliiidifm}{}
+Right hand side of Maxwell's third equation in differential form
+with magnetic monopoles.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \RHSmaxwelliiidifm \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwelliiidiffree}{}
+Right hand side of Maxwell's third equation in differential form
+in free space.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \RHSmaxwelliiidiffree \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwelliiidif}{}
+Maxwell's third equation in differential form.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \maxwelliiidif \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwelliiidifm}{}
+Maxwell's third equation in differential form with magnetic
+monopoles.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \maxwelliiidifm \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwelliiidiffree}{}
+Maxwell's third equation in differential form in free space.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \maxwelliiidiffree \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{LHSmaxwellivdif}{}
+Left hand side of Maxwell's fourth equation in differential form.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \LHSmaxwellivdif \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwellivdif}{}
+Right hand side of Maxwell's fourth equation in differential form.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \RHSmaxwellivdif \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSmaxwellivdiffree}{}
+Right hand side of Maxwell's fourth equation in differential form
+in free space.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \RHSmaxwellivdiffree \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwellivdif}{}
+Maxwell's fourth equation in differential form.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \maxwellivdif \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{maxwellivdiffree}{}
+Maxwell's fourth equation in differential form in free space.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \maxwellivdiffree \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSlorentzforce}{}
+Right hand side of Lorentz force.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \RHSlorentzforce \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{RHSlorentzforcem}{}
+Right hand side of Lorentz force with magnetic monopoles.
+\end{docCommand}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\[ \RHSlorentzforcem \]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+% \subsection{VPython and GlowScript Code}
+% There are three ways to deal with VPython\footnote{See the VPython home page at
+% \url{https://vpython.org/} for more information.} and GlowScript\footnote{See the
+% GlowScript home page at \url{https://glowscript.org/} for more information.} code.
+% With very few exceptions, VPython code and GlowScript code are identical. The
+% commands with |vpython| in their names can handle both, but for semantic
+% completeness there are corresponding commands with |glowscript| in their names.
+% Because Classic VPython will no longer be developed, the first line of all
+% VPython programs not used in GlowScript will conform to Jupyter syntax.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{vpythonline}{\marg{vpythoncode}}
+Command for a single line of VPython or GlowScript code used inline.
+\end{docCommand}
+\begin{dispExample}
+\vpythonline{from vpython import *}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{glowscriptline}{\marg{glowscriptcode}}
+Command for a single line of GlowScript code used inline. Note that with very
+few exceptions, GlowScript code is identical to VPython code.
+\end{docCommand}
+\begin{dispExample}
+\glowscriptline{xyplane = box(pos=vector(0,0,0),length=10,width=10,height=0.05)}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docEnvironment}{vpythonblock}{\marg{caption}\marg{label}}
+Environment for a block of VPython code. A caption and label are
+required. The label can be used by \cs{ref} or \cs{hyperref}.
+\end{docEnvironment}
+\begin{docEnvironment}{glowscriptblock}{\marg{caption}\marg{label}}
+Functionally identical to \refEnv{vpythonblock}.
+\end{docEnvironment}
+\begin{dispExample}
+\begin{vpythonblock}{Example VPython Listing}{listing1}
+ from vpython import *
+
+ sphere(pos=vector(1,2,3),color=color.green)
+ # create a named arrow
+ MyArrow=arrow(pos=earth.pos,axis=fscale*Fnet,color=color.green)
+ print ("arrow.pos = "), arrow.pos
+\end{vpythonblock}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{vpythonfile}{\marg{caption}\marg{label}\meta{filename}}
+Typesets a file in the current directory containing VPython code. A caption and
+label are required. The label can be used by \cs{ref} and \cs{hyperref}.
+The listing will begin on a new page.
+\end{docCommand}
+\begin{docCommand}{glowscriptfile}{\marg{caption}\marg{label}\meta{filename}}
+Functionally identical to \refCom{vpythonfile}.
+\end{docCommand}
+\begin{dispExample}
+\vpythonfile{Program vdemo.py}{vlisting1}{vdemo.py}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+% \subsection{Boxes and Environments}
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{emptyanswer}{\oarg{wdth}\oarg{hght}}
+Typesets empty space for filling answer boxes, so there is nothing to see.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\emptyanswer[0.75][0.2]
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docEnvironment}{activityanswer}
+ {\oarg{bgclr}\oarg{frmclr}\oarg{txtclr}\oarg{wdth}\oarg{hght}}
+Main environment for typesetting boxed answers.
+\end{docEnvironment}
+\begin{dispExample}
+\begin{activityanswer}
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
+ Morbi commodo, ipsum sed pharetra gravida, orci magna
+ rhoncus neque, id pulvinar odio lorem non turpis. Nullam
+ sit amet enim.
+\end{activityanswer}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docEnvironment}{adjactivityanswer}
+ {\oarg{bgclr}\oarg{frmclr}\oarg{txtclr}\oarg{wdth}\oarg{hght}}
+Like \refEnv{activityanswer} but adjusts vertically to tightly surround text.
+\end{docEnvironment}
+\begin{dispExample}
+\begin{adjactivityanswer}
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi
+ commodo, ipsum sed pharetra gravida, orci magna rhoncus neque,
+ id pulvinar odio lorem non turpis. Nullam sit amet enim.
+ Suspendisse id velit vitae ligula volutpat condimentum. Aliquam
+ erat volutpat. Sed quis velit. Nulla facilisi. Nulla libero.
+ Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam,
+ nunc eget euismod ullamcorper, lectus nunc ullamcorper orci,
+ fermentum bibendum enim nibh eget ipsum. Donec porttitor ligula
+ eu dolor. Maecenas vitae nulla consequat libero cursus venenatis.
+ Nam magna enim, accumsan eu, blandit sed, blandit a, eros.
+\end{adjactivityanswer}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{emptybox}
+ {\oarg{txt}\oarg{bgclr}\oarg{frmclr}\oarg{txtclr}\oarg{wdth}\oarg{hght}}
+Provides a fixed-size box with optional text.
+\end{docCommand}
+\begin{dispExample}
+\emptybox[Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
+Morbi commodo, ipsum sed pharetra gravida, orci magna rhoncus neque,
+id pulvinar odio lorem non turpis. Nullam sit amet enim.]
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{adjemptybox}
+ {\oarg{txt}\oarg{bgclr}\oarg{frmclr}\oarg{txtclr}\oarg{wdth}\oarg{hght}}
+Like \refCom{emptybox} but adjusts vertically to tightly surround text.
+\end{docCommand}
+\begin{dispExample}
+\adjemptybox[Lorem ipsum dolor sit amet, consectetuer adipiscing
+elit. Morbi commodo, ipsum sed pharetra gravida, orci magna rhoncus
+neque, id pulvinar odio lorem non turpis. Nullam sit amet enim.]
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{answerbox}
+ {\oarg{txt}\oarg{bgclr}\oarg{frmclr}\oarg{txtclr}\oarg{wdth}\oarg{hght}}
+Wrapper for \refCom{emptybox}.
+\end{docCommand}
+\begin{dispExample}
+\answerbox[Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
+Morbi commodo, ipsum sed pharetra gravida, orci magna rhoncus neque,
+id pulvinar odio lorem non turpis. Nullam sit amet enim.]
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{adjanswerbox}
+ {\oarg{txt}\oarg{bgclr}\oarg{frmclr}\oarg{txtclr}\oarg{wdth}\oarg{hght}}
+Wrapper for \refCom{adjemptybox}.
+\end{docCommand}
+\begin{dispExample}
+\adjanswerbox[Lorem ipsum dolor sit amet, consectetuer adipiscing
+elit. Morbi commodo, ipsum sed pharetra gravida, orci magna rhoncus
+neque, id pulvinar odio lorem non turpis. Nullam sit amet enim.]
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{smallanswerbox}{\oarg{txt}\oarg{bgclr}}
+Answer box with height 0.10 that of current \cs{textheight}
+and width 0.90 that of current \cs{linewidth}.
+\end{docCommand}
+\begin{dispExample}
+\smallanswerbox[][red]
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{mediumanswerbox}{\oarg{txt}\oarg{bgclr}}
+Answer box with height 0.20 that of current \cs{textheight}
+and width 0.90 that of current \cs{linewidth}.
+\end{docCommand}
+\begin{dispExample}
+\mediumanswerbox[][lightgray]
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{largeanswerbox}{\oarg{txt}\oarg{bgclr}}
+Answer box with height 0.25 that of current \cs{textheight}
+and width 0.90 that of current \cs{linewidth} (too large to show here).
+\end{docCommand}
+\begin{dispListing}
+\largeanswerbox[][lightgray]
+\end{dispListing}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{largeranswerbox}{\oarg{txt}\oarg{bgclr}}
+Answer box with height 0.33 that of current \cs{textheight}
+and width 0.90 that of current \cs{linewidth} (too large to show here).
+\end{docCommand}
+\begin{dispListing}
+\largeranswerbox[][lightgray]
+\end{dispListing}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{hugeanswerbox}{\oarg{txt}\oarg{bgclr}}
+Answer box with height 0.50 that of current \cs{textheight}
+and width 0.90 that of current \cs{linewidth} (too large to show here).
+\end{docCommand}
+\begin{dispListing}
+\hugeanswerbox[][lightgray]
+\end{dispListing}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{hugeranswerbox}{\oarg{txt}\oarg{bgclr}}
+Answer box with height 0.75 that of current \cs{textheight}
+and width 0.90 that of current \cs{linewidth} (too large to show here).
+\end{docCommand}
+\begin{dispListing}
+\hugeranswerbox[][lightgray]
+\end{dispListing}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{fullpageanswerbox}{\oarg{txt}\oarg{bgclr}}
+Answer box with height 1.00 that of current \cs{textheight}
+and width 0.90 that of current \cs{linewidth} (too large to show here).
+\end{docCommand}
+\begin{dispListing}
+\fullpageanswerbox[][lightgray]
+\end{dispListing}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{smallanswerform}{\oarg{name}\oarg{prompt}}
+Editable answer form with height 0.10 that of current \cs{textheight}
+and width 0.90 that of current \cs{linewidth}. The first argument isn't
+really optional, and \emph{must} be different for each form used.
+Content can be typed in the box and saved with a PDF editor or viewer
+that supports PDF forms.
+\end{docCommand}
+\begin{dispExample}
+\smallanswerform[a1][Type your response here.]
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{mediumanswerform}{\oarg{name}\oarg{prompt}}
+Editable answer form with height 0.20 that of current \cs{textheight}
+and width 0.90 that of current \cs{linewidth}. The first argument isn't
+really optional, and \textbf{must} be different for each form used.
+Content can be typed in the box and saved with a PDF editor or viewer
+that supports PDF forms.
+\end{docCommand}
+\begin{dispExample}
+\mediumanswerform[a1][Type your response here.]
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{largeanswerform}{\oarg{name}\oarg{prompt}}
+Editable answer form with height 0.25 that of current \cs{textheight}
+and width 0.90 that of current \cs{linewidth} (too large to show here).
+\end{docCommand}
+\begin{dispListing}
+\largeanswerform[a1][Type your response here.]
+\end{dispListing}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{largeranswerform}{\oarg{name}\oarg{prompt}}
+Editable answer form with height 0.33 that of current \cs{textheight}
+and width 0.90 that of current \cs{linewidth} (too large to show here).
+\end{docCommand}
+\begin{dispListing}
+\largeranswerform[a1][Type your response here.]
+\end{dispListing}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{hugeanswerform}{\oarg{name}\oarg{prompt}}
+Editable answer form with height 0.50 that of current \cs{textheight}
+and width 0.90 that of current \cs{linewidth} (too large to show here).
+\end{docCommand}
+\begin{dispListing}
+\hugeanswerform[a1][Type your response here.]
+\end{dispListing}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{hugeranswerform}{\oarg{name}\oarg{prompt}}
+Editable answer form with height 0.75 that of current \cs{textheight}
+and width 0.90 that of current \cs{linewidth} (too large to show here).
+\end{docCommand}
+\begin{dispListing}
+\hugeranswerform[a1][Type your response here.]
+\end{dispListing}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{fullpageanswerform}{\oarg{name}\oarg{prompt}}
+Editable answer form with height 1.00 that of current \cs{textheight}
+and width 0.90 that of current \cs{linewidth} (too large to show here).
+\end{docCommand}
+\begin{dispListing}
+\fullpageanswerform[a1][Type your response here.]
+\end{dispListing}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docEnvironment}{miinstructornote}{}
+Environment for highlighting notes to instructors.
+\end{docEnvironment}
+\begin{dispExample}
+\begin{miinstructornote}
+ Nunc auctor bibendum eros. Maecenas porta accumsan mauris. Etiam
+ enim enim, elementum sed, bibendum quis, rhoncus non, metus. Fusce
+ neque dolor, adipiscing sed, consectetuer et, lacinia sit amet,
+ quam. Suspendisse wisi quam, consectetuer in, blandit sed,
+ suscipit eu, eros. Etiam ligula enim, tempor ut, blandit nec,
+ mollis eu, lectus. Nam cursus. Vivamus iaculis. Aenean risus
+ purus, pharetra in, blandit quis, gravida a, turpis. Donec nisl.
+ Aenean eget mi. Fusce mattis est id diam. Phasellus faucibus
+ interdum sapien.
+\end{miinstructornote}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docEnvironment}{mistudentnote}{}
+Environment for highlighting notes to students.
+\end{docEnvironment}
+\begin{dispExample}
+\begin{mistudentnote}
+ Nunc auctor bibendum eros. Maecenas porta accumsan mauris. Etiam
+ enim enim, elementum sed, bibendum quis, rhoncus non, metus. Fusce
+ neque dolor, adipiscing sed, consectetuer et, lacinia sit amet,
+ quam. Suspendisse wisi quam, consectetuer in, blandit sed,
+ suscipit eu, eros. Etiam ligula enim, tempor ut, blandit nec,
+ mollis eu, lectus. Nam cursus. Vivamus iaculis. Aenean risus
+ purus, pharetra in, blandit quis, gravida a, turpis. Donec nisl.
+ Aenean eget mi. Fusce mattis est id diam. Phasellus faucibus
+ interdum sapien.
+\end{mistudentnote}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docEnvironment}{miderivation}{}
+Environment for mathematical derivations based on the |align| environment.
+See \refEnv{mysolution} for how to handle long lines in this environment.
+Note that using this environment resets the counter for equation numbering.
+If you want continuous numbering throughout your document, use the |align|
+environment.
+\end{docEnvironment}
+\begin{docEnvironment}{miderivation*}{}
+Like \refEnv{miderivation} but suppresses line numbers.
+\end{docEnvironment}
+\begin{dispExample}
+\begin{miderivation}
+ \gamma &= \relgamma{\magvect{v}} && \text{given} \\
+ \gamma\squared &= \ooomx{\inparens{\frac{\magvect{v}}{c}}\squared}
+ &&\text{square both sides} \\
+ \frac{1}{\gamma\squared} &= 1-\inparens{\frac{\magvect{v}}{c}}\squared
+ &&\text{reciprocal of both sides} \\
+ \inparens{\frac{\magvect{v}}{c}}\squared &= 1-\frac{1}{\gamma\squared}
+ &&\text{rearrange} \\
+ \frac{\magvect{v}}{c} &= \sqrt{1-\frac{1}{\gamma\squared}}
+ &&\text{square root of both sides}
+\end{miderivation}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docEnvironment}{mistandard}{}
+Environment for standards for standards-based grading.
+\end{docEnvironment}
+\begin{dispExample}
+\begin{mistandard}
+ I can create a standard which reflects deep student learning.
+\end{mistandard}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docEnvironment}{bwinstructornote}{}
+Like \refEnv{miinstructornote} but in black and grey.
+\end{docEnvironment}
+\begin{dispExample}
+\begin{bwinstructornote}
+ Nunc auctor bibendum eros. Maecenas porta accumsan mauris. Etiam
+ enim enim, elementum sed, bibendum quis, rhoncus non, metus. Fusce
+ neque dolor, adipiscing sed, consectetuer et, lacinia sit amet,
+ quam. Suspendisse wisi quam, consectetuer in, blandit sed,
+ suscipit eu, eros. Etiam ligula enim, tempor ut, blandit nec,
+ mollis eu, lectus. Nam cursus. Vivamus iaculis. Aenean risus
+ purus, pharetra in, blandit quis, gravida a, turpis. Donec nisl.
+ Aenean eget mi. Fusce mattis est id diam. Phasellus faucibus
+ interdum sapien.
+\end{bwinstructornote}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docEnvironment}{bwstudentnote}{}
+Like \refEnv{mistudentnote} but in black and grey.
+\end{docEnvironment}
+\begin{dispExample}
+\begin{bwstudentnote}
+ Nunc auctor bibendum eros. Maecenas porta accumsan mauris. Etiam
+ enim enim, elementum sed, bibendum quis, rhoncus non, metus. Fusce
+ neque dolor, adipiscing sed, consectetuer et, lacinia sit amet,
+ quam. Suspendisse wisi quam, consectetuer in, blandit sed,
+ suscipit eu, eros. Etiam ligula enim, tempor ut, blandit nec,
+ mollis eu, lectus. Nam cursus. Vivamus iaculis. Aenean risus
+ purus, pharetra in, blandit quis, gravida a, turpis. Donec nisl.
+ Aenean eget mi. Fusce mattis est id diam. Phasellus faucibus
+ interdum sapien.
+\end{bwstudentnote}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docEnvironment}{bwderivation}{}
+Like \refEnv{miderivation} but in black and grey. See \refEnv{mysolution} for
+how to handle long lines in this environment.
+\end{docEnvironment}
+\begin{docEnvironment}{bwderivation*}{}
+Like \refEnv{bwderivation} but suppresses line numbers.
+\end{docEnvironment}
+\begin{dispExample}
+\begin{bwderivation}
+ \gamma &= \relgamma{\magvect{v}} && \text{given} \\
+ \gamma\squared &= \ooomx{\inparens{\frac{\magvect{v}}{c}}\squared}
+ &&\text{square both sides} \\
+ \frac{1}{\gamma\squared} &= 1-\inparens{\frac{\magvect{v}}{c}}\squared
+ &&\text{reciprocal of both sides} \\
+ \inparens{\frac{\magvect{v}}{c}}\squared &= 1-\frac{1}{\gamma\squared}
+ &&\text{rearrange} \\
+ \frac{\magvect{v}}{c}&=\sqrt{1-\frac{1}{\gamma\squared}}
+ &&\text{square root of both sides}
+\end{bwderivation}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docEnvironment}{bwstandard}{}
+Like \refEnv{mistandard} but in black and grey.
+\end{docEnvironment}
+\begin{dispExample}
+\begin{bwstandard}
+ I can create a standard which reflects deep student learning.
+\end{bwstandard}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docEnvironment}{mysolution}{}
+Alias for simple environment for mathematical derivations based on the
+|align| environment. The second example shows how to handle long lines
+for this and the derivation environments.
+\end{docEnvironment}
+\begin{docEnvironment}{mysolution*}{}
+Like \refEnv{mysolution} but suppresses line numbers.
+\end{docEnvironment}
+\begin{dispExample}
+\begin{mysolution}
+ \gamma &= \relgamma{\magvect{v}}
+ && \text{given} \\
+ \gamma\squared &= \ooomx{\inparens{\frac{\magvect{v}}{c}}\squared}
+ &&\text{square both sides} \\
+ \frac{1}{\gamma\squared} &= 1-\inparens{\frac{\magvect{v}}{c}}\squared
+ &&\text{reciprocal of both sides} \\
+ \inparens{\frac{\magvect{v}}{c}}\squared &= 1-\frac{1}{\gamma\squared}
+ &&\text{rearrange} \\
+ \frac{\magvect{v}}{c} &= \sqrt{1-\frac{1}{\gamma\squared}}
+ &&\text{square root of both sides}
+\end{mysolution}
+\begin{mysolution*}
+ \vect{E} &= \electricfield{\mivector{1,2,3}} + \electricfield{\mivector{2,4,6}}
+ \nonumber \\
+ &\hphantom{{}=\electricfield{\mivector{1,1,1}}}+\electricfield{\mivector{3,5,6}}
+ &&\text{superposition} \\
+ \vect{E} &= \electricfield{\mivector{2,3,4}} + \electricfield{\mivector{2,4,6}}
+ \nonumber \\
+ &+ \electricfield{\mivector{1,1,1}} +\electricfield{\mivector{3,5,6}}
+ &&\text{superposition again} \\
+ \vect{E} &= \electricfield{\mivector{2,3,4}} + \electricfield{\mivector{2,4,6}}
+ \nonumber \\
+ &\quad + \electricfield{\mivector{1,1,1}} +\electricfield{\mivector{3,5,6}}
+ && \text{more superposition}
+\end{mysolution*}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docEnvironment}{problem}{\marg{problemname}}
+Creates a simple environment for problem solutions. This
+environment is mainly for students. Each new problem starts on a new page in an
+effort to force organization upon students. The environment also creates a new
+|enumerate| environment called |parts| for which labels are alphabetic,
+reflecting the organization of multipart textbook problems. The \cs{item} command
+is renamed \cs{problempart} to, again, help with organization for newcomers to
+\LaTeX. A typical example would be structured as follows.
+\end{docEnvironment}
+\begin{dispExample*}{sidebyside, lefthand ratio=0.50}
+\begin{problem}{Chapter 2 Problem 1}
+This problem has two parts.
+\begin{parts}
+ \problempart
+ This is the first part
+ \problempart
+ This is the second part
+\end{parts}
+\end{problem}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{reason}{\marg{text}}
+In a \refEnv{mysolution} environment, this aligns the text arguments with the
+end of the longest line and nicely handles line wrapping. Make sure your margins
+are narrow enough. You may need to experiment.
+\end{docCommand}
+\begin{dispExample}
+\begin{mysolution}
+ c^2 &= a^2 + b^2 && \reason{given} \\
+ a^2 &= c^2 - b^2 && \reason{Rearrange, and add some extra text just for fun.} \\
+ a &= \sqrt{c^2 - b^2} && \reason{Take square root of both sides.}
+\end{mysolution}
+\end{dispExample}
+%\iffalse
+%</example>
+%\fi
+%
+% \newpage
+% \subsection{Miscellaneous Commands}
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{checkpoint}{}
+Centered checkpoint for student discussion.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\checkpoint
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{image}{\oarg{scalesize}\marg{filename}\marg{caption}\marg{label}}
+Centered figure displayed actual size with caption. The optional argument can be
+a scale factor (with 1 being the original image size), explicit \texttt{width}
+and/or \texttt{height} parameters, or even an \texttt{angle} for rotating the
+image. Be sure to give each image a unique label. This allows you to refer back
+to the image subsequently just by using the label.
+\end{docCommand}
+\begin{dispListing}
+ \image{sampleimage.pdf}{An image shown actual size.}{img-label1}
+ \image[scale=1.5]{sampleimage.pdf}{An image scaled by 1.5 times.}{img-label2}
+ \image[height=1cm,width=2cm]{sampleimage.pdf}{An image resized.}{img-label3}
+ \image[width=0.8\textwidth]{sampleimage.pdf}{An image 80 percent the text width.}
+ {img-label4}
+ \image[angle=45]{sampleimage.pdf}{An image actual size, rotated.}{img-label5}
+\end{dispListing}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{sneakyone}{\marg{thing}}
+Shows argument as a sneaky one.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\sneakyone{\frac{\m}{\m}}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{qed}{}
+Command for QED symbol.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\qed
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+% \StopEventually{}
+%
+% \newpage
+% \section{Source Code}
+%
+% \iffalse
+%<*package>
+% \fi
+% Note the packages that must be present.
+% \begin{macrocode}
+\RequirePackage{amsmath}
+\RequirePackage{amssymb}
+\RequirePackage{array}
+\RequirePackage{cancel}
+\RequirePackage[dvipsnames]{xcolor}
+\RequirePackage{enumitem}
+\RequirePackage{environ}
+\RequirePackage{esint}
+\RequirePackage[g]{esvect}
+\RequirePackage{etoolbox}
+\RequirePackage{filehook}
+\RequirePackage{extarrows}
+\RequirePackage{float}
+\RequirePackage[T1]{fontenc}
+\RequirePackage{graphicx}
+\RequirePackage{epstopdf}
+\RequirePackage{textcomp}
+\RequirePackage{letltxmacro}
+\RequirePackage{listings}
+\RequirePackage{mathtools}
+\RequirePackage[framemethod=TikZ]{mdframed}
+\RequirePackage{stackengine}
+\RequirePackage{suffix}
+\RequirePackage{tensor}
+\RequirePackage{xargs}
+\RequirePackage{xparse}
+\RequirePackage{xspace}
+\RequirePackage{ifthen}
+\RequirePackage{calligra}
+\RequirePackage[hypertexnames=false]{hyperref}
+\hypersetup{colorlinks=true,urlcolor=blue}
+\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{vbgcolor}{rgb}{1,1,1} % background for code listings
+\definecolor{vshadowcolor}{rgb}{0.5,0.5,0.5} % shadow for code listings
+\lstdefinestyle{vpython}{% % style for code listings
+ language=Python,% % select language
+ morekeywords={__future__,division,append, % VPython/GlowScript specific keywords
+ arange,arrow,astuple,axis,background,black,blue,cyan,green,%
+ magenta,orange,red,white,yellow,border,box,color,comp,%
+ cone,convex,cross,curve,cylinder,degrees,diff_angle,dot,ellipsoid,extrusion,faces,%
+ font,frame,graphs,headlength,height,headwidth,helix,index,interval,label,length,%
+ line,linecolor,mag,mag2,make_trail,material,norm,normal,objects,opacity,points,pos,%
+ print,print_function,proj,pyramid,radians,radius,rate,retain,ring,rotate,scene,%
+ shaftwidth,shape,sign,size,space,sphere,text,trail_object,trail_type,True,twist,up,%
+ vector,visual,width,offset,yoffset,GlowScript,VPython,vpython,trail_color,%
+ trail_radius,pps,clear,False,CoffeeScript,graph,gdisplay,canvas,pause,vec,clone,%
+ compound,vertex,triangle,quad,attach_trail,attach_arrow,textures,bumpmaps,%
+ print_options,get_library,read_local_file},%
+ captionpos=b,% % position caption
+ frame=shadowbox,% % shadowbox around listing
+ rulesepcolor=\color{vshadowcolor},% % shadow color
+ basicstyle=\footnotesize,% % basic font for code listings
+ commentstyle=\bfseries\color{red}, % font for comments
+ keywordstyle=\bfseries\color{blue},% % font for keywords
+ showstringspaces=true,% % show spaces in strings
+ stringstyle=\bfseries\color{green},% % color for strings
+ numbers=left,% % where to put line numbers
+ numberstyle=\tiny,% % set to 'none' for no line numbers
+ xleftmargin=20pt,% % extra left margin
+ backgroundcolor=\color{vbgcolor},% % some people find this annoying
+ upquote=true,% % how to typeset quotes
+ breaklines=true}% % break long lines
+\definecolor{formcolor}{gray}{0.90} % color for form background
+\newcolumntype{C}[1]{>{\centering}m{#1}}
+\newboolean{@optromanvectors}
+\newboolean{@optboldvectors}
+\newboolean{@optsinglemagbars}
+\newboolean{@optbaseunits}
+\newboolean{@optdrvdunits}
+\newboolean{@optaltnunits}
+\newboolean{@optapproxconsts}
+\newboolean{@optuseradians}
+\setboolean{@optromanvectors}{false} % this is where you set the default option
+\setboolean{@optboldvectors}{false} % this is where you set the default option
+\setboolean{@optsinglemagbars}{false} % this is where you set the default option
+\setboolean{@optbaseunits}{false} % this is where you set the default option
+\setboolean{@optdrvdunits}{true} % this is where you set the default option
+\setboolean{@optaltnunits}{false} % this is where you set the default option
+\setboolean{@optapproxconsts}{false} % this is where you set the default option
+\setboolean{@optuseradians}{false} % this is where you set the default option
+\DeclareOption{romanvectors}{\setboolean{@optromanvectors}{true}}
+\DeclareOption{boldvectors}{\setboolean{@optboldvectors}{true}}
+\DeclareOption{singlemagbars}{\setboolean{@optsinglemagbars}{true}}
+\DeclareOption{baseunits}{\setboolean{@optbaseunits}{true}}
+\DeclareOption{drvdunits}{\setboolean{@optdrvdunits}{true}}
+\DeclareOption{approxconsts}{\setboolean{@optapproxconsts}{true}}
+\DeclareOption{useradians}{\setboolean{@optuseradians}{true}}
+\ProcessOptions\relax
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand*{\mandiversion}{\ifmmode%
+ 2.7.5\mbox{ dated }2019/01/12%
+ \else%
+ 2.7.5 dated 2019/01/12%
+ \fi
+ }%
+\typeout{ }
+\typeout{mandi: You're using mandi version \mandiversion.}
+% \end{macrocode}
+%
+% \noindent This block of code fixes a conflict with the amssymb package.
+% \begin{macrocode}
+\@ifpackageloaded{amssymb}{%
+ \csundef{square}
+ \typeout{mandi: Package amssymb detected. Its \protect\square\space
+ has been redefined.}
+}{%
+ \typeout{mandi: Package amssymb not detected.}
+}%
+% \end{macrocode}
+%
+% \noindent This block of code defines unit names and symbols.
+% \begin{macrocode}
+\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*{\eV}{\electronvolt}
+\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}
+%\H is already defined as a LaTeX accent
+\newcommand*{\J}{\joule}
+\newcommand*{\N}{\newton}
+\newcommand*{\Pa}{\pascal}
+\newcommand*{\rad}{\radian}
+\newcommand*{\sr}{\steradian}
+%\S is already defined as a LaTeX symbol
+\newcommand*{\T}{\tesla}
+\newcommand*{\V}{\volt}
+\newcommand*{\W}{\watt}
+\newcommand*{\Wb}{\weber}
+\newcommand*{\square}[1]{\ensuremath{{#1}^2}} % prefix 2
+\newcommand*{\cubic}[1]{\ensuremath{{#1}^3}} % prefix 3
+\newcommand*{\quartic}[1]{\ensuremath{{#1}^4}} % prefix 4
+\newcommand*{\reciprocal}[1]{\ensuremath{{#1}^{-1}}} % prefix -1
+\newcommand*{\reciprocalsquare}[1]{\ensuremath{{#1}^{-2}}} % prefix -2
+\newcommand*{\reciprocalcubic}[1]{\ensuremath{{#1}^{-3}}} % prefix -3
+\newcommand*{\reciprocalquartic}[1]{\ensuremath{{#1}^{-4}}} % prefix -4
+\newcommand*{\squared}{\ensuremath{^2}} % postfix 2
+\newcommand*{\cubed}{\ensuremath{^3}} % postfix 3
+\newcommand*{\quarted}{\ensuremath{^4}} % postfix 4
+\newcommand*{\reciprocaled}{\ensuremath{^{-1}}} % postfix -1
+\newcommand*{\reciprocalsquared}{\ensuremath{^{-2}}} % postfix -2
+\newcommand*{\reciprocalcubed}{\ensuremath{^{-3}}} % postfix -3
+\newcommand*{\reciprocalquarted}{\ensuremath{^{-4}}} % postfix -4
+\newcommand*{\emptyunit}{\ensuremath{\Box}}
+% \end{macrocode}
+%
+% \noindent Define a new named physics quantity or physical constant and
+% commands for selecting units. My thanks to Ulrich Diez for contributing
+% this code.
+% \begin{macrocode}
+\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*\selectaltnunit[3]{#3}
+\newcommand*\selectunit{}
+\newcommand*\perpusebaseunit{\let\selectunit=\selectbaseunit}
+\newcommand*\perpusedrvdunit{\let\selectunit=\selectdrvdunit}
+\newcommand*\perpusealtnunit{\let\selectunit=\selectaltnunit}
+\newcommand*\hereusebaseunit[1]{%
+ \begingroup\perpusebaseunit#1\endgroup}%
+\newcommand*\hereusedrvdunit[1]{%
+ \begingroup\perpusedrvdunit#1\endgroup}%
+\newcommand*\hereusealtnunit[1]{%
+ \begingroup\perpusealtnunit#1\endgroup}%
+\newenvironment{usebaseunit}{\perpusebaseunit}{}%
+\newenvironment{usedrvdunit}{\perpusedrvdunit}{}%
+\newenvironment{usealtnunit}{\perpusealtnunit}{}%
+\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{\unit{#8}{\selectunit{#3}{#1}{#2}}}%
+ \mi@name#4{#5baseunit}#7{\unit{#8}{#3}}%
+ \mi@name#4{#5drvdunit}#7{\unit{#8}{#1}}%
+ \mi@name#4{#5altnunit}#7{\unit{#8}{#2}}%
+ \mi@name#4{#5onlyunit}{\selectunit{#3}{#1}{#2}}%
+ \mi@name#4{#5onlybaseunit}{\ensuremath{#3}}%
+ \mi@name#4{#5onlydrvdunit}{\ensuremath{#1}}%
+ \mi@name#4{#5onlyaltnunit}{\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}}}{}}%
+% \end{macrocode}
+%
+% \noindent This block of code processes the options.
+% \begin{macrocode}
+\ifthenelse{\boolean{@optboldvectors}}
+ {\typeout{mandi: You'll get bold vectors.}}
+ {\ifthenelse{\boolean{@optromanvectors}}
+ {\typeout{mandi: You'll get Roman vectors.}}
+ {\typeout{mandi: You'll get italic vectors.}}}
+\ifthenelse{\boolean{@optsinglemagbars}}
+ {\typeout{mandi: You'll get single magnitude bars.}}
+ {\typeout{mandi: You'll get double magnitude bars.}}
+\ifthenelse{\boolean{@optbaseunits}}
+ {\perpusebaseunit %
+ \typeout{mandi: You'll get base units.}}
+ {\ifthenelse{\boolean{@optdrvdunits}}
+ {\perpusedrvdunit %
+ \typeout{mandi: You'll get derived units.}}
+ {\perpusealtnunit %
+ \typeout{mandi: You'll get alternate units.}}}
+\ifthenelse{\boolean{@optapproxconsts}}
+ {\typeout{mandi: You'll get approximate constants.}}
+ {\typeout{mandi: You'll get precise constants.}}
+\ifthenelse{\boolean{@optuseradians}}
+ {\typeout{mandi: You'll get radians in ang mom, ang impulse, and torque.}}
+ {\typeout{mandi: You won't get radians in ang mom, ang impulse, and torque.}}
+\typeout{ }
+% \end{macrocode}
+%
+% \noindent This is a utility command for picking constants. Do not use this
+% command manually.
+% \begin{macrocode}
+\ifthenelse{\boolean{@optapproxconsts}}
+ {\newcommand*{\mi@p}[2]{#1}} % approximate value
+ {\newcommand*{\mi@p}[2]{#2}} % precise value
+% \end{macrocode}
+%
+% \noindent SI base unit of length or spatial displacement
+% \begin{macrocode}
+\newcommand*{\m}{\metre}
+% \end{macrocode}
+%
+% \noindent SI base unit of mass
+% \begin{macrocode}
+\newcommand*{\kg}{\kilogram}
+% \end{macrocode}
+%
+% \noindent SI base unit of time or temporal displacement
+% \begin{macrocode}
+\newcommand*{\s}{\second}
+% \end{macrocode}
+%
+% \noindent SI base unit of electric current
+% \begin{macrocode}
+\newcommand*{\A}{\ampere}
+% \end{macrocode}
+%
+% \noindent SI base unit of thermodynamic temperature
+% \begin{macrocode}
+\newcommand*{\K}{\kelvin}
+% \end{macrocode}
+%
+% \noindent SI base unit of amount
+% \begin{macrocode}
+\newcommand*{\mol}{\mole}
+% \end{macrocode}
+%
+% \noindent SI base unit of luminous intensity
+% \begin{macrocode}
+\newcommand*{\cd}{\candela}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand*{\dimdisplacement}{\ensuremath{\mathrm{L}}}
+\newcommand*{\dimmass}{\ensuremath{\mathrm{M}}}
+\newcommand*{\dimduration}{\ensuremath{\mathrm{T}}}
+\newcommand*{\dimcurrent}{\ensuremath{\mathrm{I}}}
+\newcommand*{\dimtemperature}{\ensuremath{\mathrm{\Theta}}}
+\newcommand*{\dimamount}{\ensuremath{\mathrm{N}}}
+\newcommand*{\dimluminous}{\ensuremath{\mathrm{J}}}
+\newcommand*{\infeet}[1]{\unit{#1}{\mathrm{ft}}}
+\newcommand*{\infeetpersecond}[1]{\unit{#1}{\mathrm{ft}\per\s}}
+\newcommand*{\infeetpersecondsquared}[1]{\unit{#1}{\mathrm{ft}\per\s\squared}}
+\newcommand*{\indegrees}[1]{\unit{#1}{\mkern-\thickmuskip\degree}}
+\newcommand*{\inFarenheit}[1]{\unit{#1}{\mkern-\thickmuskip\degree\mathrm{F}}}
+\newcommand*{\inCelsius}[1]{\unit{#1}{\mkern-\thickmuskip\degree\mathrm{C}}}
+\newcommand*{\inarcminutes}[1]{\unit{#1}{\mkern-\thickmuskip\arcminute}}
+\newcommand*{\inarcseconds}[1]{\unit{#1}{\mkern-\thickmuskip\arcsecond}}
+\newcommand*{\ineV}[1]{\unit{#1}{\electronvolt}}
+\newcommand*{\ineVocs}[1]{\unit{#1}{\mathrm{eV}\per c^2}}
+\newcommand*{\ineVoc}[1]{\unit{#1}{\mathrm{eV}\per c}}
+\newcommand*{\inMeV}[1]{\unit{#1}{\mathrm{MeV}}}
+\newcommand*{\inMeVocs}[1]{\unit{#1}{\mathrm{MeV}\per c^2}}
+\newcommand*{\inMeVoc}[1]{\unit{#1}{\mathrm{MeV}\per c}}
+\newcommand*{\inGeV}[1]{\unit{#1}{\mathrm{GeV}}}
+\newcommand*{\inGeVocs}[1]{\unit{#1}{\mathrm{GeV}\per c^2}}
+\newcommand*{\inGeVoc}[1]{\unit{#1}{\mathrm{GeV}\per c}}
+\newcommand*{\inamu}[1]{\unit{#1}{\mathrm{u}}}
+\newcommand*{\ingram}[1]{\unit{#1}{\mathrm{g}}}
+\newcommand*{\ingrampercubiccm}[1]{\unit{#1}{\mathrm{g}\per\cubic\mathrm{cm}}}
+\newcommand*{\inAU}[1]{\unit{#1}{\mathrm{AU}}}
+\newcommand*{\inly}[1]{\unit{#1}{\mathrm{ly}}}
+\newcommand*{\incyr}[1]{\unit{#1}{c\usk\mathrm{year}}}
+\newcommand*{\inpc}[1]{\unit{#1}{\mathrm{pc}}}
+\newcommand*{\insolarL}[1]{\unit{#1}{\Lsolar}}
+\newcommand*{\insolarT}[1]{\unit{#1}{\Tsolar}}
+\newcommand*{\insolarR}[1]{\unit{#1}{\Rsolar}}
+\newcommand*{\insolarM}[1]{\unit{#1}{\Msolar}}
+\newcommand*{\insolarF}[1]{\unit{#1}{\Fsolar}}
+\newcommand*{\insolarf}[1]{\unit{#1}{\fsolar}}
+\newcommand*{\insolarMag}[1]{\unit{#1}{\Magsolar}}
+\newcommand*{\insolarmag}[1]{\unit{#1}{\magsolar}}
+\newcommand*{\insolarD}[1]{\unit{#1}{\Dsolar}}
+\newcommand*{\insolard}[1]{\unit{#1}{\dsolar}}
+\newcommand*{\velocityc}[1]{\ensuremath{#1c}}
+\newcommand*{\lorentzfactor}[1]{\ensuremath{#1}}
+\newcommand*{\speed}{\velocity}
+\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]
+\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]
+\newphysicsquantity{gravitationalfield}%
+ {\m\usk\s\reciprocalsquared}%
+ [\N\per\kg]%
+ [\N\per\kg]
+\newphysicsquantity{gravitationalpotential}%
+ {\square\m\usk\reciprocalsquare\s}%
+ [\J\per\kg]%
+ [\J\per\kg]
+\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]%
+ [\N\usk\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{stress}%
+ {\reciprocal\m\usk\kg\usk\s\reciprocalsquared}%
+ [\N\per\m\squared]%
+ [\Pa]
+\newphysicsquantity{pressure}%
+ {\reciprocal\m\usk\kg\usk\s\reciprocalsquared}%
+ [\N\per\m\squared]%
+ [\Pa]
+\newphysicsquantity{strain}%
+ {}%
+ []%
+ []
+\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{specificheatcapacity}%
+ {\J\per\K\usk\kg}%
+ [\J\per\K\usk\kg]%
+ [\J\per\K\usk\kg]
+\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{momentofinertia}%
+ {\m\squared\usk\kg}%
+ [\m\squared\usk\kg]%
+ [\J\usk\s\squared]
+\ifthenelse{\boolean{@optuseradians}}
+ {%
+ \newphysicsquantity{angularmomentum}%
+ {\m\squared\usk\kg\usk\reciprocal\s\usk\reciprocal\rad}%
+ [\kg\usk\m\squared\per(\s\usk\rad)]%
+ [\N\usk\m\usk\s\per\rad]
+ \newphysicsquantity{angularimpulse}%
+ {\m\squared\usk\kg\usk\reciprocal\s\usk\reciprocal\rad}%
+ [\J\usk\s\per\rad]%
+ [\N\usk\m\usk\s\per\rad]
+ \newphysicsquantity{torque}%
+ {\m\squared\usk\kg\usk\s\reciprocalsquared\usk\reciprocal\rad}%
+ [\N\usk\m\per\rad]%
+ [\J\per\rad]
+ }%
+ {%
+ \newphysicsquantity{angularmomentum}%
+ {\m\squared\usk\kg\usk\reciprocal\s}%
+ [\kg\usk\m\squared\per\s]%
+ [\N\usk\m\usk\s]
+ \newphysicsquantity{angularimpulse}%
+ {\m\squared\usk\kg\usk\reciprocal\s}%
+ [\J\usk\s]%
+ [\N\usk\m\usk\s]
+ \newphysicsquantity{torque}%
+ {\m\squared\usk\kg\usk\s\reciprocalsquared}%
+ [\N\usk\m]%
+ [\J]
+ }%
+\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}%
+ [\C\squared\per\N\usk\m\squared]%
+ [\F\per\m]
+\newphysicsquantity{permeability}%
+ {\m\usk\kg\usk\s\reciprocalsquared\usk\A\reciprocalsquared}%
+ [\T\usk\m\per\A]%
+ [\henry\per\m]
+\newphysicsquantity{electricfield}%
+ {\m\usk\kg\usk\s\reciprocalcubed\usk\reciprocal\A}%
+ [\N\per\C]%
+ [\V\per\m]
+\newphysicsquantity{electricdipolemoment}%
+ {\m\usk\s\usk\A}%
+ [\C\usk\m]%
+ [\C\usk\m]
+\newphysicsquantity{electricflux}%
+ {\m\cubed\usk\kg\usk\s\reciprocalcubed\usk\reciprocal\A}%
+ [\N\usk\m\squared\per\C]%
+ [\V\usk\m]
+\newphysicsquantity{magneticfield}%
+ {\kg\usk\s\reciprocalsquared\usk\reciprocal\A}%
+ [\T]%
+ [\N\per\C\usk(\m\per\s)] % also \Wb\per\m\squared
+\newphysicsquantity{magneticflux}%
+ {\m\squared\usk\kg\usk\s\reciprocalsquared\usk\reciprocal\A}%
+ [\T\usk\m\squared]%
+ [\volt\usk\s] % also \Wb and \J\per\A
+\newphysicsquantity{cmagneticfield}%
+ {\m\usk\kg\usk\s\reciprocalcubed\usk\reciprocal\A}%
+ [\N\per\C]%
+ [\V\per\m]
+\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}%
+ [\V]%
+ [\J\per\C]
+\newphysicsquantity{emf}%
+ {\square\m\usk\kg\usk\reciprocalcubic\s\usk\reciprocal\A}%
+ [\V]%
+ [\J\per\C]
+\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{energyflux}%
+ {\kg\usk\s\reciprocalcubed}%
+ [\W\per\m\squared]%
+ [\W\per\m\squared]
+\newphysicsquantity{momentumflux}%
+ {\reciprocal\m\usk\kg\usk\s\reciprocalsquared}%
+ [\N\per\m\squared]%
+ [\N\per\m\squared]
+\newphysicsquantity{electroncurrent}%
+ {\reciprocal\s}%
+ [\ensuremath{\mathrm{e}}\per\s]%
+ [\ensuremath{\mathrm{e}}\per\s]
+\newphysicsquantity{conventionalcurrent}%
+ {\A}%
+ [\A]%
+ [\C\per\s]
+\newphysicsquantity{magneticdipolemoment}%
+ {\square\m\usk\A}%
+ [\A\usk\square\m]%
+ [\J\per\T]
+\newphysicsquantity{currentdensity}%
+ {\reciprocalsquare\m\usk\A}%
+ [\A\per\square\m]%
+ [\C\usk\s\per\square\m]
+\newphysicsquantity{capacitance}%
+ {\reciprocalsquare\m\usk\reciprocal\kg\usk\quartic\s\usk\square\A}%
+ [\F]%
+ [\C\per\V] % also \C\squared\per\N\usk\m, \s\per\ohm
+\newphysicsquantity{inductance}%
+ {\square\m\usk\kg\usk\reciprocalsquare\s\usk\reciprocalsquare\A}%
+ [\henry]%
+ [\volt\usk\s\per\A] % also \square\m\usk\kg\per\C\squared, \Wb\per\A
+\newphysicsquantity{conductivity}%
+ {\reciprocalcubic\m\usk\reciprocal\kg\usk\cubic\s\usk\square\A}%
+ [(\A\per\square\m)\per(\V\per\m)]%
+ [\siemens\per\m]
+\newphysicsquantity{resistivity}%
+ {\cubic\m\usk\kg\usk\reciprocalcubic\s\usk\reciprocalsquare\A}%
+ [\ohm\usk\m]%
+ [(\V\per\m)\per(\A\per\square\m)]
+\newphysicsquantity{resistance}%
+ {\square\m\usk\kg\usk\reciprocalcubic\s\usk\reciprocalsquare\A}%
+ [\ohm]%
+ [\V\per\A]
+\newphysicsquantity{conductance}%
+ {\reciprocalsquare\m\usk\reciprocal\kg\usk\cubic\s\usk\square\A}%
+ [\A\per\V]%
+ [\siemens]
+\newphysicsquantity{magneticcharge}%
+ {\m\usk\A}%
+ [\m\usk\A]%
+ [\m\usk\A]
+\newcommand*{\vectordisplacement}[1]{\ensuremath{\displacement{\mivector{#1}}}}
+\newcommand*{\vectorvelocity}[1]{\ensuremath{\velocity{\mivector{#1}}}}
+\newcommand*{\vectorvelocityc}[1]{\ensuremath{\velocityc{\mivector{#1}}}}
+\newcommand*{\vectoracceleration}[1]{\ensuremath{\acceleration{\mivector{#1}}}}
+\newcommand*{\vectormomentum}[1]{\ensuremath{\momentum{\mivector{#1}}}}
+\newcommand*{\vectorforce}[1]{\ensuremath{\force{\mivector{#1}}}}
+\newcommand*{\vectorgravitationalfield}[1]
+ {\ensuremath{\gravitationalfield{\mivector{#1}}}}
+\newcommand*{\vectorimpulse}[1]{\ensuremath{\impulse{\mivector{#1}}}}
+\newcommand*{\vectorangularvelocity}[1]{\ensuremath{\angularvelocity{\mivector{#1}}}}
+\newcommand*{\vectorangularacceleration}[1]
+ {\ensuremath{\angularacceleration{\mivector{#1}}}}
+\newcommand*{\vectorangularmomentum}[1]{\ensuremath{\angularmomentum{\mivector{#1}}}}
+\newcommand*{\vectorangularimpulse}[1]{\ensuremath{\angularimpulse{\mivector{#1}}}}
+\newcommand*{\vectortorque}[1]{\ensuremath{\torque{\mivector{#1}}}}
+\newcommand*{\vectorwavenumber}[1]{\ensuremath{\wavenumber{\mivector{#1}}}}
+\newcommand*{\vectorelectricfield}[1]{\ensuremath{\electricfield{\mivector{#1}}}}
+\newcommand*{\vectorelectricdipolemoment}[1]
+ {\ensuremath{\electricdipolemoment{\mivector{#1}}}}
+\newcommand*{\vectormagneticfield}[1]{\ensuremath{\magneticfield{\mivector{#1}}}}
+\newcommand*{\vectorcmagneticfield}[1]{\ensuremath{\cmagneticfield{\mivector{#1}}}}
+\newcommand*{\vectormagneticdipolemoment}[1]
+ {\ensuremath{\magneticdipolemoment{\mivector{#1}}}}
+\newcommand*{\vectorcurrentdensity}[1]{\ensuremath{\currentdensity{\mivector{#1}}}}
+ \newcommand*{\lv}{\ensuremath{\left\langle}}
+\newcommand*{\vectorenergyflux}[1]{\ensuremath{\energyflux{\mivector{#1}}}}
+\newcommand*{\vectormomentumflux}[1]{\ensuremath{\momentumflux{\mivector{#1}}}}
+\newcommand*{\poyntingvector}{\vectorenergyflux}
+\newcommand*{\rv}{\ensuremath{\right\rangle}}
+\ExplSyntaxOn % Written in LaTeX3
+\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{\left(\clist_use:Nnnn \l_tmpa_clist { \right)^2+\left( } { \right)^2+
+ \left( } { \right)^2+\left( } \right)^2 }
+ }%
+ }%
+ {%
+ \clist_set:Nn \l_tmpa_clist { #1 }
+ \ensuremath{%
+ \sqrt{\left(\clist_use:Nnnn \l_tmpa_clist {\;{ #2 }\right)^2+\left(} {\;
+ { #2 }\right)^2+\left(} {\;{ #2 }\right)^2+\left(} \;{ #2 }\right)^2}
+ }%
+ }%
+ }%
+\ExplSyntaxOff
+%
+\newcommand*{\zerovect}{\vect{0}}
+\ifthenelse{\boolean{@optboldvectors}}
+ {\newcommand*{\vect}[1]{\ensuremath{\boldsymbol{#1}}}}
+ {\ifthenelse{\boolean{@optromanvectors}}
+ {\newcommand*{\vect}[1]{\ensuremath{\vv{\mathrm{#1}}}}}
+ {\newcommand*{\vect}[1]{\ensuremath{\vv{#1}}}}}
+\ifthenelse{\boolean{@optsinglemagbars}}
+ {\newcommand*{\magvect}[1]{\ensuremath{\absof{\vect{#1}}}}}
+ {\newcommand*{\magvect}[1]{\ensuremath{\magof{\vect{#1}}}}}
+\newcommand*{\magsquaredvect}[1]{\ensuremath{\magvect{#1}\squared}}
+\newcommand*{\magnvect}[2]{\ensuremath{\magvect{#1}^{#2}}}
+\newcommand*{\dmagvect}[1]{\ensuremath{\dx{\magvect{#1}}}}
+\newcommand*{\Dmagvect}[1]{\ensuremath{\Delta\!\magvect{#1}}}
+\ifthenelse{\boolean{@optboldvectors}}
+ {\newcommand*{\dirvect}[1]{\ensuremath{\widehat{\boldsymbol{#1}}}}}
+ {\ifthenelse{\boolean{@optromanvectors}}
+ {\newcommand*{\dirvect}[1]{\ensuremath{\widehat{\mathrm{#1}}}}}
+ {\newcommand*{\dirvect}[1]{\ensuremath{\widehat{#1}}}}}
+\newcommand*{\direction}[1]{\ensuremath{\mivector{#1}}}
+\newcommand*{\vectordirection}{\direction}
+\newcommand*{\factorvect}[1]{\magvect{#1}\dirvect{#1}}
+\newcommand*{\componentalong}[2]{\ensuremath{\mathrm{comp}_{#1}{#2}}}
+\newcommand*{\expcomponentalong}[2]{\ensuremath{\frac{\vectdotvect{#2}{#1}}
+{\magof{#1}}}}
+\newcommand*{\ucomponentalong}[2]{\ensuremath{\vectdotvect{#2}{#1}}}
+\newcommand*{\projectiononto}[2]{\ensuremath{\mathrm{proj}_{#1}{#2}}}
+\newcommand*{\expprojectiononto}[2]{\ensuremath{%
+ \inparens{\frac{\vectdotvect{#2}{#1}}{\magof{#1}}}\frac{#1}{\magof{#1}}}}
+\newcommand*{\uprojectiononto}[2]{\ensuremath{%
+ \inparens{\vectdotvect{#2}{#1}}#1}}
+\ifthenelse{\boolean{@optromanvectors}}
+ {\newcommand*{\compvect}[2]{\ensuremath{\ssub{\mathrm{#1}}{\(#2\)}}}}
+ {\newcommand*{\compvect}[2]{\ensuremath{\ssub{#1}{\(#2\)}}}}
+\newcommand*{\scompsvect}[1]{\ensuremath{\lv%
+ \compvect{#1}{x},%
+ \compvect{#1}{y},%
+ \compvect{#1}{z}\rv}}
+\newcommand*{\scompsdirvect}[1]{\ensuremath{\lv%
+ \compvect{\widehat{#1}}{x},%
+ \compvect{\widehat{#1}}{y},%
+ \compvect{\widehat{#1}}{z}\rv}}
+\ifthenelse{\boolean{@optromanvectors}}
+ {\newcommand*{\compdirvect}[2]{\ensuremath{%
+ \ssub{\widehat{\mathrm{#1}}}{\(#2\)}}}}
+ {\newcommand*{\compdirvect}[2]{\ensuremath{%
+ \ssub{\widehat{#1}}{\(#2\)}}}}
+\newcommand*{\magvectscomps}[1]{\ensuremath{\sqrt{%
+ \compvect{#1}{x}\squared +%
+ \compvect{#1}{y}\squared +%
+ \compvect{#1}{z}\squared}}}
+\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{#1}}}
+\newcommand*{\ddirection}{\ddirvect}
+\newcommand*{\Ddirvect}[1]{\ensuremath{\Delta\dirvect{#1}}}
+\newcommand*{\Ddirection}{\Ddirvect}
+\ifthenelse{\boolean{@optsinglemagbars}}
+ {\newcommand*{\magdvect}[1]{\ensuremath{\absof{\dvect{#1}}}}
+ \newcommand*{\magDvect}[1]{\ensuremath{\absof{\Dvect{#1}}}}}
+ {\newcommand*{\magdvect}[1]{\ensuremath{\magof{\dvect{#1}}}}
+ \newcommand*{\magDvect}[1]{\ensuremath{\magof{\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}{#2}}{#3}}}
+\newcommand*{\compDervect}[3]{\ensuremath{\DbyD{\compvect{#1}{#2}}{#3}}}
+\newcommand*{\scompsdervect}[2]{\ensuremath{\lv%
+ \compdervect{#1}{x}{#2},%
+ \compdervect{#1}{y}{#2},%
+ \compdervect{#1}{z}{#2}\rv}}
+\newcommand*{\scompsDervect}[2]{\ensuremath{\lv%
+ \compDervect{#1}{x}{#2},%
+ \compDervect{#1}{y}{#2},%
+ \compDervect{#1}{z}{#2}\rv}}
+\ifthenelse{\boolean{@optsinglemagbars}}
+ {\newcommand*{\magdervect}[2]{\ensuremath{\absof{\dervect{#1}{#2}}}}
+ \newcommand*{\magDervect}[2]{\ensuremath{\absof{\Dervect{#1}{#2}}}}}
+ {\newcommand*{\magdervect}[2]{\ensuremath{\magof{\dervect{#1}{#2}}}}
+ \newcommand*{\magDervect}[2]{\ensuremath{\magof{\Dervect{#1}{#2}}}}}
+\newcommand*{\dermagvect}[2]{\ensuremath{\dbyd{\magvect{#1}}{#2}}}
+\newcommand*{\Dermagvect}[2]{\ensuremath{\DbyD{\magvect{#1}}{#2}}}
+\newcommand*{\derdirvect}[2]{\ensuremath{\dbyd{\dirvect{#1}}{#2}}}
+\newcommand*{\derdirection}{\derdirvect}
+\newcommand*{\Derdirvect}[2]{\ensuremath{\DbyD{\dirvect{#1}}{#2}}}
+\newcommand*{\Derdirection}{\Derdirvect}
+\ifthenelse{\boolean{@optboldvectors}}
+ {\newcommand*{\vectsub}[2]{\ensuremath{\boldsymbol{#1}_{\text{\tiny{}#2}}}}}
+ {\ifthenelse{\boolean{@optromanvectors}}
+ {\newcommand*{\vectsub}[2]{\ensuremath{\vv{\mathrm{#1}}_{\text{\tiny{#2}}}}}}
+ {\newcommand*{\vectsub}[2]{\ensuremath{\vv{#1}_{\text{\tiny{#2}}}}}}}
+\ifthenelse{\boolean{@optromanvectors}}
+ {\newcommand*{\compvectsub}[3]{\ensuremath{\ssub{\mathrm{#1}}{#2,\(#3\)}}}}
+ {\newcommand*{\compvectsub}[3]{\ensuremath{\ssub{#1}{#2,\(#3\)}}}}
+\newcommand*{\scompsvectsub}[2]{\ensuremath{\lv%
+ \compvectsub{#1}{#2}{x},%
+ \compvectsub{#1}{#2}{y},%
+ \compvectsub{#1}{#2}{z}\rv}}
+\ifthenelse{\boolean{@optsinglemagbars}}
+ {\newcommand*{\magvectsub}[2]{\ensuremath{\absof{\vectsub{#1}{#2}}}}}
+ {\newcommand*{\magvectsub}[2]{\ensuremath{\magof{\vectsub{#1}{#2}}}}}
+\newcommand*{\magsquaredvectsub}[2]{\ensuremath{\magvectsub{#1}{#2}\squared}}
+\newcommand*{\magnvectsub}[3]{\ensuremath{\magvectsub{#1}{#2}^{#3}}}
+\newcommand*{\magvectsubscomps}[2]{\ensuremath{\sqrt{%
+ \compvectsub{#1}{#2}{x}\squared +%
+ \compvectsub{#1}{#2}{y}\squared +%
+ \compvectsub{#1}{#2}{z}\squared}}}
+\ifthenelse{\boolean{@optromanvectors}}
+ {\newcommand*{\dirvectsub}[2]{\ensuremath{\ssub{\widehat{\mathrm{#1}}}{#2}}}}
+ {\newcommand*{\dirvectsub}[2]{\ensuremath{\ssub{\widehat{#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{@optsinglemagbars}}
+ {\newcommand*{\magdervectsub}[3]{\ensuremath{\absof{\dervectsub{#1}{#2}{#3}}}}
+ \newcommand*{\magDervectsub}[3]{\ensuremath{\absof{\Dervectsub{#1}{#2}{#3}}}}}
+ {\newcommand*{\magdervectsub}[3]{\ensuremath{\magof{\dervectsub{#1}{#2}{#3}}}}
+ \newcommand*{\magDervectsub}[3]{\ensuremath{\magof{\Dervectsub{#1}{#2}{#3}}}}}
+\newcommand*{\compdervectsub}[4]{\ensuremath{\dbyd{\compvectsub{#1}{#2}{#3}}{#4}}}
+\newcommand*{\compDervectsub}[4]{\ensuremath{\DbyD{\compvectsub{#1}{#2}{#3}}{#4}}}
+\newcommand*{\scompsdervectsub}[3]{\ensuremath{\lv%
+ \compdervectsub{#1}{#2}{x}{#3},%
+ \compdervectsub{#1}{#2}{y}{#3},%
+ \compdervectsub{#1}{#2}{z}{#3}\rv}}
+\newcommand*{\scompsDervectsub}[3]{\ensuremath{\lv%
+ \compDervectsub{#1}{#2}{x}{#3},%
+ \compDervectsub{#1}{#2}{y}{#3},%
+ \compDervectsub{#1}{#2}{z}{#3}\rv}}
+\newcommand*{\vectdotvect}[2]{\ensuremath{{#1}\cdot{#2}}}
+\newcommand*{\vectDotvect}[2]{\ensuremath{{#1}\bullet{#2}}}
+\newcommand*{\vectdotsvect}[2]{\ensuremath{\scompsvect{#1}\cdot\scompsvect{#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*{\vectdotsdvect}[2]{\ensuremath{\scompsvect{#1}\cdot\scompsdvect{#2}}}
+\newcommand*{\vectDotsdvect}[2]{\ensuremath{\scompsvect{#1}\bullet\scompsdvect{#2}}}
+\newcommand*{\vectdotsDvect}[2]{\ensuremath{\scompsvect{#1}\cdot\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*{\vectsubdotsvectsub}[4]{\ensuremath{%
+ \scompsvectsub{#1}{#2}\cdot\scompsvectsub{#3}{#4}}}
+\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}\cdot\scompsdvectsub{#3}{#4}}}
+\newcommand*{\vectsubDotsdvectsub}[4]{\ensuremath{%
+ \scompsvectsub{#1}{#2}\bullet\scompsdvectsub{#3}{#4}}}
+\newcommand*{\vectsubdotsDvectsub}[4]{\ensuremath{%
+ \scompsvectsub{#1}{#2}\cdot\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}\cdot\scompsdvect{#3}}}
+\newcommand*{\vectsubDotsdvect}[3]{\ensuremath{%
+ \scompsvectsub{#1}{#2}\bullet\scompsdvect{#3}}}
+\newcommand*{\vectsubdotsDvect}[3]{\ensuremath{%
+ \scompsvectsub{#1}{#2}\cdot\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*{\dervectdotsvect}[3]{\ensuremath{%
+ \scompsdervect{#1}{#2}\cdot\scompsvect{#3}}}
+\newcommand*{\dervectDotsvect}[3]{\ensuremath{%
+ \scompsdervect{#1}{#2}\bullet\scompsvect{#3}}}
+\newcommand*{\Dervectdotsvect}[3]{\ensuremath{%
+ \scompsDervect{#1}{#2}\cdot\scompsvect{#3}}}
+\newcommand*{\DervectDotsvect}[3]{\ensuremath{%
+ \scompsDervect{#1}{#2}\bullet\scompsvect{#3}}}
+\newcommand*{\dervectdotevect}[3]{\ensuremath{%
+ \compdervect{#1}{x}{#2}\compvect{#3}{x}+%
+ \compdervect{#1}{y}{#2}\compvect{#3}{y}+%
+ \compdervect{#1}{z}{#2}\compvect{#3}{z}}}
+\newcommand*{\Dervectdotevect}[3]{\ensuremath{%
+ \compDervect{#1}{x}{#2}\compvect{#3}{x}+%
+ \compDervect{#1}{y}{#2}\compvect{#3}{y}+%
+ \compDervect{#1}{z}{#2}\compvect{#3}{z}}}
+\newcommand*{\vectdotsdervect}[3]{\ensuremath{%
+ \scompsvect{#1}\cdot\scompsdervect{#2}{#3}}}
+\newcommand*{\vectDotsdervect}[3]{\ensuremath{%
+ \scompsvect{#1}\bullet\scompsdervect{#2}{#3}}}
+\newcommand*{\vectdotsDervect}[3]{\ensuremath{%
+ \scompsvect{#1}\cdot\scompsDervect{#2}{#3}}}
+\newcommand*{\vectDotsDervect}[3]{\ensuremath{%
+ \scompsvect{#1}\bullet\scompsDervect{#2}{#3}}}
+\newcommand*{\vectdotedervect}[3]{\ensuremath{%
+ \compvect{#1}{x}\compdervect{#2}{x}{#3}+%
+ \compvect{#1}{y}\compdervect{#2}{y}{#3}+%
+ \compvect{#1}{z}\compdervect{#2}{z}{#3}}}
+\newcommand*{\vectdoteDervect}[3]{\ensuremath{%
+ \compvect{#1}{x}\compDervect{#2}{x}{#3}+%
+ \compvect{#1}{y}\compDervect{#2}{y}{#3}+%
+ \compvect{#1}{z}\compDervect{#2}{z}{#3}}}
+\newcommand*{\dervectdotsdvect}[3]{\ensuremath{%
+ \scompsdervect{#1}{#2}\cdot\scompsdvect{#3}}}
+\newcommand*{\dervectDotsdvect}[3]{\ensuremath{%
+ \scompsdervect{#1}{#2}\bullet\scompsdvect{#3}}}
+\newcommand*{\DervectdotsDvect}[3]{\ensuremath{%
+ \scompsDervect{#1}{#2}\cdot\scompsDvect{#3}}}
+\newcommand*{\DervectDotsDvect}[3]{\ensuremath{%
+ \scompsDervect{#1}{#2}\bullet\scompsDvect{#3}}}
+\newcommand*{\dervectdotedvect}[3]{\ensuremath{%
+ \compdervect{#1}{x}{#2}\compdvect{#3}{x}+%
+ \compdervect{#1}{y}{#2}\compdvect{#3}{y}+%
+ \compdervect{#1}{z}{#2}\compdvect{#3}{z}}}
+\newcommand*{\DervectdoteDvect}[3]{\ensuremath{%
+ \compDervect{#1}{x}{#2}\compDvect{#3}{x}+%
+ \compDervect{#1}{y}{#2}\compDvect{#3}{y}+%
+ \compDervect{#1}{z}{#2}\compDvect{#3}{z}}}
+\newcommand*{\vectcrossvect}[2]{\ensuremath{%
+ {#1}\boldsymbol{\times}{#2}}}
+\newcommand*{\ltriplecross}[3]{\ensuremath{%
+ \inparens{{#1}\boldsymbol{\times}{#2}}\boldsymbol{\times}{#3}}}
+\newcommand*{\rtriplecross}[3]{\ensuremath{{#1}\boldsymbol{\times}%
+ \inparens{{#2}\boldsymbol{\times}{#3}}}}
+\newcommand*{\ltriplescalar}[3]{\ensuremath{%
+ {#1}\boldsymbol{\times}{#2}\cdot{#3}}}
+\newcommand*{\ltripleScalar}[3]{\ensuremath{%
+ {#1}\boldsymbol{\times}{#2}\bullet{#3}}}
+\newcommand*{\rtriplescalar}[3]{\ensuremath{%
+ {#1}\cdot{#2}\boldsymbol{\times}{#3}}}
+\newcommand*{\rtripleScalar}[3]{\ensuremath{%
+ {#1}\bullet{#2}\boldsymbol{\times}{#3}}}
+\newcommand*{\ezero}{\ensuremath{\boldsymbol{e}_0}}
+\newcommand*{\eone}{\ensuremath{\boldsymbol{e}_1}}
+\newcommand*{\etwo}{\ensuremath{\boldsymbol{e}_2}}
+\newcommand*{\ethree}{\ensuremath{\boldsymbol{e}_3}}
+\newcommand*{\efour}{\ensuremath{\boldsymbol{e}_4}}
+\newcommand*{\ek}[1]{\ensuremath{\boldsymbol{e}_{#1}}}
+\newcommand*{\e}{\ek}
+\newcommand*{\uezero}{\ensuremath{\widehat{\boldsymbol{e}}_0}}
+\newcommand*{\ueone}{\ensuremath{\widehat{\boldsymbol{e}}_1}}
+\newcommand*{\uetwo}{\ensuremath{\widehat{\boldsymbol{e}}_2}}
+\newcommand*{\uethree}{\ensuremath{\widehat{\boldsymbol{e}}_3}}
+\newcommand*{\uefour}{\ensuremath{\widehat{\boldsymbol{e}}_4}}
+\newcommand*{\uek}[1]{\ensuremath{\widehat{\boldsymbol{e}}_{#1}}}
+\newcommand*{\ue}{\uek}
+\newcommand*{\ezerozero}{\ek{00}}
+\newcommand*{\ezeroone}{\ek{01}}
+\newcommand*{\ezerotwo}{\ek{02}}
+\newcommand*{\ezerothree}{\ek{03}}
+\newcommand*{\ezerofour}{\ek{04}}
+\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{\boldsymbol{e}^0}}
+\newcommand*{\euone}{\ensuremath{\boldsymbol{e}^1}}
+\newcommand*{\eutwo}{\ensuremath{\boldsymbol{e}^2}}
+\newcommand*{\euthree}{\ensuremath{\boldsymbol{e}^3}}
+\newcommand*{\eufour}{\ensuremath{\boldsymbol{e}^4}}
+\newcommand*{\euk}[1]{\ensuremath{\boldsymbol{e}^{#1}}}
+\newcommand*{\eu}{\euk}
+\newcommand*{\ueuzero}{\ensuremath{\widehat{\boldsymbol{e}}^0}}
+\newcommand*{\ueuone}{\ensuremath{\widehat{\boldsymbol{e}}^1}}
+\newcommand*{\ueutwo}{\ensuremath{\widehat{\boldsymbol{e}}^2}}
+\newcommand*{\ueuthree}{\ensuremath{\widehat{\boldsymbol{e}}^3}}
+\newcommand*{\ueufour}{\ensuremath{\widehat{\boldsymbol{e}}^4}}
+\newcommand*{\ueuk}[1]{\ensuremath{\widehat{\boldsymbol{e}}^{#1}}}
+\newcommand*{\ueu}{\ueuk}
+\newcommand*{\euzerozero}{\euk{00}}
+\newcommand*{\euzeroone}{\euk{01}}
+\newcommand*{\euzerotwo}{\euk{02}}
+\newcommand*{\euzerothree}{\euk{03}}
+\newcommand*{\euzerofour}{\euk{04}}
+\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{\boldsymbol{\gamma}_0}}
+\newcommand*{\gone}{\ensuremath{\boldsymbol{\gamma}_1}}
+\newcommand*{\gtwo}{\ensuremath{\boldsymbol{\gamma}_2}}
+\newcommand*{\gthree}{\ensuremath{\boldsymbol{\gamma}_3}}
+\newcommand*{\gfour}{\ensuremath{\boldsymbol{\gamma}_4}}
+\newcommand*{\gk}[1]{\ensuremath{\boldsymbol{\gamma}_{#1}}}
+\newcommand*{\g}{\gk}
+\newcommand*{\gzerozero}{\gk{00}}
+\newcommand*{\gzeroone}{\gk{01}}
+\newcommand*{\gzerotwo}{\gk{02}}
+\newcommand*{\gzerothree}{\gk{03}}
+\newcommand*{\gzerofour}{\gk{04}}
+\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{\boldsymbol{\gamma}^0}}
+\newcommand*{\guone}{\ensuremath{\boldsymbol{\gamma}^1}}
+\newcommand*{\gutwo}{\ensuremath{\boldsymbol{\gamma}^2}}
+\newcommand*{\guthree}{\ensuremath{\boldsymbol{\gamma}^3}}
+\newcommand*{\gufour}{\ensuremath{\boldsymbol{\gamma}^4}}
+\newcommand*{\guk}[1]{\ensuremath{\boldsymbol{\gamma}^{#1}}}
+\newcommand*{\gu}{\guk}
+\newcommand*{\guzerozero}{\guk{00}}
+\newcommand*{\guzeroone}{\guk{01}}
+\newcommand*{\guzerotwo}{\guk{02}}
+\newcommand*{\guzerothree}{\guk{03}}
+\newcommand*{\guzerofour}{\guk{04}}
+\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 % Vectors formated as in M\&I, written in LaTeX3
+\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 % Column and row vectors, written in LaTeX3
+\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{\scompsCvect}[2][1,usedefault]{%
+ \ifthenelse{\equal{#1}{}}%
+ {%
+ \colvector{\msup{#2}{1},\msup{#2}{2},\msup{#2}{3}}%
+ }%
+ {%
+ \colvector{\msup{#2}{0},\msup{#2}{1},\msup{#2}{2},\msup{#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}}%
+ }%
+}%
+\newcommandx{\scompsRvect}[2][1,usedefault]{%
+ \ifthenelse{\equal{#1}{}}%
+ {%
+ \rowvector[,]{\msup{#2}{1},\msup{#2}{2},\msup{#2}{3}}%
+ }%
+ {%
+ \rowvector[,]{\msup{#2}{0},\msup{#2}{1},\msup{#2}{2},\msup{#2}{3}}%
+ }%
+}%
+\newcommand*{\anglebetween}[2]{\ensuremath{\theta_{\vect{#1},\vect{#2}}}}
+\newcommand*{\bra}[1]{\ensuremath{\left\langle{#1}\right\lvert}}
+\newcommand*{\ket}[1]{\ensuremath{\left\lvert{#1}\right\rangle}}
+\newcommand*{\bracket}[2]{\ensuremath{\left\langle{#1}\!\!\right.%
+ \left\lvert{#2}\right\rangle}}
+\newphysicsconstant{oofpez}%
+ {\ensuremath{\frac{1}{\phantom{_o}4\pi\epsilon_0}}}%
+ {\mi@p{9}{8.9875517873681764}\timestento{9}}%
+ {\m\cubed\usk\kg\usk\reciprocalquartic\s\usk\A\reciprocalsquared}%
+ [\newton\usk\m\squared\per\coulomb\squared]%
+ [\m\per\farad]
+\newphysicsconstant{oofpezcs}%
+ {\ensuremath{\frac{1}{\phantom{_o}4\pi\epsilon_0 c^2\phantom{_o}}}}%
+ {\tento{-7}}%
+ {\m\usk\kg\usk\s\reciprocalsquared\usk\A\reciprocalsquared}%
+ [\N\usk\s\squared\per\C\squared]%
+ [\T\usk\m\squared]
+\newphysicsconstant{vacuumpermittivity}%
+ {\ensuremath{\epsilon_0}}%
+ {\mi@p{9.0}{8.854187817}\timestento{-12}}%
+ {\m\reciprocalcubed\usk\reciprocal\kg\usk\s\quarted\usk\A\squared}%
+ [\C\squared\per\N\usk\m\squared]%
+ [\F\per\m]
+\newphysicsconstant{mzofp}%
+ {\ensuremath{\frac{\phantom{_oo}\mu_0\phantom{_o}}{4\pi}}}%
+ {\tento{-7}}%
+ {\m\usk\kg\usk\s\reciprocalsquared\usk\A\reciprocalsquared}%
+ [\tesla\usk\m\per\A]%
+ [\henry\per\m]
+\newphysicsconstant{vacuumpermeability}%
+ {\ensuremath{\mu_0}}%
+ {4\pi\timestento{-7}}%
+ {\m\usk\kg\usk\s\reciprocalsquared\usk\A\reciprocalsquared}%
+ [\T\usk\m\per\A]%
+ [\henry\per\m]
+\newphysicsconstant{boltzmann}%
+ {\ensuremath{k_B}}%
+ {\mi@p{1.4}{1.38064852}\timestento{-23}}%
+ {\m\squared\usk\kg\usk\reciprocalsquare\s\usk\reciprocal\K}%
+ [\J\per\K]%
+ [\J\per\K]
+\newphysicsconstant{boltzmannineV}%
+ {\ensuremath{k_B}}%
+ {\mi@p{8.6}{8.6173303}\timestento{-5}}%
+ {\eV\usk\reciprocal\K}%
+ [\eV\per\K]%
+ [\eV\per\K]
+\newphysicsconstant{stefanboltzmann}%
+ {\ensuremath{\sigma}}%
+ {\mi@p{5.7}{5.670367}\timestento{-8}}%
+ {\kg\usk\s\reciprocalcubed\usk\K\reciprocalquarted}%
+ [\W\per\m\squared\usk\K\quarted]%
+ [\W\per\m\squared\usk\K\quarted]
+\newphysicsconstant{planck}%
+ {\ensuremath{h}}%
+ {\mi@p{6.6}{6.626070040}\timestento{-34}}%
+ {\m\squared\usk\kg\usk\reciprocal\s}%
+ [\J\usk\s]%
+ [\J\usk\s]
+\newphysicsconstant{planckineV}%
+ {\ensuremath{h}}%
+ {\mi@p{4.1}{4.135667662}\timestento{-15}}%
+ {\eV\usk\s}%
+ [\eV\usk\s]%
+ [\eV\usk\s]
+\newphysicsconstant{planckbar}%
+ {\ensuremath{\hslash}}%
+ {\mi@p{1.1}{1.054571800}\timestento{-34}}%
+ {\m\squared\usk\kg\usk\reciprocal\s}%
+ [\J\usk\s]%
+ [\J\usk\s]
+\newphysicsconstant{planckbarineV}%
+ {\ensuremath{\hslash}}%
+ {\mi@p{6.6}{6.582119514}\timestento{-16}}%
+ {\eV\usk\s}%
+ [\eV\usk\s]%
+ [\eV\usk\s]
+\newphysicsconstant{planckc}%
+ {\ensuremath{hc}}%
+ {\mi@p{2.0}{1.98644568}\timestento{-25}}%
+ {\m\cubed\usk\kg\usk\reciprocalsquare\s}%
+ [\J\usk\m]%
+ [\J\usk\m]
+\newphysicsconstant{planckcineV}%
+ {\ensuremath{hc}}%
+ {\mi@p{1240}{1.23984193}\timestento{3}}%
+ {\eV\usk\text{n}\m}%
+ [\eV\usk\text{n}\m]%
+ [\eV\usk\text{n}\m]
+\newphysicsconstant{rydberg}%
+ {\ensuremath{\msub{R}{\infty}}}%
+ {\mi@p{1.1}{1.0973731568508}\timestento{7}}%
+ {\reciprocal\m}%
+ [\reciprocal\m]%
+ [\reciprocal\m]
+\newphysicsconstant{bohrradius}%
+ {\ensuremath{a_0}}%
+ {\mi@p{5.3}{5.2917721067}\timestento{-11}}%
+ {\m}%
+ [\m]%
+ [\m]
+\newphysicsconstant{finestructure}%
+ {\ensuremath{\alpha}}%
+ {\mi@p{\frac{1}{137}}{7.2973525664\timestento{-3}}}%
+ {}%
+ []%
+ []
+\newphysicsconstant{avogadro}%
+ {\ensuremath{N_A}}%
+ {\mi@p{6.0}{6.022140857}\timestento{23}}%
+ {\reciprocal\mol}%
+ [\reciprocal\mol]%
+ [\reciprocal\mol]
+\newphysicsconstant{universalgrav}%
+ {\ensuremath{G}}%
+ {\mi@p{6.7}{6.67408}\timestento{-11}}%
+ {\m\cubed\usk\reciprocal\kg\usk\s\reciprocalsquared}%
+ [\N\usk\m\squared\per\kg\squared]%
+ [\J\usk\m\per\kg\squared]
+\newphysicsconstant{surfacegravfield}%
+ {\ensuremath{g}}%
+ {\mi@p{9.8}{9.807}}%
+ {\m\usk\s\reciprocalsquared}%
+ [\N\per\kg]%
+ [\N\per\kg]
+\newphysicsconstant{clight}%
+ {\ensuremath{c}}%
+ {\mi@p{3}{2.99792458}\timestento{8}}%
+ {\m\usk\reciprocal\s}%
+ [\m\per\s]%
+ [\m\per\s]
+\newphysicsconstant{clightinfeet}%
+ {\ensuremath{c}}%
+ {\mi@p{1}{0.983571}}%
+ {\text{ft}\usk\reciprocal{\text{n}\s}}%
+ [\text{ft}\per\text{n}\s]%
+ [\text{ft}\per\mathrm{n}\s]
+\newphysicsconstant{Ratom}%
+ {\ensuremath{r_{\text{atom}}}}%
+ {\tento{-10}}%
+ {\m}%
+ [\m]%
+ [\m]
+\newphysicsconstant{Mproton}%
+ {\ensuremath{m_p}}%
+ {\mi@p{1.7}{1.672621898}\timestento{-27}}%
+ {\kg}%
+ [\kg]%
+ [\kg]
+\newphysicsconstant{Mneutron}%
+ {\ensuremath{m_n}}%
+ {\mi@p{1.7}{1.674927471}\timestento{-27}}%
+ {\kg}%
+ [\kg]%
+ [\kg]
+\newphysicsconstant{Mhydrogen}%
+ {\ensuremath{m_H}}%
+ {\mi@p{1.7}{1.6737236}\timestento{-27}}%
+ {\kg}%
+ [\kg]%
+ [\kg]
+\newphysicsconstant{Melectron}%
+ {\ensuremath{m_e}}%
+ {\mi@p{9.1}{9.10938356}\timestento{-31}}%
+ {\kg}%
+ [\kg]%
+ [\kg]
+\newphysicsconstant{echarge}%
+ {\ensuremath{e}}%
+ {\mi@p{1.6}{1.6021766208}\timestento{-19}}%
+ {\A\usk\s}%
+ [\C]%
+ [\C]
+\newphysicsconstant{Qelectron}%
+ {\ensuremath{Q_e}}%
+ {-\echargevalue}%
+ {\A\usk\s}%
+ [\C]%
+ [\C]
+\newphysicsconstant{qelectron}%
+ {\ensuremath{q_e}}%
+ {-\echargevalue}%
+ {\A\usk\s}%
+ [\C]%
+ [\C]
+\newphysicsconstant{Qproton}%
+ {\ensuremath{Q_p}}%
+ {+\echargevalue}%
+ {\A\usk\s}%
+ [\C]%
+ [\C]
+\newphysicsconstant{qproton}%
+ {\ensuremath{q_p}}%
+ {+\echargevalue}%
+ {\A\usk\s}%
+ [\C]%
+ [\C]
+\newphysicsconstant{MEarth}%
+ {\ensuremath{M_{\text{Earth}}}}%
+ {\mi@p{6.0}{5.97237}\timestento{24}}%
+ {\kg}%
+ [\kg]%
+ [\kg]
+\newphysicsconstant{MMoon}%
+ {\ensuremath{M_{\text{Moon}}}}%
+ {\mi@p{7.3}{7.342}\timestento{22}}%
+ {\kg}%
+ [\kg]%
+ [\kg]
+\newphysicsconstant{MSun}%
+ {\ensuremath{M_{\text{Sun}}}}%
+ {\mi@p{2.0}{1.98855}\timestento{30}}%
+ {\kg}%
+ [\kg]%
+ [\kg]
+\newphysicsconstant{REarth}%
+ {\ensuremath{R_{\text{Earth}}}}%
+ {\mi@p{6.4}{6.371}\timestento{6}}%
+ {\m}%
+ [\m]%
+ [\m]
+\newphysicsconstant{RMoon}%
+ {\ensuremath{R_{\text{Moon}}}}%
+ {\mi@p{1.7}{1.7371}\timestento{6}}%
+ {\m}%
+ [\m]%
+ [\m]
+\newphysicsconstant{RSun}%
+ {\ensuremath{R_{\text{Sun}}}}%
+ {\mi@p{7.0}{6.957}\timestento{8}}%
+ {\m}%
+ [\m]%
+ [\m]
+\newphysicsconstant{ESdist}%
+ {\magvectsub{r}{ES}}%
+ {\mi@p{1.5}{1.496}\timestento{11}}%
+ {\m}%
+ [\m]%
+ [\m]
+\newphysicsconstant{SEdist}%
+ {\magvectsub{r}{SE}}%
+ {\mi@p{1.5}{1.496}\timestento{11}}%
+ {\m}%
+ [\m]%
+ [\m]
+\newphysicsconstant{EMdist}%
+ {\magvectsub{r}{EM}}%
+ {\mi@p{3.8}{3.81550}\timestento{8}}%
+ {\m}%
+ [\m]%
+ [\m]
+\newphysicsconstant{MEdist}%
+ {\magvectsub{r}{ME}}%
+ {\mi@p{3.8}{3.81550}\timestento{8}}%
+ {\m}%
+ [\m]%
+ [\m]
+\newphysicsconstant{LSun}%
+ {\ensuremath{L_{\text{Sun}}}}%
+ {\mi@p{3.8}{3.8460}\timestento{26}}%
+ {\m\squared\usk\kg\usk\s\reciprocalcubed}%
+ [\W]
+ [\J\per\s]
+\newphysicsconstant{TSun}%
+ {\ensuremath{T_{\text{Sun}}}}%
+ {\mi@p{5800}{5778}}%
+ {\K}%
+ [\K]%
+ [\K]
+\newphysicsconstant{MagSun}%
+ {\ensuremath{M_{\text{Sun}}}}%
+ {+4.83}%
+ {}%
+ []%
+ []
+\newphysicsconstant{magSun}%
+ {\ensuremath{m_{\text{Sun}}}}%
+ {-26.74}%
+ {}%
+ []%
+ []
+\newcommand*{\coulombconstant}{\oofpez}
+\newcommand*{\altcoulombconstant}{\oofpezcs}
+\newcommand*{\biotsavartconstant}{\mzofp}
+\newcommand*{\boltzmannconstant}{\boltzmann}
+\newcommand*{\stefanboltzmannconstant}{\stefanboltzmann}
+\newcommand*{\planckconstant}{\planck}
+\newcommand*{\reducedplanckconstant}{\planckbar}
+\newcommand*{\planckconstanttimesc}{\planckc}
+\newcommand*{\rydbergconstant}{\rydberg}
+\newcommand*{\finestructureconstant}{\finestructure}
+\newcommand*{\avogadroconstant}{\avogadro}
+\newcommand*{\universalgravitationalconstant}{\universalgrav}
+\newcommand*{\earthssurfacegravitationalfield}{\surfacegravfield}
+\newcommand*{\photonconstant}{\clight}
+\newcommand*{\elementarycharge}{\echarge}
+\newcommand*{\EarthSundistance}{\ESdist}
+\newcommand*{\SunEarthdistance}{\SEdist}
+\newcommand*{\EarthMoondistance}{\ESdist}
+\newcommand*{\MoonEarthdistance}{\SEdist}
+\newcommand*{\Lstar}[1][\(\star\)]{\ensuremath{L_{\text{#1}}}\xspace}
+\newcommand*{\Lsolar}{\ensuremath{\Lstar[\(\odot\)]}\xspace}
+\newcommand*{\Tstar}[1][\(\star\)]{\ensuremath{T_{\text{#1}}}\xspace}
+\newcommand*{\Tsolar}{\ensuremath{\Tstar[\(\odot\)]}\xspace}
+\newcommand*{\Rstar}[1][\(\star\)]{\ensuremath{R_{\text{#1}}}\xspace}
+\newcommand*{\Rsolar}{\ensuremath{\Rstar[\(\odot\)]}\xspace}
+\newcommand*{\Mstar}[1][\(\star\)]{\ensuremath{M_{\text{#1}}}\xspace}
+\newcommand*{\Msolar}{\ensuremath{\Mstar[\(\odot\)]}\xspace}
+\newcommand*{\Fstar}[1][\(\star\)]{\ensuremath{F_{\text{#1}}}\xspace}
+\newcommand*{\fstar}[1][\(\star\)]{\ensuremath{f_{\text{#1}}}\xspace}
+\newcommand*{\Fsolar}{\ensuremath{\Fstar[\(\odot\)]}\xspace}
+\newcommand*{\fsolar}{\ensuremath{\fstar[\(\odot\)]}\xspace}
+\newcommand*{\Magstar}[1][\(\star\)]{\ensuremath{M_{\text{#1}}}\xspace}
+\newcommand*{\magstar}[1][\(\star\)]{\ensuremath{m_{\text{#1}}}\xspace}
+\newcommand*{\Magsolar}{\ensuremath{\Magstar[\(\odot\)]}\xspace}
+\newcommand*{\magsolar}{\ensuremath{\magstar[\(\odot\)]}\xspace}
+\newcommand*{\Dstar}[1][\(\star\)]{\ensuremath{D_{\text{#1}}}\xspace}
+\newcommand*{\dstar}[1][\(\star\)]{\ensuremath{d_{\text{#1}}}\xspace}
+\newcommand*{\Dsolar}{\ensuremath{\Dstar[\(\odot\)]}\xspace}
+\newcommand*{\dsolar}{\ensuremath{\dstar[\(\odot\)]}\xspace}
+\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*{\twooneths}{\ensuremath{\frac{2}{1}}\xspace}
+\newcommand*{\twohalves}{\ensuremath{\frac{2}{2}}\xspace}
+\newcommand*{\twothirds}{\ensuremath{\frac{2}{3}}\xspace}
+\newcommand*{\twofourths}{\ensuremath{\frac{2}{4}}\xspace}
+\newcommand*{\twofifths}{\ensuremath{\frac{2}{5}}\xspace}
+\newcommand*{\twosixths}{\ensuremath{\frac{2}{6}}\xspace}
+\newcommand*{\twosevenths}{\ensuremath{\frac{2}{7}}\xspace}
+\newcommand*{\twoeighths}{\ensuremath{\frac{2}{8}}\xspace}
+\newcommand*{\twoninths}{\ensuremath{\frac{2}{9}}\xspace}
+\newcommand*{\twotenths}{\ensuremath{\frac{2}{10}}\xspace}
+\newcommand*{\threeoneths}{\ensuremath{\frac{3}{1}}\xspace}
+\newcommand*{\threehalves}{\ensuremath{\frac{3}{2}}\xspace}
+\newcommand*{\threethirds}{\ensuremath{\frac{3}{3}}\xspace}
+\newcommand*{\threefourths}{\ensuremath{\frac{3}{4}}\xspace}
+\newcommand*{\threefifths}{\ensuremath{\frac{3}{5}}\xspace}
+\newcommand*{\threesixths}{\ensuremath{\frac{3}{6}}\xspace}
+\newcommand*{\threesevenths}{\ensuremath{\frac{3}{7}}\xspace}
+\newcommand*{\threeeighths}{\ensuremath{\frac{3}{8}}\xspace}
+\newcommand*{\threeninths}{\ensuremath{\frac{3}{9}}\xspace}
+\newcommand*{\threetenths}{\ensuremath{\frac{3}{10}}\xspace}
+\newcommand*{\fouroneths}{\ensuremath{\frac{4}{1}}\xspace}
+\newcommand*{\fourhalves}{\ensuremath{\frac{4}{2}}\xspace}
+\newcommand*{\fourthirds}{\ensuremath{\frac{4}{3}}\xspace}
+\newcommand*{\fourfourths}{\ensuremath{\frac{4}{4}}\xspace}
+\newcommand*{\fourfifths}{\ensuremath{\frac{4}{5}}\xspace}
+\newcommand*{\foursixths}{\ensuremath{\frac{4}{6}}\xspace}
+\newcommand*{\foursevenths}{\ensuremath{\frac{4}{7}}\xspace}
+\newcommand*{\foureighths}{\ensuremath{\frac{4}{8}}\xspace}
+\newcommand*{\fourninths}{\ensuremath{\frac{4}{9}}\xspace}
+\newcommand*{\fourtenths}{\ensuremath{\frac{4}{10}}\xspace}
+\newcommand*{\sumoverall}[1]{\ensuremath{\displaystyle
+ \sum_{\substack{\text{\tiny{all }}\text{\tiny{{#1}}}}}}}
+\newcommand*{\dx}[1]{\ensuremath{\,\mathrm{d}{#1}}}
+\newcommand*{\dslashx}[1]{\ensuremath{\,\mathchar'26\mkern-12mu \mathrm{d}{#1}}}
+\newcommandx{\evaluatedfromto}[2][2,usedefault]{\ensuremath{%
+ \Bigg.\Bigg\rvert_{#1}^{#2}}}
+\newcommand*{\evaluatedat}{\evaluatedfromto}
+\newcommandx{\integral}[4][1,2,usedefault]{\ensuremath{%
+ \int_{\ifthenelse{\equal{#1}{}}{}{#4=#1}}^{\ifthenelse{%
+ \equal{#2}{}}{}{#4=#2}}}{#3}\dx{#4}}
+\newcommand*{\opensurfaceintegral}[2]{\ensuremath{%
+ \iint\nolimits_{#1}\vectdotvect{#2}{\dirvect{n}}\dx{A}}}
+\newcommand*{\closedsurfaceintegral}[2]{\ensuremath{%
+ \varoiint\nolimits_{#1}\vectdotvect{#2}{\dirvect{n}}\dx{A}}}
+\newcommand*{\openlineintegral}[2]{\ensuremath{%
+ \int\nolimits_{#1}\vectdotvect{#2}{\dirvect{t}}\dx{\ell}}}
+\newcommand*{\closedlineintegral}[2]{\ensuremath{%
+ \oint\nolimits_{#1}\vectdotvect{#2}{\dirvect{t}}\dx{\ell}}}
+\newcommand*{\volumeintegral}[2]{\ensuremath{%
+ \iiint\nolimits_{#1}{#2}\dx{V}}}
+\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}}}}
+\newcommandx{\seriesfofx}[1][1=x,usedefault]{\ensuremath{%
+ f({#1}) \approx f(a) + \frac{f^\prime (a)}{1!}({#1}-a) +
+ \frac{f^{\prime\prime}(a)}{2!}({#1}-a)^2 +
+ \frac{f^{\prime\prime\prime}(a)}{3!}({#1}-a)^3 + \ldots}\xspace}
+\newcommandx{\seriesexpx}[1][1=x,usedefault]{\ensuremath{%
+ e^{#1} \approx 1 + {#1} + \frac{{#1}^2}{2!} + \frac{{#1}^3}{3!} + \ldots}\xspace}
+\newcommandx{\seriessinx}[1][1=x,usedefault]{\ensuremath{%
+ \sin {#1} \approx {#1} - \frac{{#1}^3}{3!} + \frac{{#1}^5}{5!} - \ldots}\xspace}
+\newcommandx{\seriescosx}[1][1=x,usedefault]{\ensuremath{%
+ \cos {#1} \approx 1 - \frac{{#1}^2}{2!} + \frac{{#1}^4}{4!} - \ldots}\xspace}
+\newcommandx{\seriestanx}[1][1=x,usedefault]{\ensuremath{%
+ \tan {#1} \approx {#1} + \frac{{#1}^3}{3} + \frac{2{#1}^5}{15} + \ldots}\xspace}
+\newcommandx{\seriesatox}[1][1=x,usedefault]{\ensuremath{%
+ a^{#1} \approx 1 + {#1} \ln{a} + \frac{({#1} \ln a)^2}{2!} +
+ \frac{({#1} \ln a)^3}{3!} + \ldots}\xspace}
+\newcommandx{\serieslnoneplusx}[1][1=x,usedefault]{\ensuremath{%
+ \ln(1 \pm {#1}) \approx \pm\; {#1} - \frac{{#1}^2}{2} \pm \frac{{#1}^3}{3} - %
+ \frac{{#1}^4}{4} \pm \ldots}\xspace}
+\newcommandx{\binomialseries}[1][1=x,usedefault]{\ensuremath{%
+ (1 + {#1})^n \approx 1 + n{#1} + \frac{n(n-1)}{2!}{#1}^2 + \ldots}\xspace}
+\newcommand*{\gradient}{\ensuremath{\boldsymbol{\nabla}}}
+\newcommand*{\divergence}{\ensuremath{\boldsymbol{\nabla}\bullet}}
+\newcommand*{\curl}{\ensuremath{\boldsymbol{\nabla\times}}}
+\newcommand{\taigrad}{\ensuremath{\nabla}}%
+\newcommand{\taisvec}{\ensuremath{%
+ \stackinset{c}{0.07ex}{c}{0.1ex}{\tiny$-$}{$\nabla$}}
+}%
+\newcommand{\taidivg}{\ensuremath{%
+ \stackinset{c}{0.07ex}{c}{0.1ex}{$\cdot$}{$\nabla$}}
+}%
+\newcommand{\taicurl}{\ensuremath{%
+ \stackinset{c}{0.04ex}{c}{0.32ex}{\tiny$\times$}{$\nabla$}}
+}%
+\newcommand*{\laplacian}{\ensuremath{\boldsymbol{\nabla}^2}}
+\newcommand*{\dalembertian}{\ensuremath{\boldsymbol{\Box}}}
+\newcommand*{\diracdelta}[1]{\ensuremath{\delta}(#1)}
+\newcommand*{\orderof}[1]{\ensuremath{\mathcal{O}(#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*{\logb}[1][\relax]{\ensuremath{\log_{#1}}}
+\ifthenelse{\boolean{@optboldvectors}}
+ {\newcommand*{\cB}{\ensuremath{\boldsymbol{c\mskip -3.00mu B}}}}
+ {\ifthenelse{\boolean{@optromanvectors}}
+ {\newcommand*{\cB}{\ensuremath{\textsf{c}\mskip -3.00mu\mathrm{B}}}}
+ {\newcommand*{\cB}{\ensuremath{c\mskip -3.00mu B}}}}
+\newcommand*{\newpi}{\ensuremath{\pi\mskip -7.8mu\pi}}
+\newcommand*{\scripty}[1]{\ensuremath{\mathcalligra{#1}}}
+\newcommand*{\Lagr}{\ensuremath{\mathcal{L}}}
+\newcommandx{\flux}[1][1]{\ensuremath{\ssub{\Phi}{#1}}}
+\newcommandx{\circulation}[1][1]{\ensuremath{\ssub{\Gamma}{#1}}}
+\newcommand*{\absof}[1]{\ensuremath{%
+ \left\lvert{\ifblank{#1}{\:\_\:}{#1}}\right\rvert}}
+\newcommand*{\inparens}[1]{\ensuremath{%
+ \left({\ifblank{#1}{\:\_\:}{#1}}\right)}}
+\newcommand*{\magof}[1]{\ensuremath{%
+ \left\lVert{\ifblank{#1}{\:\_\:}{#1}}\right\rVert}}
+\newcommand*{\dimsof}[1]{\ensuremath{%
+ \left[{\ifblank{#1}{\:\_\:}{#1}}\right]}}
+\newcommand*{\unitsof}[1]{\ensuremath{%
+ \left[{\ifblank{#1}{\:\_\:}{#1}}\right]_u}}
+\newcommand*{\changein}[1]{\ensuremath{\delta{#1}}}
+\newcommand*{\Changein}[1]{\ensuremath{\Delta{#1}}}
+\newcommandx{\timestento}[2][2=\!\!,usedefault]{\ensuremath{%
+ \ifthenelse{\equal{#2}{}}
+ {\unit{\;\times\;10^{#1}}{}}
+ {\unit{\;\times\;10^{#1}}{#2}}}}
+\newcommand*{\xtento}{\timestento}
+\newcommandx{\tento}[2][2=\!\!,usedefault]{\ensuremath{%
+ \ifthenelse{\equal{#2}{}}
+ {\unit{10^{#1}}{}}
+ {\unit{10^{#1}}{#2}}}}
+\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]{\unit{#1}{\mkern-\thickmuskip\degree}}
+\newcommand*{\latitudeN}[1]{\unit{#1}{\mkern-\thickmuskip\degree\;\mathrm{N}}}
+\newcommand*{\latitudeS}[1]{\unit{#1}{\mkern-\thickmuskip\degree\;\mathrm{S}}}
+\newcommand*{\longitude}[1]{\unit{#1}{\mkern-\thickmuskip\degree}}
+\newcommand*{\longitudeE}[1]{\unit{#1}{\mkern-\thickmuskip\degree\;\mathrm{E}}}
+\newcommand*{\longitudeW}[1]{\unit{#1}{\mkern-\thickmuskip\degree\;\mathrm{W}}}
+\newcommand*{\ssub}[2]{\ensuremath{#1_{\text{#2}}}}
+\newcommand*{\ssup}[2]{\ensuremath{#1^{\text{#2}}}}
+\newcommand*{\ssud}[3]{\ensuremath{#1^{\text{#2}}_{\text{#3}}}}
+\newcommand*{\msub}[2]{\ensuremath{#1_{#2}}}
+\newcommand*{\msup}[2]{\ensuremath{#1^{#2}}}
+\newcommand*{\msud}[3]{\ensuremath{#1^{#2}_{#3}}}
+\newcommand*{\levicivita}[1]{\ensuremath{%
+ \varepsilon_{\scriptscriptstyle{#1}}}}
+\newcommand*{\kronecker}[1]{\ensuremath{%
+ \delta_{\scriptscriptstyle{#1}}}}
+\newcommand*{\xaxis}{\ensuremath{x\text{-axis}}\xspace}
+\newcommand*{\yaxis}{\ensuremath{y\text{-axis}}\xspace}
+\newcommand*{\zaxis}{\ensuremath{z\text{-axis}}\xspace}
+\newcommand*{\naxis}[1]{\ensuremath{{#1}\text{-axis}}\xspace}
+\newcommand*{\axis}{\ensuremath{\text{-axis}}\xspace}
+\newcommand*{\xyplane}{\ensuremath{xy\text{-plane}}\xspace}
+\newcommand*{\yzplane}{\ensuremath{yz\text{-plane}}\xspace}
+\newcommand*{\zxplane}{\ensuremath{zx\text{-plane}}\xspace}
+\newcommand*{\yxplane}{\ensuremath{yx\text{-plane}}\xspace}
+\newcommand*{\zyplane}{\ensuremath{zy\text{-plane}}\xspace}
+\newcommand*{\xzplane}{\ensuremath{xz\text{-plane}}\xspace}
+\newcommand*{\plane}{\ensuremath{\text{-plane}}\xspace}
+% Frequently used roots. Prepend |f| for fractional exponents.
+\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{{#1}^\onehalf}}
+\newcommand*{\fcuberoot}[1]{\ensuremath{{#1}^\onethird}}
+\newcommand*{\ffourthroot}[1]{\ensuremath{{#1}^\onefourth}}
+\newcommand*{\ffifthroot}[1]{\ensuremath{{#1}^\onefifth}}
+\newcommand*{\relgamma}[1]{\ensuremath{%
+ \frac{1}{\sqrt{1-\inparens{\frac{#1}{c}}\squared}}}}
+\newcommand*{\frelgamma}[1]{\ensuremath{%
+ \inparens{1-\frac{{#1}\squared}{c\squared}}^{-\onehalf}}}
+\newcommand*{\oosqrtomxs}[1]{\ensuremath{\frac{1}{\sqrt{1-{#1}\squared}}}}
+\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[\text\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*{\genericinteractionplaces}[5]{\ensuremath{\inparens{#1}
+ \frac{\inparens{#2}\inparens{#3}}{\inparens{#4}^2}{{\ifblank{#5}{%
+ \mivector{\_ , \_ , \_}}{#5}}}}}
+\newcommand*{\genericfieldofparticleplaces}[4]{\ensuremath{\inparens{#1}
+ \frac{\inparens{#2}}{\inparens{#3}^2}{{\ifblank{#4}{\mivector{\_ , \_ , \_}}{#4}}}}}
+\newcommand*{\genericpotentialenergyplaces}[4]{\ensuremath{%
+ \inparens{#1}\frac{\inparens{#2}\inparens{#3}}{\inparens{#4}}}}
+\newcommand*{\genericelectricdipoleplaces}[5]{%
+ \ensuremath{\inparens{#1}\frac{\inparens{#2}\inparens{#3}}{\inparens{#4}^3}%
+ {{\ifblank{#5}{\mivector{\_ , \_ , \_}}{#5}}}}}
+\newcommand*{\genericelectricdipoleonaxisplaces}[5]{%
+ \ensuremath{\inparens{#1}\frac{2\inparens{#2}\inparens{#3}}{\inparens{#4}^3}%
+ {{\ifblank{#5}{\mivector{\_ , \_ , \_}}{#5}}}}}
+\newcommand*{\gfieldofparticle}{\ensuremath{\universalgravmathsymbol\frac{M}%
+ {\magsquaredvect{r}}\inparens{-\dirvect{r}}}}
+\newcommand*{\gravitationalinteractionplaces}[4]{%
+ \genericinteractionplaces{\universalgrav}{#1}{#2}{#3}{#4}}
+\newcommand*{\gfieldofparticleplaces}[3]{%
+ \genericfieldofparticleplaces{\universalgrav}{#1}{#2}{#3}}
+\newcommand*{\electricinteractionplaces}[4]{%
+ \genericinteractionplaces{\oofpez}{#1}{#2}{#3}{#4}}
+\newcommand*{\Efieldofparticleplaces}[3]{%
+ \genericfieldofparticleplaces{\oofpez}{#1}{#2}{#3}}
+\newcommand*{\Bfieldofparticleplaces}[5]{\ensuremath{\inparens{\mzofp}%
+ \frac{\inparens{#1}\inparens{#2}}{\inparens{#3}^2}{{\ifblank{#4}{%
+ \mivector{\_ , \_ , \_}}{#4}}}\times{{\ifblank{#5}{\mivector{\_ , \_ , \_}}{#5}}}}}
+\newcommand*{\springinteractionplaces}[3]{\ensuremath{\inparens{#1}
+ \inparens{#2}{{\ifblank{#3}{\mivector{\_ , \_ , \_}}{#3}}}}}
+\newcommand*{\gravitationalpotentialenergyplaces}[3]{\ensuremath{%
+ -\genericpotentialenergyplaces{\universalgrav}{#1}{#2}{#3}}}
+\newcommand*{\electricpotentialenergyplaces}[3]{%
+ \genericpotentialenergyplaces{\oofpez}{#1}{#2}{#3}}
+\newcommand*{\springpotentialenergyplaces}[2]{\ensuremath{%
+ \onehalf\inparens{#1}\inparens{#2}^2}}
+\newcommand*{\electricdipoleonaxisplaces}[4]{%
+ \genericelectricdipoleonaxisplaces{\oofpez}{\absof{#1}}{#2}{#3}{{\ifblank{#4}{%
+ \mivector{\_ , \_ , \_}}{#4}}}}
+\newcommand*{\electricdipoleonbisectorplaces}[4]{%
+ \genericelectricdipoleplaces{\oofpez}{\absof{#1}}{#2}{#3}{{\ifblank{#4}{%
+ \mivector{\_ , \_ , \_}}{#4}}}}
+\newcommand{\define}[2]{\newcommand{#1}{#2}}
+\newcommand*{\momentumprinciple}{\ensuremath{%
+ \vectsub{p}{sys,final}=\vectsub{p}{sys,initial}+\Fnetsys\Delta t}}
+\newcommand*{\LHSmomentumprinciple}{\ensuremath{\vectsub{p}{sys,final}}}
+\newcommand*{\RHSmomentumprinciple}{\ensuremath{%
+ \vectsub{p}{sys,initial}+\Fnetsys\Delta t}}
+\newcommand*{\momentumprinciplediff}{\ensuremath{%
+ \Dvectsub{p}{sys}=\Fnetsys\Delta t}}
+\newcommand*{\energyprinciple}{\ensuremath{%
+ \ssub{E}{sys,final}=\ssub{E}{sys,initial}+W+Q}}
+\newcommand*{\LHSenergyprinciple}{\ensuremath{\ssub{E}{sys,final}}}
+\newcommand*{\RHSenergyprinciple}{\ensuremath{\ssub{E}{sys,initial}+W+Q}}
+\newcommand*{\energyprinciplediff}{\ensuremath{\Delta\ssub{E}{sys}=W+Q}}
+\newcommand*{\angularmomentumprinciple}{\ensuremath{%
+ \vectsub{L}{\(A\),sys,final}=\vectsub{L}{\(A\),sys,initial}+\Tsub{net}\Delta t}}
+\newcommand*{\LHSangularmomentumprinciple}{\ensuremath{%
+ \vectsub{L}{\(A\),sys,final}}}
+\newcommand*{\RHSangularmomentumprinciple}{\ensuremath{%
+ \vectsub{L}{\(A\),sys,initial}+\Tsub{net}\Delta t}}
+\newcommand*{\angularmomentumprinciplediff}{\ensuremath{%
+ \Dvectsub{L}{\(A\),sys}=\Tsub{net}\Delta t}}
+\newcommand*{\gravitationalinteraction}{\ensuremath{%
+ \universalgravmathsymbol\frac{\msub{M}{1}\msub{M}{2}}{%
+ \magvectsub{r}{12}\squared}(-\dirvectsub{r}{12})}}
+\newcommand*{\electricinteraction}{\ensuremath{%
+ \oofpezmathsymbol\frac{\msub{Q}{1}\msub{Q}{2}}{\magvectsub{r}{12}\squared}
+ \dirvectsub{r}{12}}}
+\newcommand*{\springinteraction}{\ensuremath{\ks\magvect{s}(-\dirvect{s})}}
+\newcommand*{\Bfieldofparticle}{\ensuremath{%
+ \mzofpmathsymbol\frac{Q\magvect{v}}{\magsquaredvect{r}}\dirvect{v}\times
+ \dirvect{r}}}
+\newcommand*{\Efieldofparticle}{\ensuremath{%
+ \oofpezmathsymbol\frac{Q}{\magsquaredvect{r}}\dirvect{r}}}
+\newcommandx{\Esys}[1][1]{\ifthenelse{%
+ \equal{#1}{}}{\ssub{E}{sys}}{\ssub{E}{sys,#1}}}
+\newcommandx{\Us}[1][1]{\ifthenelse{%
+ \equal{#1}{}}{\ssub{U}{\(s\)}}{\ssub{U}{\(s\),#1}}}
+\newcommandx{\Ug}[1][1]{\ifthenelse{%
+ \equal{#1}{}}{\ssub{U}{\(g\)}}{\ssub{U}{\(g\),#1}}}
+\newcommandx{\Ue}[1][1]{\ifthenelse{%
+ \equal{#1}{}}{\ssub{U}{\(e\)}}{\ssub{U}{\(e\),#1}}}
+\newcommandx{\Ktrans}[1][1]{\ifthenelse{\equal{#1}{}}{\ssub{K}{trans}}
+ {\ssub{K}{trans,#1}}}
+\newcommandx{\Krot}[1][1]{\ifthenelse{%
+ \equal{#1}{}}{\ssub{K}{rot}}{\ssub{K}{rot,#1}}}
+\newcommandx{\Kvib}[1][1]{\ifthenelse{%
+ \equal{#1}{}}{\ssub{K}{vib}}{\ssub{K}{vib,#1}}}
+\newcommandx{\Eparticle}[1][1]{\ifthenelse{\equal{#1}{}}{\ssub{E}{particle}}
+ {\ssub{E}{particle,#1}}}
+\newcommandx{\Einternal}[1][1]{\ifthenelse{\equal{#1}{}}{\ssub{E}{internal}}
+ {\ssub{E}{internal,#1}}}
+\newcommandx{\Erest}[1][1]{\ifthenelse{\equal{#1}{}}{\ssub{E}{rest}}{\ssub{E}
+ {rest,#1}}}
+\newcommandx{\Echem}[1][1]{\ifthenelse{\equal{#1}{}}{\ssub{E}{chem}}{\ssub{E}
+ {chem,#1}}}
+\newcommandx{\Etherm}[1][1]{\ifthenelse{\equal{#1}{}}{\ssub{E}{therm}}
+ {\ssub{E}{therm,#1}}}
+\newcommandx{\Evib}[1][1]{\ifthenelse{%
+ \equal{#1}{}}{\ssub{E}{vib}}{\ssub{E}{vib,#1}}}
+\newcommandx{\Ephoton}[1][1]{\ifthenelse{\equal{#1}{}}{\ssub{E}{photon}}
+ {\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*{\DKvib}{\Changein\Kvib}
+\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*{\springpotentialenergy}{\onehalf\ks\magsquaredvect{s}}
+\newcommand*{\finalspringpotentialenergy}
+ {\ssub{\left(\springpotentialenergy\right)}{\!\!final}}
+\newcommand*{\initialspringpotentialenergy}
+ {\ssub{\left(\springpotentialenergy\right)}{\!\!initial}}
+\newcommand*{\gravitationalpotentialenergy}{\ensuremath{%
+ -G\frac{\msub{M}{1}\msub{M}{2}}{\magvectsub{r}{12}}}}
+\newcommand*{\finalgravitationalpotentialenergy}
+ {\ssub{\left(\gravitationalpotentialenergy\right)}{\!\!final}}
+\newcommand*{\initialgravitationalpotentialenergy}
+ {\ssub{\left(\gravitationalpotentialenergy\right)}{\!\!initial}}
+\newcommand*{\electricpotentialenergy}{\ensuremath{%
+ \oofpezmathsymbol\frac{\ssub{Q}{1}\ssub{Q}{2}}{\magvectsub{r}{12}}}}
+\newcommand*{\finalelectricpotentialenergy}
+ {\ssub{\left(\electricpotentialenergy\right)}{\!\!final}}
+\newcommand*{\initialelectricpotentialenergy}
+ {\ssub{\left(\electricpotentialenergy\right)}{\!\!initial}}
+\newcommand*{\ks}{\msub{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*{\Ltotal}{\ensuremath{\vectsub{L}{\(A\),total}}}
+\newcommand*{\Lsys}{\ensuremath{\vectsub{L}{\(A\),sys}}}
+\newcommand*{\Lsub}[1]{\ensuremath{\vectsub{L}{\(A\),{#1}}}}
+\newcommand*{\Tnet}{\ensuremath{\vectsub{\tau}{\(A\),net}}}
+\newcommand*{\Tnetext}{\ensuremath{\vectsub{\tau}{\(A\),net,ext}}}
+\newcommand*{\Tnetsys}{\ensuremath{\vectsub{\tau}{\(A\),net,sys}}}
+\newcommand*{\Tsub}[1]{\ensuremath{\vectsub{\tau}{\(A\),#1}}}
+\newcommand*{\LHSmaxwelliint}[1][\partial V]{\ensuremath{%
+ \closedsurfaceintegral{#1}{\vect{E}}}}
+\newcommand*{\RHSmaxwelliint}{\ensuremath{\frac{\ssub{Q}{\(e\),net}}%
+ {\vacuumpermittivitymathsymbol}}}
+\newcommand*{\RHSmaxwelliinta}[1][V]{\ensuremath{%
+ \frac{1}{\vacuumpermittivitymathsymbol}\volumeintegral{#1}{\msub{\rho}{e}}}}
+\newcommand*{\RHSmaxwelliintfree}{\ensuremath{0}}
+\newcommand*{\maxwelliint}[1][\partial V]{\ensuremath{%
+ \LHSmaxwelliint[#1]=\RHSmaxwelliint}}
+\newcommandx*{\maxwelliinta}[2][1={\partial V},2={V},usedefault]{\ensuremath{%
+ \LHSmaxwelliint[#1]=\RHSmaxwelliinta[#2]}}
+\newcommand*{\maxwelliintfree}[1][\partial V]{\ensuremath{%
+ \LHSmaxwelliint[#1]=\RHSmaxwelliintfree}}
+\newcommand*{\LHSmaxwelliiint}[1][\partial V]{\ensuremath{%
+ \closedsurfaceintegral{#1}{\vect{B}}}}
+\newcommand*{\RHSmaxwelliiint}{\ensuremath{0}}
+\newcommand*{\RHSmaxwelliiintm}{\ensuremath{%
+ \vacuumpermeabilitymathsymbol\ssub{Q}{\(m\),net}}}
+\newcommand*{\RHSmaxwelliiintma}[1][V]{\ensuremath{%
+ \vacuumpermeabilitymathsymbol\volumeintegral{#1}{\msub{\rho}{m}}}}
+\newcommand*{\RHSmaxwelliiintfree}{\ensuremath{0}}
+\newcommand*{\maxwelliiint}[1][\partial V]{\ensuremath{%
+ \LHSmaxwelliiint[#1]=\RHSmaxwelliiint}}
+\newcommand*{\maxwelliiintm}[1][\partial V]{\ensuremath{%
+ \LHSmaxwelliiint[#1]=\RHSmaxwelliiintm}}
+\newcommandx*{\maxwelliiintma}[2][1={\partial V},2={V},usedefault]{\ensuremath{%
+ \LHSmaxwelliiint[#1]=\RHSmaxwelliiintma[#2]}}
+\newcommand*{\maxwelliiintfree}[1][\partial V]{\ensuremath{%
+ \LHSmaxwelliiint[#1]=\RHSmaxwelliiintfree}}
+\newcommand*{\LHSmaxwelliiiint}[1][\partial\Omega]{\ensuremath{%
+ \closedlineintegral{#1}{\vect{E}}}}
+\newcommand*{\RHSmaxwelliiiint}[1][\Omega]{\ensuremath{%
+ -\dbydt\opensurfaceintegral{#1}{\vect{B}}}}
+\newcommand*{\RHSmaxwelliiiintm}[1][\Omega]{\ensuremath{%
+ -\dbydt\opensurfaceintegral{#1}{\vect{B}}%
+ -\vacuumpermeabilitymathsymbol\ssub{I}{\(m\),net}}}
+\newcommand*{\RHSmaxwelliiiintma}[1][\Omega]{\ensuremath{%
+ -\dbydt\opensurfaceintegral{#1}{\vect{B}}%
+ -\vacuumpermeabilitymathsymbol\opensurfaceintegral{#1}{\vectsub{J}{\(m\)}}}}
+\newcommand*{\RHSmaxwelliiiintfree}{\RHSmaxwelliiiint}
+\newcommandx*{\maxwelliiiint}[2][1={\partial\Omega},2={\Omega},usedefault]%
+ {\ensuremath{\LHSmaxwelliiiint[#1]=\RHSmaxwelliiiint[#2]}}
+\newcommandx*{\maxwelliiiintm}[2][1={\partial\Omega},2={\Omega},usedefault]%
+ {\ensuremath{\LHSmaxwelliiiint[#1]=\RHSmaxwelliiiintm[#2]}}
+\newcommandx*{\maxwelliiiintma}[2][1={\partial\Omega},2={\Omega},usedefault]%
+ {\ensuremath{\LHSmaxwelliiiint[#1]=\RHSmaxwelliiiintma[#2]}}
+\newcommand*{\maxwelliiiintfree}{\maxwelliiiint}
+\newcommand*{\LHSmaxwellivint}[1][\partial\Omega]{\ensuremath{%
+ \closedlineintegral{#1}{\vect{B}}}}
+\newcommand*{\RHSmaxwellivint}[1][\Omega]{\ensuremath{%
+ \vacuumpermeabilitymathsymbol\vacuumpermittivitymathsymbol%
+ \dbydt\opensurfaceintegral{#1}{\vect{E}}+%
+ \vacuumpermeabilitymathsymbol\ssub{I}{\(e\),net}}}
+\newcommand*{\RHSmaxwellivinta}[1][\Omega]{\ensuremath{%
+ \vacuumpermeabilitymathsymbol\vacuumpermittivitymathsymbol%
+ \dbydt\opensurfaceintegral{#1}{\vect{E}}+%
+ \vacuumpermeabilitymathsymbol\opensurfaceintegral{#1}{\vectsub{J}{\(e\)}}}}
+\newcommand*{\RHSmaxwellivintfree}[1][\Omega]{\ensuremath{%
+ \vacuumpermeabilitymathsymbol\vacuumpermittivitymathsymbol%
+ \dbydt\opensurfaceintegral{#1}{\vect{E}}}}
+\newcommandx*{\maxwellivint}[2][1={\partial\Omega},2={\Omega},usedefault]%
+ {\ensuremath{\LHSmaxwellivint[#1]=\RHSmaxwellivint[#2]}}
+\newcommandx*{\maxwellivinta}[2][1={\partial\Omega},2={\Omega},usedefault]%
+ {\ensuremath{\LHSmaxwellivint[#1]=\RHSmaxwellivinta[#2]}}
+\newcommandx*{\maxwellivintfree}[2][1={\partial\Omega},2={\Omega},usedefault]%
+ {\ensuremath{\LHSmaxwellivint[#1]=\RHSmaxwellivintfree[#2]}}
+\newcommand*{\LHSmaxwellidif}{\ensuremath{\divergence{\vect{E}}}}
+\newcommand*{\RHSmaxwellidif}{\ensuremath{\frac{\msub{\rho}{e}}
+ {\vacuumpermittivitymathsymbol}}}
+\newcommand*{\RHSmaxwellidiffree}{\ensuremath{0}}
+\newcommand*{\maxwellidif}{\ensuremath{\LHSmaxwellidif=\RHSmaxwellidif}}
+\newcommand*{\maxwellidiffree}{\ensuremath{\LHSmaxwellidif=\RHSmaxwellidiffree}}
+\newcommand*{\LHSmaxwelliidif}{\ensuremath{\divergence{\vect{B}}}}
+\newcommand*{\RHSmaxwelliidif}{\ensuremath{0}}
+\newcommand*{\RHSmaxwelliidifm}{\ensuremath{\vacuumpermeabilitymathsymbol%
+ \msub{\rho}{m}}}
+\newcommand*{\RHSmaxwelliidiffree}{\ensuremath{0}}
+\newcommand*{\maxwelliidif}{\ensuremath{\LHSmaxwelliidif=\RHSmaxwelliidif}}
+\newcommand*{\maxwelliidifm}{\ensuremath{\LHSmaxwelliidif=\RHSmaxwelliidifm}}
+\newcommand*{\maxwelliidiffree}{\ensuremath{\LHSmaxwelliidif=\RHSmaxwelliidiffree}}
+\newcommand*{\LHSmaxwelliiidif}{\ensuremath{\curl{\vect{E}}}}
+\newcommand*{\RHSmaxwelliiidif}{\ensuremath{-\pbypt[\vect{B}]}}
+\newcommand*{\RHSmaxwelliiidifm}{\ensuremath{-\pbypt[\vect{B}]-%
+ \vacuumpermeabilitymathsymbol\vectsub{J}{\(m\)}}}
+\newcommand*{\RHSmaxwelliiidiffree}{\RHSmaxwelliiidif}
+\newcommand*{\maxwelliiidif}{\ensuremath{\LHSmaxwelliiidif=\RHSmaxwelliiidif}}
+\newcommand*{\maxwelliiidifm}{\ensuremath{\LHSmaxwelliiidif=\RHSmaxwelliiidifm}}
+\newcommand*{\maxwelliiidiffree}{\ensuremath{\LHSmaxwelliiidif=\RHSmaxwelliiidif}}
+\newcommand*{\LHSmaxwellivdif}{\ensuremath{\curl{\vect{B}}}}
+\newcommand*{\RHSmaxwellivdif}{\ensuremath{\vacuumpermeabilitymathsymbol%
+ \vacuumpermittivitymathsymbol\pbypt[\vect{E}]+%
+ \vacuumpermeabilitymathsymbol\vectsub{J}{\(e\)}}}
+\newcommand*{\RHSmaxwellivdiffree}{\ensuremath{\vacuumpermeabilitymathsymbol
+ \vacuumpermittivitymathsymbol\pbypt[\vect{E}]}}
+\newcommand*{\maxwellivdif}{\ensuremath{\LHSmaxwellivdif=\RHSmaxwellivdif}}
+\newcommand*{\maxwellivdiffree}{\ensuremath{\LHSmaxwellivdif=\RHSmaxwellivdiffree}}
+\newcommand*{\RHSlorentzforce}{\ensuremath{\msub{q}{e}\left(\vect{E}+%
+ \vectcrossvect{\vect{v}}{\vect{B}}\right)}}
+\newcommand*{\RHSlorentzforcem}{\ensuremath{\RHSlorentzforce+\msub{q}{m}\left(%
+ \vect{B}-\vectcrossvect{\vect{v}}{\frac{\vect{E}}{c^2}}\right)}}
+\newcommandx{\eulerlagrange}[1][1={q_i},usedefault]{\ensuremath{%
+ \pbyp{\mathcal{L}}{#1}-\dbydt\inparens{\pbyp{\mathcal{L}}{\dot{#1}}} = 0}}
+\newcommandx{\Eulerlagrange}[1][1={q_i},usedefault]{\ensuremath{%
+ \DbyD{\mathcal{L}}{#1}-\DbyDt\inparens{\DbyD{\mathcal{L}}{\dot{#1}}} = 0}}
+\newcommand*{\vpythonline}{\lstinline[style=vpython]}
+\newcommand*{\glowscriptline}{\lstinline[style=vpython]}
+\lstnewenvironment{vpythonblock}[2]{%
+ \lstset{style=vpython,caption={#1},label={#2}}}{}
+\lstnewenvironment{glowscriptblock}[2]{%
+ \lstset{style=vpython,caption={#1},label={#2}}}{}
+\newcommand*{\vpythonfile}[3]{%
+ \newpage\lstinputlisting[style=vpython,caption={#1},label={#2}]{#3}}
+\newcommand*{\glowscriptfile}[3]{%
+ \newpage\lstinputlisting[style=vpython,caption={#1},label={#2}]{#3}}
+\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{\smallanswerform}[4][1=q1,2=Response,3=0.10,4=0.90,usedefault]{%
+ \vspace{\baselineskip}%
+ \begin{Form}
+ \begin{center}%
+ \TextField[value={#2},%
+ name=#1,%
+ width=#4\linewidth,%
+ height=#3\textheight,%
+ backgroundcolor=formcolor,%
+ multiline=true,%
+ charsize=10pt,%
+ bordercolor=black]{}%
+ \end{center}%
+ \end{Form}%
+ \vspace{\baselineskip}%
+}%
+\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{\mediumanswerform}[4][1=q1,2=Response,3=0.20,4=0.90,usedefault]{%
+ \vspace{\baselineskip}%
+ \begin{Form}
+ \begin{center}%
+ \TextField[value={#2},%
+ name=#1,%
+ width=#4\linewidth,%
+ height=#3\textheight,%
+ backgroundcolor=formcolor,%
+ multiline=true,%
+ charsize=10pt,%
+ bordercolor=black]{}%
+ \end{center}%
+ \end{Form}%
+ \vspace{\baselineskip}%
+}%
+\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{\largeanswerform}[4][1=q1,2=Response,3=0.25,4=0.90,usedefault]{%
+ \vspace{\baselineskip}%
+ \begin{Form}
+ \begin{center}%
+ \TextField[value={#2},%
+ name=#1,%
+ width=#4\linewidth,%
+ height=#3\textheight,%
+ backgroundcolor=formcolor,%
+ multiline=true,%
+ charsize=10pt,%
+ bordercolor=black]{}%
+ \end{center}%
+ \end{Form}%
+ \vspace{\baselineskip}%
+}%
+\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{\largeranswerform}[4][1=q1,2=Response,3=0.33,4=0.90,%
+ usedefault]{%
+ \vspace{\baselineskip}%
+ \begin{Form}
+ \begin{center}%
+ \TextField[value={#2},%
+ name=#1,%
+ width=#4\linewidth,%
+ height=#3\textheight,%
+ backgroundcolor=formcolor,%
+ multiline=true,%
+ charsize=10pt,%
+ bordercolor=black]{}%
+ \end{center}%
+ \end{Form}%
+ \vspace{\baselineskip}%
+}%
+\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{\hugeanswerform}[4][1=q1,2=Response,3=0.50,4=0.90,usedefault]{%
+ \vspace{\baselineskip}%
+ \begin{Form}
+ \begin{center}%
+ \TextField[value={#2},%
+ name=#1,%
+ width=#4\linewidth,%
+ height=#3\textheight,%
+ backgroundcolor=formcolor,%
+ multiline=true,%
+ charsize=10pt,%
+ bordercolor=black]{}%
+ \end{center}%
+ \end{Form}%
+ \vspace{\baselineskip}%
+}%
+\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{\hugeranswerform}[4][1=q1,2=Response,3=0.75,4=0.90,usedefault]{%
+ \vspace{\baselineskip}%
+ \begin{Form}
+ \begin{center}%
+ \TextField[value={#2},%
+ name=#1,%
+ width=#4\linewidth,%
+ height=#3\textheight,%
+ backgroundcolor=formcolor,%
+ multiline=true,%
+ charsize=10pt,%
+ bordercolor=black]{}%
+ \end{center}%
+ \end{Form}%
+ \vspace{\baselineskip}%
+}%
+\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]}%
+}%
+\newcommandx{\fullpageanswerform}[4][1=q1,2=Response,3=1.00,4=0.90,usedefault]{%
+ \vspace{\baselineskip}%
+ \begin{Form}
+ \begin{center}%
+ \TextField[value={#2},%
+ name=#1,%
+ width=#4\linewidth,%
+ height=#3\textheight,%
+ backgroundcolor=formcolor,%
+ multiline=true,%
+ charsize=10pt,%
+ bordercolor=black]{}%
+ \end{center}%
+ \end{Form}%
+ \vspace{\baselineskip}%
+}%
+\mdfdefinestyle{miinstructornotestyle}{%
+ hidealllines=false,skipbelow=\baselineskip,skipabove=\baselineskip,
+ leftmargin=40pt,rightmargin=40pt,linewidth=1,roundcorner=10,
+ nobreak=true,
+ 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,
+ nobreak=true,
+ 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,
+ nobreak=true,
+ 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}
+}%
+\NewEnviron{miderivation*}{%
+ \begin{mdframed}[style=miderivationstyle]
+ \setcounter{equation}{0}
+ \begin{align*}
+ \BODY
+ \end{align*}
+ \end{mdframed}
+}%
+\mdfdefinestyle{mistandardstyle}{%
+ hidealllines=false,skipbelow=\baselineskip,skipabove=\baselineskip,
+ leftmargin=40pt,rightmargin=40pt,linewidth=1,roundcorner=10,
+ nobreak=true,
+ frametitle={STANDARD},
+ frametitlebackgroundcolor=cyan!60,frametitlerule=true,frametitlerulewidth=1,
+ backgroundcolor=cyan!25,
+ linecolor=black,fontcolor=black,shadow=true}
+\NewEnviron{mistandard}{%
+ \begin{mdframed}[style=mistandardstyle]
+ \begin{adjactivityanswer}[cyan!25][cyan!25][black]
+ \BODY
+ \end{adjactivityanswer}
+ \end{mdframed}
+}%
+\mdfdefinestyle{bwinstructornotestyle}{%
+ hidealllines=false,skipbelow=\baselineskip,skipabove=\baselineskip,
+ leftmargin=40pt,rightmargin=40pt,linewidth=1,roundcorner=10,
+ nobreak=true,
+ 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,
+ nobreak=true,
+ 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,
+ nobreak=true,
+ 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}
+}%
+\NewEnviron{bwderivation*}{%
+ \begin{mdframed}[style=bwderivationstyle]
+ \setcounter{equation}{0}
+ \begin{align*}
+ \BODY
+ \end{align*}
+ \end{mdframed}
+}%
+\mdfdefinestyle{bwstandardstyle}{%
+ hidealllines=false,skipbelow=\baselineskip,skipabove=\baselineskip,
+ leftmargin=40pt,rightmargin=40pt,linewidth=1,roundcorner=10,
+ nobreak=true,
+ frametitle={STANDARD},
+ frametitlebackgroundcolor=gray!50,frametitlerule=true,frametitlerulewidth=1,
+ backgroundcolor=gray!20,
+ linecolor=black,fontcolor=black,shadow=true}
+\NewEnviron{bwstandard}{%
+ \begin{mdframed}[style=bwstandardstyle]
+ \begin{adjactivityanswer}[gray!20][gray!20][black]
+ \BODY
+ \end{adjactivityanswer}
+ \end{mdframed}
+}%
+\NewEnviron{mysolution}{%
+ \setcounter{equation}{0}
+ \begin{align}
+ \BODY
+ \end{align}
+}%
+\NewEnviron{mysolution*}{%
+ \setcounter{equation}{0}
+ \begin{align*}
+ \BODY
+ \end{align*}
+}%
+\newenvironment{problem}[1]{%
+ \newpage%
+ \section*{#1}%
+ \newlist{parts}{enumerate}{2}%
+ \setlist[parts]{label=(\alph*)}}{\newpage}
+\newcommand{\problempart}{\item}%
+\newcommand{\reason}[1]{\begin{minipage}{5cm}{#1}\end{minipage}}
+\newcommand*{\checkpoint}{%
+ \vspace{1cm}\begin{center}%
+ \colorbox{yellow!80}{|--------- CHECKPOINT ---------|}%
+ \end{center}}%
+\newcommandx*{\image}[4][1={scale=1},usedefault]{%
+ \begin{figure}[H]
+ \begin{center}%
+ \includegraphics[#1]{#2}%
+ \end{center}%
+ \caption{#3}%
+ \label{#4}%
+ \end{figure}}
+\newcommand*{\sneakyone}[1]{\ensuremath{\cancelto{1}{#1}}}
+\newcommand*{\parallelto}{\ensuremath{{{\mkern3mu\vphantom{\perp}\vrule depth 0pt
+ \mkern2mu\vrule depth 0pt\mkern3mu}}}}
+\newcommand*{\perpendicularto}{\ensuremath{\perp}}
+\newcommand*{\qed}{\ensuremath{\text{ Q.E.D.}}}
+\newcommand*{\chkquantity}[1]{%
+ \begin{center}
+ \begin{tabular}{C{4.5cm} C{4cm} C{4cm} C{4cm}}
+ name & baseunit & drvdunit & altnunit \tabularnewline
+ \cs{#1} & \csname #1onlybaseunit\endcsname & \csname #1onlydrvdunit\endcsname &
+ \csname #1onlyaltnunit\endcsname
+ \end{tabular}
+ \end{center}
+}%
+\newcommand*{\chkconstant}[1]{%
+ \begin{center}
+ \begin{tabular}{C{4cm} C{4cm} C{4cm}}
+ name & symbol & value \tabularnewline
+ \cs{#1} & \csname #1mathsymbol\endcsname & \csname #1value\endcsname
+ \tabularnewline
+ baseunit & drvdunit & altnunit \tabularnewline
+ \csname #1onlybaseunit\endcsname & \csname #1onlydrvdunit\endcsname &
+ \csname #1onlyaltnunit\endcsname
+ \end{tabular}
+ \end{center}
+}%
+% \end{macrocode}
+% \newpage
+% \section{Acknowledgements}
+% I thank Marcel Heldoorn, Joseph Wright, Scott Pakin, Thomas Sturm, Aaron Titus,
+% David Zaslavsky, Ruth Chabay, and Bruce Sherwood. Special thanks to Martin
+% Scharrer for his \texttt{sty2dtx.pl} utility, which saved me days of typing.
+% Special thanks also to Herbert Schulz for his custom \texttt{dtx} engine for
+% \texttt{TeXShop}. Very special thanks to Ulrich Diez for providing the mechanism
+% that defines physics quantities and constants. Also very special thanks to
+% students who helped test recent versions of this package.
+%
+% \iffalse
+%</package>
+% \fi
+%
+% \Finale
diff --git a/macros/latex/contrib/mandi/mandi.ins b/macros/latex/contrib/mandi/mandi.ins
new file mode 100644
index 0000000000..363aaa3520
--- /dev/null
+++ b/macros/latex/contrib/mandi/mandi.ins
@@ -0,0 +1,81 @@
+%%
+%% This is file `mandi.ins',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mandi.dtx (with options: `install')
+%%
+%% Copyright (C) 2018 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
+%% mandi.ins
+%% mandi.pdf
+%% README
+%%
+%% and includes the derived files mandi.sty
+%% vdemo.py.
+%% ---------------------------------------------------------------------------
+%%
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+\usedir{tex/latex/mandi}
+\preamble
+
+Copyright (C) 2018 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
+ mandi.ins
+ mandi.pdf
+ README
+
+ and includes the derived files mandi.sty
+ vdemo.py.
+---------------------------------------------------------------------------
+
+\endpreamble
+
+\generate{\file{\jobname.sty}{\from{\jobname.dtx}{package}}}
+\generate{\usepreamble\empty\usepostamble\empty
+ \file{vdemo.py}{\from{\jobname.dtx}{vdemo}}}
+
+\obeyspaces
+\Msg{*************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* file into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* mandi.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file mandi.dtx *}
+\Msg{* through pdfLaTeX. *}
+\Msg{* *}
+\Msg{*************************************************************}
+\endbatchfile
+
+\endinput
+%%
+%% End of file `mandi.ins'.
diff --git a/macros/latex/contrib/mandi/mandi.pdf b/macros/latex/contrib/mandi/mandi.pdf
new file mode 100644
index 0000000000..bb4f4fc947
--- /dev/null
+++ b/macros/latex/contrib/mandi/mandi.pdf
Binary files differ