% \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
