% \iffalse meta-comment
% !TEX TS-program = dtxmk
%
% Copyright (C) 2014 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
%                                 README
%
% and includes the derived files  mandi.ins
%                                 mandi.sty
%                                 vdemo.py and
%                                 mandi.pdf.
% ---------------------------------------------------------------------------
%
% \fi
%
% \iffalse
%
%<*internal>
\iffalse
%</internal>
%
%<*package>
\ProvidesPackage{mandi}[2014/12/29 2.4.0 Macros for physics and astronomy]
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%</package>
%
%<*vdemo>
from __future__ import division,print_function
from visual 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>
%
%<*install>
\input docstrip.tex
\keepsilent
\askforoverwritefalse
\usedir{tex/latex/mandi}
\preamble

Copyright (C) 2014 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
                                README

and includes the derived files  mandi.ins
                                mandi.sty
                                vdemo.py and
                                mandi.pdf.
---------------------------------------------------------------------------

\endpreamble

\generate{\file{\jobname.sty}{\from{\jobname.dtx}{package}}}
\generate{\file{\jobname.ins}{\from{\jobname.dtx}{install}}}
\generate{\usepreamble\empty\usepostamble\empty
          \file{README.txt}{\from{\jobname.dtx}{readme}}}

\obeyspaces
\Msg{*************************************************************}
\Msg{*                                                           *}
\Msg{* To finish the installation you have to move the following *}
\Msg{* file into a directory searched by TeX:                    *}
\Msg{*                                                           *}
\Msg{*     mandi.sty                                             *}
\Msg{*                                                           *}
\Msg{* To produce the documentation run the file mandi.dtx       *}
\Msg{* through (pdf)LaTeX.                                       *}
\Msg{*                                                           *}
\Msg{*************************************************************}
%</install>
%<install>\endbatchfile
%
%<*internal>
\usedir{tex/latex/mandi}
\generate{\file{\jobname.ins}{\from{\jobname.dtx}{install}}}
\generate{\usepreamble\empty\usepostamble\empty
          \file{README.txt}{\from{\jobname.dtx}{readme}}}
\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 between paragraphs
\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
\tcbset{index german settings}                  % set index options
\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
\everymath{\displaystyle}                       % default math style
%\DeclareMathSizes{10}{18}{12}{8}
%\DeclareMathSizes{11}{19}{13}{9}
%\DeclareMathSizes{12}{20}{14}{10}
\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}{\textit{baseunits}}
%  \newcommand*{\drvdunits}{\textit{drvdunits}}
%  \newcommand*{\tradunits}{\textit{tradunits}}
%
%  \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{5689}
%
% \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}})}
% \date{Version \fileversion~dated \filedate}
%
% \newgeometry{left=1.0in,right=1.0in,top=4.0in}
%   \maketitle
% \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
%   \PrintChanges
%   \addcontentsline{toc}{section}{Change History}
%   \addcontentsline{toc}{section}{Possible Future Enhancements}
%   \listoftodos[Possible Future Enhancements]
%   \newpage
% \restoregeometry
%
% \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{http://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 \textit{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.\ \textit{duration} vs.\ \textit{time})
%   \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.
% 
% \newpage
% \section{Loading the Package}
% 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 five available options, with one option being based on the absence of 
% two of the others. The options are described below.
% \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.}
%
% \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.
%   \item 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.
%   \item \opt{singleabsbars} gives single bars in symbols for vector magnitudes. 
%     Double bars may be more familiar to students from their calculus courses. 
%     Double bars is the default.
%   \item \opt{approxconsts} gives approximate values of constants to one or two
%     significant figures, depending on how they appear in \mi. Otherwise, the most
%     precise currently available values are used. Precise constants is the default.
%   \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 If neither \opt{baseunits} nor \opt{drvdunits} is specified (the 
%     default), units are displayed in what I call \tradunits\ form, which
%     is typically the way they would traditionally appear in textbooks. Units in this
%     form frequently hide the underlying physical meaning and are probably not best 
%     pedagogically but are familiar to students and teachers. In this document, the 
%     default is to use
%       \ifthenelse{\boolean{@optbaseunits}}
%        {base}
%        {\ifthenelse{\boolean{@optdrvdunits}}
%          {derived}
%          {traditional}}
%     units. As you will see later, there are ways to override these options either
%     temporarily or permanently.
% \end{itemize}
%
% \changes{v2.4.0}{2014/12/17}{Now coexists with the \pkgname{commath} package.}
% \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. If \mandi\ detects that \pkgname{commath} has been 
% loaded, \pkgname{commath}'s |\abs| command will be used rather than \mandi's. 
% \mandi\ no longer checks for the presence of the \pkgname{physymb} package. That 
% package now incorporates \mandi\ dependencies, and the two are completely compatible.
% \changes{v2.4.0}{2014/12/19}{Removed compatibility check for the \pkgname{physymb} 
% package.}
%
% \section{Usage}
% So what does \mandi\ allow you to do? There are two main design goals. The first 
% is 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. 
%
% In introductory physics courses, students typically have trouble remembering
% which units go with which quantities and, more importantly, remembering to include 
% units in numerical calculations. \mandi\ is designed to help with these problems.
% Suppose you want to typeset a calculation of a particle's kinetic energy (assume 
% the magnitude of the particle's velocity is much less than the magnitude of light's
% velocity). You could use
%
%\iffalse
%<*example>
%\fi
\begin{dispExample}
\[ K \approx \frac{1}{2}\left(\unit{2}{\kg}\right)\left(\unit{2}{\m\per\s}\right)^2 \]
\end{dispExample}
%\iffalse
%</example>
%\fi
%
% which is nearly incomprehensible for people new to \LaTeX\ and that (probably)
% includes introductory physics students, but \mandi\ lets you do something more 
% logical and more readable, like this
%
%\iffalse
%<*example>
%\fi
\begin{dispExample}
\[ K \approx \onehalf (\mass{2})(\velocity{2})\squared \]
\end{dispExample}
%\iffalse
%</example>
%\fi
%
% which produces the same output. In the second example, note that the units 
% are abstracted so the user need not remember them. This doesn't mean that students
% don't need to know what the various units are, but it does mean that now there is
% no way for units to be left out of a calculation. Note also that the commands
% correspond to the actual names of the quantities needed for the calculation. All
% the student needs to do is remember what quantities are needed and then construct
% the appropriate \LaTeX\ expression in a way that is very similar to writing 
% program code in a language like Python, with which many students will have had
% previous experience. This may make \LaTeX\ easier for beginners to learn, and
% the second way is more readable if you come back to the source document, perhaps 
% having not looked at it for a while.
% 
% Suppose you want to use vectors quantities. That's no problem because \mandi\ 
% handles vector quantities.
%
%\iffalse
%<*example>
%\fi
\begin{dispExample}
Calculate the magnitude of \momentum{\mivector{3,2,5}}.
\end{dispExample}
%\iffalse
%</example>
%\fi
%
% The underlying strategy is to \textit{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.
%
% 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}
\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 \abs{\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.
%
% This barely scratches the surface in describing \mandi\ so continue reading this
% document to see everything it can do.
%
% \section{Features and Commands}
% \subsection{Autosized Parentheses}
% An experimental feature of \mandi\ is autosized parentheses in math mode. This means
% you need never use |\left(| or |\right)|. Just use unadorned parentheses and they will
% size correctly. Note that this only works in math mode, only works for parentheses and
% not for other delimiters.
% 
%\iffalse
%<*example>
%\fi
\begin{dispExample}
(\oofpezmathsymbol) is how it looks in text mode.
\end{dispExample}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{dispExample}
\( (\oofpezmathsymbol) \) is how it looks in math mode.
\end{dispExample}
%\iffalse
%</example>
%\fi
%
% \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:
% \textit{spatial displacement} (what others call \textit{length}), \textit{mass}, 
% \textit{temporal displacement} (what others call \textit{time}, but we will call 
% it \textit{duration} in most cases), \textit{electric current}, \textit
% {thermodynamic temperature}, \textit{amount}, and \textit{luminous intensity}. 
% These shortcuts are used internally and need not explicitly be invoked by the 
% user.
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{m}{}
  Command for metre, the SI unit of spatial displacement (length).
\end{docCommand}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{kg}{}
  Command for kilogram, the SI unit of mass.
\end{docCommand}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{s}{}
  Command for second, the SI unit of temporal displacement (duration).
\end{docCommand}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{A}{}
  Command for ampere, the SI unit of electric current.
\end{docCommand}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{K}{}
Command for kelvin, the SI unit of thermodynamic temperature.
\end{docCommand}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{mol}{}
Command for mole, the SI unit of amount.
\end{docCommand}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{cd}{}
Command for candela, the SI unit of luminous intensity.
\end{docCommand}
%\iffalse
%</example>
%\fi
%
% If \mandi\ was invoked 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 \textit{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 \textit{name} of the unit is \textbf{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 a 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
%
% \subsection{Defining Physics Quantities}
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{newphysicsquantity}
{\marg{newname}\marg{\baseunits}\oarg{\drvdunits}\oarg{\tradunits}}
Defines a new physics 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 \tradunits\ 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{newnametradunit}}\marg{magnitude} is created that 
%   expresses the quantity and its units in \tradunits\ 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{newnameonlytradunit}}\marg{magnitude} is created that 
%   expresses \textbf{only} the quantity's units in \tradunits\ 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 determined by global options \\
%   |\momentumbaseunit{3}| &\momentumbaseunit{3} & quantity with base unit           \\
%   |\momentumdrvdunit{3}| &\momentumdrvdunit{3} & quantity with derived unit        \\
%   |\momentumtradunit{3}| &\momentumtradunit{3} & quantity with traditional unit    \\
%   |\momentumvalue{3}|    &\momentumvalue{3}  & selects numerical value of quantity \\
%   |\momentumonlybaseunit|&\momentumonlybaseunit & selects only base unit           \\
%   |\momentumonlydrvdunit|&\momentumonlydrvdunit & selects only derived unit        \\
%   |\momentumonlytradunit|&\momentumonlytradunit & selects only traditional 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 
% \cs{speed} command is just an alias for \cs{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, 
% specify an argument consisting of a vector with components as a comma separated
% list in a \cs{mivector} command. So specifying a momentum vector is as simple as
%
%\iffalse
%<*example>
%\fi
\begin{dispExample}
\momentum{\mivector{3,2,-1}}
\end{dispExample}
%\iffalse
%</example>
%\fi
%
% where the notation corresponds to that used in \mi.
%
% \subsection{First Semester Physics}
% The first semester of \mi\, and indeed most traditional introductory calculus-based
% physics course, focuses on mechanics, dynamics, and statistical mechanics.
%
% \subsubsection{Predefined Quantities}
%
% The seven fundamental quantities are similarly defined and examples of their
% usage is given in the following table.
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{displacement}{\marg{magnitude}}
Command for displacement.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a displacement of \displacement{5}  \\
a displacement of \displacement{\mivector{3,2,-1}}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{mass}{\marg{magnitude}}
Command for mass.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a mass of \mass{5}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{duration}{\marg{magnitude}}
Command for duration.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a duration of \duration{5}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{current}{\marg{magnitude}}
Command for current.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a current of \current{5}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{temperature}{\marg{magnitude}}
Command for temperature.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a temperature of \temperature{5}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{amount}{\marg{magnitude}}
Command for amount.
\end{docCommand}
\begin{dispExample*}{sidebyside}
an amount of \amount{5}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{luminous}{\marg{magnitude}}
Command for luminous intensity.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a luminous intensity of \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
% and astrophysics.
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{planeangle}{\marg{magnitude}}
Command for plane angle in radians.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a plane angle of \planeangle{5}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{solidangle}{\marg{magnitude}}
Command for solidangle.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a solid angle of \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}
a plane angle of \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}
an angle of \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}
an angle of \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}
a temperature of \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}
a temperature of \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}
an energy of \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}
a mass of \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}
a momentum of \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}
an energy of \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}
a mass of \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}
a momentum of \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}
an energy of \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}
a mass of \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}
a momentum of \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}
an atomic mass of \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}
a semimajor axis of \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}
a distance of \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}
a distance of \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}
a distance of \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}
a luminosity of \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}
a temperature of \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}
a radius of \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}
a mass of \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}
a flux of \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}
an apparent flux of \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}
an absolute magnitude of \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}
an apparent magnitude of \insolarmag{2}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{insolarD}{\marg{magnitude}}
Command for distance in solar multiples.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a distance of \insolarD{2}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{insolard}{\marg{magnitude}}
Identical to \cs{insolarD} but uses \(d\). 
\end{docCommand}
\begin{dispExample*}{sidebyside}
a distance of \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 move on into first semester physics, defining quantities in the 
% approximate order in which they appear in \mi. Use |M\timestento{P}[U]| to get 
% scientific notation, with the mantissa immediately preceding the command and the 
% exponent as the required argument. |\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}{velocityc}{\marg{magnitude or vector}}
Command for velocity as a fraction of \(c\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
a velocity of \velocityc{0.9987} \\
a velocity of \velocityc{\mivector{0,0.9987,0}} \\
a velocity of \mivector{\velocityc{\frac{1}{\sqrt{3}}},\\
\velocityc{\frac{1}{\sqrt{3}}},\\
\velocityc{\frac{1}{\sqrt{3}}}}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{velocity}{\marg{magnitude or vector}}
Command for velocity. 
\end{docCommand}
\begin{dispExample*}{sidebyside}
a velocity of \velocity{2.34} \\
a velocity of \velocity{\mivector{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 slightly conceptually
different so separate commands are provided. I've never seen speed used as anything
other than a scalar, but of course you can specify a vector if you wish.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a speed of \velocity{8.25}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%


%\iffalse
%<*example>
%\fi
\begin{docCommand}{lorentz}{\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}
a Lorentz factor of \lorentz{2.34}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{momentum}{\marg{magnitude or vector}}
Command for momentum.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a momentum of \momentum{2.34}  \\
a momentum of \momentum{\mivector{3,2,-1}}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{acceleration}{\marg{magnitude or vector}}
Command for acceleration.
\end{docCommand}
\begin{dispExample*}{sidebyside}
an acceleration of \acceleration{2.34} \\
an acceleration of \acceleration{\mivector{3,2,-1}}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{gravitationalfield}{\marg{magnitude or vector}}
Command for gravitational field.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a gravitational field of \gravitationalfield{2.34} \\
a gravitational field of \gravitationalfield{\mivector{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}
a gravitational potential of \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{dispExample*}{sidebyside}
an impulse of \impulse{2.34} \\
an impulse of \impulse{\mivector{3,2,-1}}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{force}{\marg{magnitude or vector}}
Command for force.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a force of \force{2.34}  \\
a force of \force{\mivector{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}
a spring stiffness of \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}
a spring stretch of \springstretch{2.34}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{area}{\marg{magnitude}}
Command for area.
\end{docCommand}
\begin{dispExample*}{sidebyside}
an area of \area{2.34}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{volume}{\marg{magnitude}}
Command for volume.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a volume of \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}
a linear mass density of \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}
an area mass density of \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}
a volume mass density of \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}
a Young's modulus of \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}
an amount of work \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}
an amount of energy \energy{2.34}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{power}{\marg{magnitude}}
Command for power.
\end{docCommand}
\begin{dispExample*}{sidebyside}
an amount of power \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}
a specific heat capacity of \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{dispExample*}{sidebyside}
an angular velocity of \angularvelocity{2.34}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%\iffalse
%<*example>
%\fi
\begin{docCommand}{angularacceleration}{\marg{magnitude or vector}}
Command for angular acceleration.
\end{docCommand}
\begin{dispExample*}{sidebyside}
an angular acceleration of \angularacceleration{2.34}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%\iffalse
%<*example>
%\fi
\begin{docCommand}{angularmomentum}{\marg{magnitude or vector}}
Command for angular momentum.
\end{docCommand}
\begin{dispExample*}{sidebyside}
an angular momentum of \angularmomentum{2.34}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{momentofinertia}{\marg{magnitude}}
Command for moment of inertia.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a moment of inertia of \momentofinertia{2.34}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{torque}{\marg{magnitude or vector}}
Command for torque.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a torque of \torque{2.34}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{entropy}{\marg{magnitude}}
Command for entropy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
an entropy of \entropy{2.34}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{wavelength}{\marg{magnitude}}
Command for wavelength.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a wavelength of \wavelength{4.00\timestento{-7}}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{wavenumber}{\marg{magnitude}}
Command for wavenumber.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a wavenumber of \wavenumber{2.50\timestento{6}}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{frequency}{\marg{magnitude}}
Command for frequency.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a frequency of \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}
an angular frequency of \angularfrequency{4.70\timestento{15}}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
% Two quick thoughts here. First, work and energy are similar to momentum and impulse 
% in that they come from two different concepts. Work comes from force acting through 
% a spatial displacement and energy is a fundamental property of matter. It is a 
% coincidence that they have the same dimensions and thus the same unit. Second, notice 
% that I didn't define speed. Velocity is the only quantity I can think of for which we 
% have different names for the vector and the magnitude of the vector. I decided to put 
% it on the same footing as momentum, acceleration, and force.
%
% \subsection{Second Semester Physics}
% The second semester of \mi\ focuses on electromagnetic theory, and there are many 
% primary and secondary quantities.
%
% \subsubsection{Predefined Quantities}
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{charge}{\marg{magnitude}}
Command for electric charge.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a charge of \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}
a permittivity of \permittivity{9\timestento{-12}}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{electricdipolemoment}{\marg{magnitude or vector}}
Command for electric dipole moment.
\end{docCommand}
\begin{dispExample*}{sidebyside}
an electric dipole moment of \electricdipolemoment{2\timestento{5}}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{permeability}{\marg{magnitude}}
Command for permeability.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a permeability of \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{dispExample*}{sidebyside}
a magnetic field of \magneticfield{1.25}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{cmagneticfield}{\marg{magnitude or vector}}
Command for product of \(\mathrm{c}\) and magnetic field. This quantity is 
convenient for symmetry.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a magnetic field of \cmagneticfield{1.25}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{linearchargedensity}{\marg{magnitude}}
Command for linear charge density.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a linear charge density of \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}
an area charge density of \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}
a volume charge density of \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}
a mobility of \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}
a number density of \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}
a polarizability of \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}
an electric potential of \electricpotential{1.5}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{emf}{\marg{magnitude}}
Command for emf.
\end{docCommand}
\begin{dispExample*}{sidebyside}
an emf of \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}
a dielectric constant of \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}
an index of refraction of \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}
a relative permittivity of \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}
a relative permeability of \relativepermeability{0.9}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{energydensity}{\marg{magnitude}}
Command for energy density.
\end{docCommand}
\begin{dispExample*}{sidebyside}
an energy density of \energydensity{1.25}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{energyflux}{\marg{magnitude}}
Command for energy flux.
\end{docCommand}
\begin{dispExample*}{sidebyside}
an energy flux of \energyflux{4\timestento{26}}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{electroncurrent}{\marg{magnitude}}
Command for electron current.
\end{docCommand}
\begin{dispExample*}{sidebyside}
an electron current of \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}
a conventional current of \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{dispExample*}{sidebyside}
a magnetic dipole moment of \magneticdipolemoment{1.25}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{currentdensity}{\marg{magnitude or vector}}
Command for current density.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a current density of \currentdensity{1.25}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{electricflux}{\marg{magnitude}}
Command for electric flux.
\end{docCommand}
\begin{dispExample*}{sidebyside}
an electric flux of \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}
a magnetic flux of \magneticflux{1.25}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{capacitance}{\marg{magnitude}}
Command for capacitance.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a capacitance of \capacitance{1.00}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{inductance}{\marg{magnitude}}
Command for inductance.
\end{docCommand}
\begin{dispExample*}{sidebyside}
an inductance of \inductance{1.00}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{conductivity}{\marg{magnitude}}
Command for conductivity.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a conductivity of \conductivity{1.25}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{resistivity}{\marg{magnitude}}
Command for resistivity.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a resistivity of \resistivity{1.25}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{resistance}{\marg{magnitude}}
Command for resistance.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a resistance of \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}
a conductance of \conductance{1\timestento{6}}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\changes{v2.4.0}{2014/12/16}{Added magnetic charge.}
%\iffalse
%<*example>
%\fi
\begin{docCommand}{magneticcharge}{\marg{magnitude}}
Command for magnetic charge, in case it actually exists.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a magnetic charge of \magneticcharge{1.25}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
% \subsection{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|, |tradunit| 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}
a momentum of \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}
a momentum of \hereusedrvdunit{\momentum{3}}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{hereusetradunit}{\marg{magnitude}}
Command for using traditional units in place.
\end{docCommand}
\begin{dispExample*}{sidebyside}
a momentum of \hereusetradunit{\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}{usetradunit}{}
Environment for using traditional units.
\end{docEnvironment}
\begin{dispExample*}{sidebyside}
\begin{usetradunit}
  \momentum{3}
\end{usetradunit}
\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}{perpusetradunit}{}
Command for perpetually using traditional units..
\end{docCommand}
%\iffalse
%</example>
%\fi
%
%\newpage
%\changes{v2.4.0}{2014/12/16}{Added table of all predefined quantities with their 
%  units.}
%\newgeometry{textwidth=8.5in}
%\begin{center}
% Here are all the predefined quantities and their units.
%\end{center}
%
%\chkquantity{displacement}
%\chkquantity{mass}
%\chkquantity{duration}
%\chkquantity{current}
%\chkquantity{temperature}
%\chkquantity{amount}
%\chkquantity{luminous}
%\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{angularmomentum}
%\chkquantity{momentofinertia}
%\chkquantity{torque}
%\chkquantity{entropy}
%\chkquantity{wavelength}
%\chkquantity{wavenumber}
%\chkquantity{frequency}
%\chkquantity{angularfrequency}
%\chkquantity{charge}
%\chkquantity{permittivity}
%\chkquantity{permeability}
%\chkquantity{electricfield}
%\chkquantity{electricdipolemoment}
%\chkquantity{electricflux}
%\chkquantity{magneticfield}
%\chkquantity{magneticflux}
%\chkquantity{cmagneticfield}
%\chkquantity{linearchargedensity}
%\chkquantity{areachargedensity}
%\chkquantity{volumechargedensity}
%\chkquantity{mobility}
%\chkquantity{numberdensity}
%\chkquantity{polarizability}
%\chkquantity{electricpotential}
%\chkquantity{emf}
%\chkquantity{dielectricconstant}
%\chkquantity{indexofrefraction}
%\chkquantity{relativepermittivity}
%\chkquantity{relativepermeability}
%\chkquantity{energydensity}
%\chkquantity{energyflux}
%\chkquantity{electroncurrent}
%\chkquantity{conventionalcurrent}
%\chkquantity{magneticdipolemoment}
%\chkquantity{currentdensity}
%\chkquantity{capacitance}
%\chkquantity{inductance}
%\chkquantity{conductivity}
%\chkquantity{resistivity}
%\chkquantity{resistance}
%\chkquantity{conductance}
%\chkquantity{magneticcharge}
%\restoregeometry
%
% \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. Use \cs{direction} as an alias.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\dirvect{p} or \direction{p}
\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.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\begin{align*}
\msub{u}{\mu} &= \mivector{\ezero,\eone,\etwo,\ethree} \\
\vect{v} &= \mivector{1,3,5}[\velocityonlytradunit]    \\
\vect{E} &= \mivector{\oofpezmathsymbol \frac{Q}{x^2},0,0}
\end{align*}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{ncompszerovect}{}
Symbol for the zero vector expressed in components. Deprecated. Use \cs{mivector} 
instead.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\ncompszerovect
\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. It is probably best for students to
include components' units inside the radical than to write them outside the radical.
\end{docCommand}
\begin{dispExample}
\magvectncomps{\velocity{3.12},\velocity{4.04},\velocity{6.73}} \\
\magvectncomps{3.12,4.04,6.73}[\velocityonlytradunit] \\
\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}{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{dispExample*}{sidebyside}
a change \dvect{E} in electric field
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Dvect}{\marg{kernel}}
Identical to \cs{dvect} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
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{dispExample*}{sidebyside}
the direction \dirdvect{E} of the change
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{dirDvect}{\marg{kernel}}
Identical to \cs{dirdvect} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
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. Use \cs{ddirection} as an alias.
\end{docCommand}
\begin{dispExample*}{sidebyside}
the change \ddirvect{E} or \ddirection{E} in the direction of \vect{E}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Ddirvect}{\marg{kernel}}
Identical to \cs{ddirvect} but uses \(\Delta\). Use \cs{Ddirection} as an alias.
\end{docCommand}
\begin{dispExample*}{sidebyside}
the direction \Ddirvect{E} or \Ddirection{E} of the change
\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{dispExample*}{sidebyside}
the magnitude \magdvect{E} of the change
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{magDvect}{\marg{kernel}}
Identical to \cs{magdvect} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
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{dispExample*}{sidebyside}
the change \dmagvect{E} in the magnitude
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Dmagvect}{\marg{kernel}}
Identical to \cs{dmagvect} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
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{dispExample*}{sidebyside}
the vector \scompsdvect{E}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{scompsDvect}{\marg{kernel}}
Identical to \cs{scompsdvect} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
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{dispExample*}{sidebyside}
the \compdvect{E}{y} component of the change
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{compDvect}{\marg{kernel}\marg{component}}
Identical to \cs{compdvect} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
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{dispExample*}{sidebyside}
the derivative \dervect{E}{t}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Dervect}{\marg{kernel}\marg{indvar}}
Identical to \cs{dervect} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
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{dispExample*}{sidebyside}
the derivative \dermagvect{E}{t}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Dermagvect}{\marg{kernel}\marg{indvar}}
Identical to \cs{dermagvect} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
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. Use \cs{derdiraction} as an alias.
\end{docCommand}
\begin{dispExample*}{sidebyside}
the derivative \derdirvect{E}{t} or \derdirection{E}{t}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Derdirvect}{\marg{kernel}\marg{indvar}}
Identical to \cs{derdirvect} but uses \(\Delta\). Use \cs{Derdirection} as an alias.
\end{docCommand}
\begin{dispExample*}{sidebyside}
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{dispExample*}{sidebyside}
the derivative \scompsdervect{E}{t}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{scompsDervect}{\marg{kernel}\marg{indvar}}
Identical to \cs{scompsdervect} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
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{dispExample*}{sidebyside}
the derivative \compdervect{E}{y}{t}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{compDervect}{\marg{kernel}\marg{component}\marg{indvar}}
Identical to \cs{compdervect} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
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{dispExample*}{sidebyside}
the derivative \magdervect{E}{t}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{magDervect}{\marg{kernel}\marg{indvar}}
Identical to \cs{magdervect} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
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, |vect| becomes |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. Use \cs{directionsub} as an alias.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\dirvectsub{p}{ball} or \directionsub{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}
the vector \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}
the component \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}
the magnitude \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{dispExample*}{sidebyside}
the change \dvectsub{p}{ball}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Dvectsub}{\marg{kernel}\marg{sub}}
Identical to \cs{dvectsub} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
the change \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{dispExample*}{sidebyside}
the vector \scompsdvectsub{p}{ball}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{scompsDvectsub}{\marg{kernel}\marg{sub}}
Identical to \cs{scompsdvectsub} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
the vector \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{dispExample*}{sidebyside}
the component \compdvectsub{p}{ball}{y}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{compDvectsub}{\marg{kernel}\marg{sub}\marg{component}}
Identical to \cs{compdvectsub} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
the component \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{dispExample*}{sidebyside}
the derivative \dervectsub{p}{ball}{t}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Dervectsub}{\marg{kernel}\marg{sub}\marg{indvar}}
Identical to \cs{dervectsub} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
the derivative \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{dispExample*}{sidebyside}
the derivative \dermagvectsub{E}{ball}{t}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Dermagvectsub}{\marg{kernel}\marg{sub}\marg{indvar}}
Identical to \cs{dermagvectsub} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
the derivative \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{dispExample*}{sidebyside}
the vector \scompsdervectsub{p}{ball}{t}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{scompsDervectsub}{\marg{kernel}\marg{sub}\marg{indvar}}
Identical to \cs{scompsdervectsub} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
the vector \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{dispExample*}{sidebyside}
the component \compdervectsub{p}{ball}{y}{t}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{compDervectsub}{\marg{kernel}\marg{sub}\marg{component}\marg{indvar}}
Identical to \cs{compdervectsub} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
the component \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{dispExample*}{sidebyside}
the derivative \magdervectsub{p}{ball}{t}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{magDervectsub}{\marg{kernel}\marg{sub}\marg{indvar}}
Identical to \cs{magdervectsub} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
the derivative \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 \textit{dot product}.
% When you see |dots| you should think \textit{dot product in terms of symbolic
% components}. When you see |dote| you should think \textit{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{dispExample*}{sidebyside}
\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{dispExample*}{sidebyside}
\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{dispExample*}{sidebyside}
\vectdotsdvect{F}{r}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{vectdotsDvect}{\marg{kernel1}\marg{kernel2}}
Identical to \cs{vectdotsdvect} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
\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{dispExample*}{sidebyside}
\vectdotedvect{F}{r}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{vectdoteDvect}{\marg{kernel1}\marg{kernel2}}
Identical to \cs{vectdotedvect} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
\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}
\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}
\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{dispExample*}{sidebyside}
\vectsubdotsdvectsub{A}{ball}{B}{car}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{vectsubdotsDvectsub}
{\marg{kernel1}\marg{sub1}\marg{kernel2}\marg{sub2}}
Identical to \cs{vectsubdotsdvectsub} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
\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{dispExample*}{sidebyside}
\vectsubdotedvectsub{A}{ball}{B}{car}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{vectsubdoteDvectsub}
{\marg{kernel1}\marg{sub1}\marg{kernel2}\marg{sub2}}
Identical to \cs{vectsubdotedvectsub} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
\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{dispExample*}{sidebyside}
\vectsubdotsdvect{A}{ball}{B}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{vectsubdotsDvect}{\marg{kernel1}\marg{sub1}\marg{kernel2}}
Identical to \cs{vectsubdotsdvect} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
\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{dispExample*}{sidebyside}
\vectsubdotedvect{A}{ball}{B}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{vectsubdoteDvect}{\marg{kernel1}\marg{sub1}\marg{kernel2}}
Identical to \cs{vectsubdotedvect} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
\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{dispExample*}{sidebyside}
\dervectdotsvect{A}{t}{B}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Dervectdotsvect}{\marg{kernel1}\marg{indvar}\marg{kernel2}}
Identical to \cs{dervectdotsvect} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
\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{dispExample*}{sidebyside}
\dervectdotevect{A}{t}{B}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Dervectdotevect}{\marg{kernel1}\marg{indvar}\marg{kernel2}}
Identical to \cs{dervectdotevect} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
\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{dispExample*}{sidebyside}
\vectdotsdervect{A}{B}{t}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{vectdotsDervect}{\marg{kernel1}\marg{kernel2}\marg{indvar}}
Identical to \cs{vectdotsdervect} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
\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{dispExample*}{sidebyside}
\vectdotedervect{A}{B}{t}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\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}
\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{dispExample*}{sidebyside}
\dervectdotsdvect{A}{t}{B}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{DervectdotsDvect}{\marg{kernel1}\marg{indvar}\marg{kernel2}}
Identical to \cs{dervectdotsdvect} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
\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{dispExample*}{sidebyside}
\dervectdotedvect{A}{t}{B}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{DervectdoteDvect}{\marg{kernel1}\marg{indvar}\marg{kernel2}}
Identical to \cs{dervectdotedvect} but uses \(\Delta\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
\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{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{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{dispExample*}{sidebyside}
\ezerozero, \ezeroone, \ezerotwo, \ezerothree, \ezerofour, up to \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{dispExample*}{sidebyside}
\euzero, \euone, \eutwo, \euthree, \eufour
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{euzerozero}{}
Symbols for basis bivectors with upper indices up to 4.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\euzerozero, \euzeroone, \euzerotwo, \euzerothree, \euzerofour, up to \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{dispExample*}{sidebyside}
\gzerozero, \gzeroone, \gzerotwo, \gzerothree, \gzerofour, up to \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{dispExample*}{sidebyside}
\guzerozero, \guzeroone, \guzerotwo, \guzerothree, \guzerofour, up to \gufourfour
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\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}
\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}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{scompscvect}{\oarg{anynonzero}\marg{kernel}}
\ntodo[Suggestion]{Allow for superscripts.}Typesets 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{align*}
\vect{p} &= \scompscvect{p} \\
\vect{p} &= \scompscvect[4]{p}
\end{align*}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{scompsrvect}{\oarg{anynonzero}\marg{kernel}}
\ntodo[Suggestion]{Allow for superscripts.}Typesets 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{align*}
\vect{p} &= \scompsrvect{p} \\
\vect{p} &= \scompsrvect[4]{p}
\end{align*}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
% \subsection{Physical Constants}
% \subsubsection{Defining Physical Constants}
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{newphysicsconstant}
  {\marg{newname}\marg{symbol}\marg{value}\marg{\baseunits}\oarg{\drvdunits}
  \oarg{\tradunits}}
Defines a new physical constant.
\end{docCommand}
\begin{dispListing}
Here is how \oofpez (the Coulomb constant) is defined internally.
\newphysicsconstant{oofpez}
{\ensuremath{\frac{1}{\phantom{_o}4\pi\ssub{\epsilon}{o}}}}
{9\timestento{9}}
{\ensuremath{\m\cubed\usk\kg\usk\s^{-4}\usk\A\rpsquared}}
[\m\per\farad]
[\newton\usk\m\squared\per\coulomb\squared]
\end{dispListing}
%\iffalse
%</example>
%\fi
%
% Using this command causes several things to happen.
% \begin{itemize}
%   \item A command |\newname| is created and contains the constant and units  
%   typeset according to the options given when \mandi\ was loaded.
%   \item A command |\newnamemathsymbol| is created that expresses
%   \textbf{only} the constant's mathematical symbol.
%   \item A command |\newnamevalue| is created that expresses
%   \textbf{only} the constant's numerical value.
%   \item A command |\newnamebaseunit| is created that expresses 
%   the constant and its units in \baseunits\ form.
%   \item A command |\newnamedrvdunit| is created that expresses 
%   the constant and its units in \drvdunits\ form.
%   \item A command |\newnametradunit| is created that 
%   expresses the constant and its units in \tradunits\ form.
%   \item A command |\newnameonlybaseunit| is created that expresses 
%   \textbf{only} the constant's units in \baseunits\ form.
%   \item A command |\newnameonlydrvdunit| is created that 
%   expresses \textbf{only} the constant's units in \drvdunits\ form. 
%   \item A command |\newnameonlytradunit| is created that 
%   expresses \textbf{only} the constant's units in \tradunits\ form. 
% \end{itemize}
% None of these commands takes any arguments.
%
% \subsubsection{Predefined Physical Constants}
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{oofpez}{}
Coulomb constant.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\oofpezmathsymbol \approx \oofpez\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{oofpezcs}{}
Alternate form of Coulomb constant.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\oofpezcsmathsymbol \approx \oofpezcs\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{vacuumpermittivity}{}
Vacuum permittivity.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\vacuumpermittivitymathsymbol \approx \vacuumpermittivity\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{mzofp}{}
Biot-Savart constant.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\mzofpmathsymbol \approx \mzofp\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{vacuumpermeability}{}
Vacuum permeability.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\vacuumpermeabilitymathsymbol \approx \vacuumpermeability\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{boltzmann}{}
Boltzmann constant.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\boltzmannmathsymbol \approx \boltzmann\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{boltzmannineV}{}
Alternate form of Boltlzmann constant.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\boltzmannineVmathsymbol \approx \boltzmannineV\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{stefan}{}
Stefan-Boltzmann constant.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\stefanboltzmannmathsymbol \approx \stefanboltzmann\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{planck}{}
Planck constant.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\planckmathsymbol \approx \planck\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{planckineV}{}
Alternate form of Planck constant.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\planckmathsymbol \approx \planckineV\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{planckbar}{}
Reduced Planck constant (Dirac constant).
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\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*}{sidebyside}
\(\planckbarmathsymbol \approx \planckbarineV\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{planckc}{}
Planck constant times light speed.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\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*}{sidebyside}
\(\planckcineVmathsymbol \approx \planckcineV\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{rydberg}{}
Rydberg constant.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\rydbergmathsymbol \approx \rydberg\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{bohrradius}{}
Bohr radius.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\bohrradiusmathsymbol \approx \bohrradius\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{finestructure}{}
Fine structure constant.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\finestructuremathsymbol \approx \finestructure\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{avogadro}{}
Avogadro constant.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\avogadromathsymbol \approx \avogadro\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{universalgrav}{}
Universal gravitational constant.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\universalgravmathsymbol \approx \universalgrav\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{surfacegravfield}{}
Earth's surface gravitational field strength.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\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*}{sidebyside}
\(\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*}{sidebyside}
\(\clightinfeetmathsymbol \approx \clightinfeet\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Ratom}{}
Approximate atomic radius.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\Ratommathsymbol \approx \Ratom\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Mproton}{}
Proton mass.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\Mprotonmathsymbol \approx \Mproton\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Mneutron}{}
Neutron mass.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\Mneutronmathsymbol \approx \Mneutron\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Mhydrogen}{}
Hydrogen atom mass.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\Mhydrogenmathsymbol \approx \Mhydrogen\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Melectron}{}
Electron mass.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\Melectronmathsymbol \approx \Melectron\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{echarge}{}
Elementary charge quantum.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\echargemathsymbol \approx \echarge\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Qelectron}{}
Electron charge.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\Qelectronmathsymbol \approx \Qelectron\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{qelectron}{}
Alias for \cs{Qelectron}.
\end{docCommand}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Qproton}{}
Proton charge.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\Qprotonmathsymbol \approx \Qproton\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{qproton}{}
Alias for \cs{Qproton}.
\end{docCommand}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{MEarth}{}
Earth's mass.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\MEarthmathsymbol \approx \MEarth\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{MMoon}{}
Moon's mass.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\MMoonmathsymbol \approx \MMoon\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{MSun}{}
Sun's mass.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\MSunmathsymbol \approx \MSun\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{REarth}{}
Earth's radius.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\REarthmathsymbol \approx \REarth\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{RMoon}{}
Moon's radius.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\RMoonmathsymbol \approx \RMoon\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{RSun}{}
Sun's radius.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\RSunmathsymbol \approx \RSun\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{ESdist}{}
Earth-Sun distance.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\ESdistmathsymbol \approx \SEdist\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{SEdist}{}
Alias for \cs{ESdist}.
\end{docCommand}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{EMdist}{}
Earth-Moon distance.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\EMdistmathsymbol \approx \EMdist\)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{MEdist}{}
Alias for \cs{EMdist}.
\end{docCommand}
%\iffalse
%</example>
%\fi
%
% \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{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{dispExample*}{sidebyside}
\Fsolar
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{fstar}{}
Alias for \cs{Fstar}.
\end{docCommand}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{fsolar}{}
Alias for \cs{fsolar}.
\end{docCommand}
%\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{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{dispExample*}{sidebyside}
\Dsolar
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{dstar}{}
Alias for \cs{Dstar} that uses a lower case d.
\end{docCommand}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{dsolar}{}
Alias for \cs{Dsolar} that uses a lower case d.
\end{docCommand}
%\iffalse
%</example>
%\fi
%
%\newpage
%\changes{v2.4.0}{2014/12/16}{Added table of all predefined constants with their 
%  symbols and units.}
%\newgeometry{textwidth=8.5in}
%\begin{center}
% Here are all the predefined constants and their units.
%\end{center}
%
%\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}
%\restoregeometry
%
% \subsection{Frequently Used Fractions}
% 
%\iffalse
%<*example>
%\fi
\begin{docCommand}{onehalf}{}
Small fractions with numerator 1 and denominators up to 10.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\(\onehalf \cdots \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{dispExample*}{sidebyside}
\(\twooneths \cdots \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{dispExample*}{sidebyside}
\(\threeoneths \cdots \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{dispExample*}{sidebyside}
\(\fouroneths \cdots \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}{evalfromto}{\marg{antiderivative}\marg{lower}\marg{upper}}
Properly typesets the evaluation of definite integrals.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\( \evalfromto{\onethird y^3}{0}{3} \)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{evalat}{\marg{expression}\marg{evaluationpoint}}
Properly typesets quantities evaluated at a particular point or value.
\ntodo[Suggestion]{Combine with \cs{evaluatedat}?}
\end{docCommand}
\begin{dispExample*}{sidebyside}
\( \evalat{\dbydt[x]}{t=1} \)
\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.
\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. Use \cs{DbyDt} to get \(\Delta\) instead of d.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\( \dbydt \) or \( \dbydt x \) or \dbydt[x]
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{ddbydt}{\oarg{operand}}
Second time derivative operator. Use \cs{DDbyDt} to get \(\Delta\) instead of d.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\( \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. Use \cs{DbyD} to get \(\Delta\) instead of d.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\( \dbyd{f}{y} \)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{ddbyd}{\marg{dependentvariable}\marg{indvar}}
Generic second derivative operator. Use \cs{DDbyD} to get \(\Delta\) instead of d.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\( \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}{}
Gradient operator.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\gradient
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{divergence}{}
Divergente operator.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\divergence
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{curl}{}
Curl operator.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\curl
\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
\end{dispExample}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{seriesexpx}{}
Series expansion of \(e^x\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
\seriesexpx
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{seriessinx}{}
Series expansion of \(\sin x\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
\seriessinx
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{seriescosx}{}
Series expansion of \(\cos x\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
\seriescosx
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{seriestanx}{}
Series expansion of \(\tan x\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
\seriestanx
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{seriesatox}{}
Series expansion of \(a^x\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
\seriesatox
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{serieslnoneplusx}{}
Series expansion of \(\ln(1+x)\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
\serieslnoneplusx
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{binomialseries}{}
Series expansion of \((1+x)^n\).
\end{docCommand}
\begin{dispExample*}{sidebyside}
\binomialseries
\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
%
% \subsection{Other Useful Commands}
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{asin}{}
Symbol for inverse sine and other inverse circular trig functions.
\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{dispExample*}{sidebyside}
\( \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 Griffith's electrodynamics textbook.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\scripty{r}
\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}{abs}{\marg{arg}}
Absolute value function.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\abs{-4}
\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{singleabsbars} option is use when loading the package).
\end{docCommand}
\begin{dispExample*}{sidebyside}
\magof{\vect{E}}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{dimsof}{\marg{arg}}
Notation for showing the dimensions of a quantity.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\( \dimsof{\vect{v}} = L \cdot T^{-1} \)
\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.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\unitsof{\vect{v}} = \velocityonlytradunit
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Changein}{\marg{arg}}
Notation for \textit{the change in a quantity}.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\Changein{\vect{E}}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{scin}{\oarg{mantissa}\marg{exponent}\oarg{unit}}
Command for scientific notation with an optional unit. Deprecated. Use \cs{timestento} 
or \cs{xtento} instead.
\end{docCommand}
\begin{dispExample*}{sidebyside}
2.99\timestento{8}[\velocityonlytradunit]
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{xtento}{\marg{exponent}\oarg{unit}}
Command for scientific notation with an optional unit. Alias for \cs{timestento}.
\end{docCommand}
\begin{dispExample*}{sidebyside}
2.99\xtento{8}[\velocityonlytradunit]
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{ee}{\marg{mantissa}\marg{exponent}}
Command for scientific notation for computer code. Use \cs{EE} for |EE|.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\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. Use \cs{hms} for time. Note that other 
packages may do this better.
\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 \cs{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. Use \cs{latitudeN} or 
\cs{latitudeS} to include a letter.
\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 \cs{longitudeE} or
\cs{longitudeW} to include a letter.
\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{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{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. Use \cs{fcuberoot} to get fractional exponent.
\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. Use \cs{ffourthroot} to get fractional exponent.
\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. Use \cs{ffifthroot} to get fractional exponent.
\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. Use \cs{frelgamma} to get fractional exponent.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\begin{align*}
\gamma&=\relgamma{\magvect{v}}\\
\gamma&=\relgamma{(0.5c)}\\
\gamma&=\frelgamma{\magvect{v}}\\
\gamma&=\frelgamma{(0.5c)}
\end{align*}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{oosqrtomxs}{\marg{arg}}
Commands for expressions convenient in numerically evaluating Lorentz factors. Say each
expression out loud and you'll see where the command names come 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.
%\iffalse
%<*example>
%\fi
\begin{docCommand}{isequals}{}
Command for \textit{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. Use \cs{pwordoperator} to get 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}{}
Commands for frequently used word operators. Prepend |p| to each to get parentheses 
around the operator.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\definedas and \associated and \adjustedby    \\
\earlierthan and \laterthan and \forevery     \\
\pdefinedas and \passociated and \padjustedby \\
\pearlierthan and \platerthan and \pforevery
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{defines}{}
Command for \textit{defines} or \textit{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.
\ntodo[Suggestion]{Make the arrow's length fixed.}
\end{docCommand}
\begin{dispExample*}{sidebyside}
\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 \textit{associated with} or \textit{associates with} operator (for verbal 
concepts).
\end{docCommand}
\begin{dispExample*}{sidebyside}
kinetic energy \associates velocity
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{becomes}{}
Command for \textit{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*}{sidebyside}
(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*}{sidebyside}
(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*}{sidebyside}
(mag diff) \brelatedto{taking logarithm}{exponentiation}(flux ratio)
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
% \subsection{Commands Specific to \mi}
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{momentumprinciple}{}
Expression for the momentum principle. Prepend \cs{LHS} to get just the left
hand side and \cs{RHS} to get just the right hand side.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\momentumprinciple
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{momentumprinciplediff}{}
Expression for the momentum principle in differential form.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\momentumprinciplediff
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{energyprinciple}{}
Expression for the energy principle. Prepend \cs{LHS} to get just the left
hand side and \cs{RHS} to get just the right hand side. Processes other than work
and thermal energy transfer (e.g.\ radiation) are neglected.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\energyprinciple
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{energyprinciplediff}{}
Expression for the energy principle in differential form.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\energyprinciplediff
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{angularmomentumprinciple}{}
Expression for the angular momentum principle. Prepend \cs{LHS} to get just 
the left hand side and \cs{RHS} to get just the right hand side.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\angularmomentumprinciple
\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}
\angularmomentumprinciplediff
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{gravitationalinteraction}{}
Expression for gravitational interaction.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\gravitationalinteraction
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{electricinteraction}{}
Expression for electric interaction.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\electricinteraction
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{springinteraction}{}
Expression for spring interaction.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\springinteraction
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Efieldofparticle}{}
Expression for a particle's electric field.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\Efieldofparticle
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Bfieldofparticle}{}
Expression for a particle's magnetic field.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\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}
\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}
\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}
\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}
\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}
\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}
\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}
\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}
\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}
\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}
\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}
\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}
\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}
\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}
\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}
\DEsys
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{DUs}{}
Symbol for change in spring potential energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\DUs
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{DUg}{}
Symbol for change in gravitational potential energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\DUg
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{DUe}{}
Symbol for change in electric potential energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\DUe
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{DKtrans}{}
Symbol for change in translational kinetic energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\DKtrans
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{DKrot}{}
Symbol for change in rotational kinetic energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\DKrot
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{DKvib}{}
Symbol for change in vibrational kinetic energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\DKvib
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{DEparticle}{}
Symbol for change in particle energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\DEparticle
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{DEinternal}{}
Symbol for change in internal energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\DEinternal
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{DErest}{}
Symbol for change in rest energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\DErest
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{DEchem}{}
Symbol for change in chemical energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\DEchem
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{DEtherm}{}
Symbol for change in thermal energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\DEtherm
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{DEvib}{}
Symbol for change in vibrational energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\DEvib
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{DEphoton}{}
Symbol for change in photon energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\DEphoton
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{springpotentialenergy}{}
Expression for spring potential energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\springpotentialenergy
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{finalspringpotentnialenergy}{}
Expression for final spring potential energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\finalspringpotentialenergy
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{initialspringpotentialenergy}{}
Expression for initial spring potential energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\initialspringpotentialenergy
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{electricpotentialenergy}{}
Expression for electric potential energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\electricpotentialenergy
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{finalelectricpotentialenergy}{}
Expression for final electric potential energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\finalelectricpotentialenergy
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{initialelectricpotentialenergy}{}
Expression for initial electric potential energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\initialelectricpotentialenergy
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{gravitationalpotentialenergy}{}
Expression for gravitational potential energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\gravitationalpotentialenergy
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{finalgravitationalpotentialenergy}{}
Expression for final gravitational potential energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\finalgravitationalpotentialenergy
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{initialgravitationalpotentialenergy}{}
Expression for initial gravitational potential energy.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\initialgravitationalpotentialenergy
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{ks}{}
Symbol for spring stiffness.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\ks
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{Fnet}{}
Various symbols for net force.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\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}
\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}
\Ltotal, \Lsys, \Lsub{ball}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\changes{v2.4.0}{2014/12/16}{Added Maxwell's equations in both integral and 
% differential forms, both with and without magnetic monopoles.}
%\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}
\begin{align*} 
  &\LHSmaxwelliint \\
  &\LHSmaxwelliint[S]
\end{align*}
\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}
\[ \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}
\begin{align*}
  &\RHSmaxwelliinta \\
  &\RHSmaxwelliinta[\upsilon]
\end{align*}
\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}
\[ \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}
\begin{align*}
  &\maxwelliint \\
  &\maxwelliint[S]
\end{align*}
\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}
\begin{align*}
  &\maxwelliinta \\
  &\maxwelliinta[S][\upsilon]
\end{align*}
\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}
\begin{align*}
  &\maxwelliintfree \\
  &\maxwelliintfree[S]
\end{align*}
\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}
\begin{align*}
  &\LHSmaxwelliiint \\
  &\LHSmaxwelliiint[S]
\end{align*}
\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}
\[ \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}
\[ \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}
\begin{align*} 
  &\RHSmaxwelliiintma \\
  &\RHSmaxwelliiintma[\upsilon]
\end{align*}
\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}
\[ \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}
\begin{align*} 
  &\maxwelliiint \\
  &\maxwelliiint[S]
\end{align*}
\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}
\begin{align*}
  &\maxwelliiintm \\
  &\maxwelliiintm[S]
\end{align*}
\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}
\begin{align*}
  &\maxwelliiintma \\
  &\maxwelliiintma[S][\upsilon]
\end{align*}
\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}
\begin{align*}
  &\maxwelliiintfree \\
  &\maxwelliiintfree[S]
\end{align*}
\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}
\begin{align*}
  &\LHSmaxwelliiiint \\
  &\LHSmaxwelliiiint[C]
\end{align*}
\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}
\begin{align*}
  &\RHSmaxwelliiiint \\
  &\RHSmaxwelliiiint[S]
\end{align*}
\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}
\begin{align*}
  &\RHSmaxwelliiiintm \\
  &\RHSmaxwelliiiintm[S]
\end{align*}
\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}
\begin{align*}
  &\RHSmaxwelliiiintma \\
  &\RHSmaxwelliiiintma[S]
\end{align*}
\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}
\begin{align*}
  &\RHSmaxwelliiiintfree \\
  &\RHSmaxwelliiiintfree[S]
\end{align*}
\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}
\begin{align*}
  &\maxwelliiiint \\
  &\maxwelliiiint[C][S]
\end{align*}
\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}
\begin{align*}
  &\maxwelliiiintm \\
  &\maxwelliiiintm[C][S]
\end{align*}
\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}
\begin{align*}
  &\maxwelliiiintma \\
  &\maxwelliiiintma[C][S]
\end{align*}
\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}
\begin{align*}
  &\maxwelliiiintfree \\
  &\maxwelliiiintfree[C][S]
\end{align*}
\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}
\begin{align*}
  &\LHSmaxwellivint \\
  &\LHSmaxwellivint[C]
\end{align*}
\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}
\begin{align*}
  &\RHSmaxwellivint \\
  &\RHSmaxwellivint[S]
\end{align*}
\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}
\begin{align*}
  &\RHSmaxwellivinta \\
  &\RHSmaxwellivinta[S]
\end{align*}
\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}
\begin{align*}
  &\RHSmaxwellivintfree \\
  &\RHSmaxwellivintfree[S]
\end{align*}
\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}
\begin{align*}
  &\maxwellivint \\
  &\maxwellivint[C][S]
\end{align*}
\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}
\begin{align*}
  &\maxwellivinta \\
  &\maxwellivinta[C][S]
\end{align*}
\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}
\begin{align*}
  &\maxwellivintfree \\
  &\maxwellivintfree[C][S]
\end{align*}
\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}
\[ \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}
\[ \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}
\[ \RHSmaxwellidiffree \]
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{maxwellidif}{}
Maxwell's first equation in differential form.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\[ \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}
\[ \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}
\[ \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}
\[ \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}
\[ \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}
\[ \RHSmaxwelliidiffree \]
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{maxwelliidif}{}
Maxwell's second equation in differential form.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\[ \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}
\[ \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}
\[ \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}
\[ \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}
\[ \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}
\[ \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}
\[ \RHSmaxwelliiidiffree \]
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{maxwelliiidif}{}
Maxwell's third equation in differential form.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\[ \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}
\[ \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}
\[ \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}
\[ \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}
\[ \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}
\[ \RHSmaxwellivdiffree \]
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{maxwellivdif}{}
Maxwell's fourth equation in differential form.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\[ \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}
\[ \maxwellivdiffree \]
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\changes{v2.4.0}{2014/12/16}{Added Lorentz force, with and without magnetic
% monopoles.}
%\iffalse
%<*example>
%\fi
\begin{docCommand}{RHSlorentzforce}{}
Right hand side of Lorentz force.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\[ \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}
\[ \RHSlorentzforcem \]
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\changes{v2.4.0}{2014/12/16}{\pkgname{vpythonline} now uses a uniform style.}
%\iffalse
%<*example>
%\fi
\begin{docCommand}{vpythonline}{\marg{vpythoncode}}
Command for a single line of VPython code used inline.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\vpythonline{from visual import *}
\end{dispExample*}
%\iffalse
%</example>
%\fi
%
%\changes{v2.4.0}{2014/12/16}{\pkgname{vpythonblock} now uses a uniform style.}
%\iffalse
%<*example>
%\fi
\begin{docEnvironment}{vpythonblock}{}
Environment for a block of VPython code.
\end{docEnvironment}
\begin{dispExample}
\begin{vpythonblock}
  from __future__ import division,print_function
  from visual 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
%
%\changes{v2.4.0}{2014/12/16}{\pkgname{vpythonfile} now uses a uniform style.}
%\iffalse
%<*example>
%\fi
\begin{docCommand}{vpythonfile}{\meta{filename}}
Typesets a file in the current directory containing VPython code.
\end{docCommand}
\begin{dispExample}
\vpythonfile{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 \cs{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 \cs{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 \cs{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 \cs{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{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.
\end{docEnvironment}
\begin{dispExample}
\begin{miderivation}
  \gamma &= \relgamma{\magvect{v}} 
    && \text{given} \\
  \gamma\squared &= \ooomx{(\frac{\magvect{v}}{c})\squared}
    &&\text{square both sides}\\
  \frac{1}{\gamma\squared} &= 1-(\frac{\magvect{v}}{c})\squared
    &&\text{reciprocal of both sides} \\
  (\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}{bwinstructornote}{}
Environment for highlighting notes to instructors.
\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}{}
Environment for highlighting notes to students.
\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}{}
Environment for mathematical derivations based on the |align| environment.
\end{docEnvironment}
\begin{dispExample}
\begin{bwderivation}
  \gamma &= \relgamma{\magvect{v}} 
    && \text{given} \\
  \gamma\squared &= \ooomx{(\frac{\magvect{v}}{c})\squared}
    &&\text{square both sides}\\
  \frac{1}{\gamma\squared} &= 1-(\frac{\magvect{v}}{c})\squared
    &&\text{reciprocal of both sides} \\
  (\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}{mysolution}{}
Alias for simple environment for mathematical derivations based on the |align| 
environment.
\end{docEnvironment}
\begin{dispExample}
\begin{mysolution}
  \gamma &= \relgamma{\magvect{v}} 
    && \text{given} \\
  \gamma\squared &= \ooomx{(\frac{\magvect{v}}{c})\squared}
    &&\text{square both sides}\\
  \frac{1}{\gamma\squared} &= 1-(\frac{\magvect{v}}{c})\squared
    &&\text{reciprocal of both sides} \\
  (\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}
\end{dispExample}
%\iffalse
%</example>
%\fi
%
% \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}{\marg{imagefilename}\marg{caption}}
Centered figure displayed actual size with caption.
\end{docCommand}
\begin{dispListing}
\image{satellite.pdf}{Photograph of satellite}
\end{dispListing}
%\iffalse
%</example>
%\fi
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{sneakyone}{\marg{thing}}
Sshows factors dividing to a sneaky one.
\end{docCommand}
\begin{dispExample*}{sidebyside}
\sneakyone{\m}
\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{environ}
\RequirePackage{esint}
\RequirePackage[g]{esvect}
\RequirePackage{etoolbox}
\RequirePackage{filehook}
\RequirePackage{extarrows}
\RequirePackage[T1]{fontenc}
\RequirePackage{graphicx}
\RequirePackage{epstopdf}
\RequirePackage{textcomp}
\RequirePackage{letltxmacro}
\RequirePackage{listings}
\RequirePackage[framemethod=TikZ]{mdframed}
\RequirePackage{suffix}
\RequirePackage{xargs}
\RequirePackage{xparse}
\RequirePackage{xspace}
\RequirePackage{ifthen}
\RequirePackage{calligra}
\RequirePackage{hyperref}
\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}
%\changes{v2.4.0}{2014/12/16}{Introduced a uniform style for VPython code.}
\definecolor{vbgcolor}{rgb}{1,1,1}
\definecolor{vshadowcolor}{rgb}{0.5,0.5,0.5}
\lstdefinestyle{vpython}{%                % style for VPython code
  language=Python,%                       % select language
  morekeywords={visual,arrow,box,cone,%   % VPython specific keywords
  convex,curve,cylinder,ellipsoid,extrusion,faces,helix,label,points,pyramid,ring,%
  sphere,text,frame,graphs,vector,pos,axis,radius,color,opacity,material,up,%
  make_trail,trail_type,trail_object,scene,mag,mag2,norm,dot,cross,proj,comp,%
  diff_angle,rotate,astuple,radians,shaftwidth,headwidth,headlength,height,width,%
  size,degrees,interval,retain,__future__,division,print_function,rate},%
  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
  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
\newcolumntype{C}[1]{>{\centering}m{#1}}
\newboolean{@optromanvectors}
\newboolean{@optboldvectors}
\newboolean{@optsingleabsbars}
\newboolean{@optbaseunits}
\newboolean{@optdrvdunits}
\newboolean{@optapproxconsts}
\setboolean{@optromanvectors}{false}   % this is where you set the default option
\setboolean{@optboldvectors}{false}    % this is where you set the default option
\setboolean{@optsingleabsbars}{false}  % this is where you set the default option
\setboolean{@optbaseunits}{false}      % this is where you set the default option
\setboolean{@optdrvdunits}{false}      % this is where you set the default option
\setboolean{@optapproxconsts}{false}   % this is where you set the default option
\DeclareOption{romanvectors}{\setboolean{@optromanvectors}{true}}
\DeclareOption{boldvectors}{\setboolean{@optboldvectors}{true}}
\DeclareOption{singleabsbars}{\setboolean{@optsingleabsbars}{true}}
\DeclareOption{baseunits}{\setboolean{@optbaseunits}{true}}
\DeclareOption{drvdunits}{\setboolean{@optdrvdunits}{true}}
\DeclareOption{approxconsts}{\setboolean{@optapproxconsts}{true}}
\ProcessOptions\relax
%    \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}
%
%    \begin{macrocode}
\newcommand*{\mandiversion}{2.4.0}
\typeout{mandi: You're using mandi version \mandiversion.}
%    \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
%    \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*\selecttradunit[3]{#3}
\newcommand*\selectunit{}
\newcommand*\perpusebaseunit{\let\selectunit=\selectbaseunit}
\newcommand*\perpusedrvdunit{\let\selectunit=\selectdrvdunit}
\newcommand*\perpusetradunit{\let\selectunit=\selecttradunit}
\newcommand*\hereusebaseunit[1]{%
  \begingroup\perpusebaseunit#1\endgroup}%
\newcommand*\hereusedrvdunit[1]{%
  \begingroup\perpusedrvdunit#1\endgroup}%
\newcommand*\hereusetradunit[1]{%
  \begingroup\perpusetradunit#1\endgroup}%
\newenvironment{usebaseunit}{\perpusebaseunit}{}%
\newenvironment{usedrvdunit}{\perpusedrvdunit}{}%
\newenvironment{usetradunit}{\perpusetradunit}{}%
\newcommand*\newphysicsquantity{\definephysicsquantity{\newcommand}}
\newcommand*\redefinephysicsquantity{\definephysicsquantity{\renewcommand}}
\newcommandx*\definephysicsquantity[5][4=,5=]{%
  \innerdefinewhatsoeverquantityfork{#3}{#4}{#5}{#1}{#2}{}{[1]}{##1}}%
\newcommand*\newphysicsconstant{\definephysicsconstant{\newcommand}}
\newcommand*\redefinephysicsconstant{\definephysicsconstant{\renewcommand}}
\newcommandx*\definephysicsconstant[7][6=,7=]{%
  \innerdefinewhatsoeverquantityfork{#5}{#6}{#7}{#1}{#2}{#3}{}{#4}}%
\newcommand*\innerdefinewhatsoeverquantityfork[3]{%
  \expandafter\innerdefinewhatsoeverquantity\romannumeral0%
  \mi@forkifnull{#3}{\mi@forkifnull{#2}{{#1}}{{#2}}{#1}}%
                 {\mi@forkifnull{#2}{{#1}}{{#2}}{#3}}{#1}}%
\newcommand*\innerdefinewhatsoeverquantity[8]{%
  \mi@name#4{#5}#7{\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{#5tradunit}#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{#5onlytradunit}{\ensuremath{#2}}%
  \mi@name#4{#5value}#7{\ensuremath{#8}}%
  \mi@forkifnull{#7}{%
    \ifx#4\renewcommand\mi@name\let{#5mathsymbol}=\relax\fi
    \mi@name\newcommand*{#5mathsymbol}{\ensuremath{#6}}}{}}%
%    \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{@optsingleabsbars}}
  {\typeout{mandi: You'll get single absolute value bars.}}
  {\typeout{mandi: You'll get double absolute value bars.}}
\ifthenelse{\boolean{@optbaseunits}}
  {\perpusebaseunit %
   \typeout{mandi: You'll get base units.}}
  {\ifthenelse{\boolean{@optdrvdunits}}
     {\perpusedrvdunit %
      \typeout{mandi: You'll get derived units.}}
     {\perpusetradunit %
      \typeout{mandi: You'll get traditional units.}}}
\ifthenelse{\boolean{@optapproxconsts}}
  {\typeout{mandi: You'll get approximate constants.}}
  {\typeout{mandi: You'll get precise constants.}}
%    \end{macrocode}
%
% \noindent This is a utility command for picking constants.
%    \begin{macrocode}
\ifthenelse{\boolean{@optapproxconsts}}
  {\newcommand*{\mi@p}[2]{#1}} % approximate value
  {\newcommand*{\mi@p}[2]{#2}} % precise value
%    \end{macrocode}
%
% \noindent This block of code makes parentheses adjustable.
%    \begin{macrocode}
\def\resetMathstrut@{%
  \setbox\z@\hbox{%
    \mathchardef\@tempa\mathcode`\[\relax
    \def\@tempb##1"##2##3{\the\textfont"##3\char"}%
    \expandafter\@tempb\meaning\@tempa \relax}%
  \ht\Mathstrutbox@\ht\z@ \dp\Mathstrutbox@\dp\z@}
\begingroup
  \catcode`(\active \xdef({\left\string(}
  \catcode`)\active \xdef){\right\string)}
\endgroup
\mathcode`(="8000 \mathcode`)="8000
\typeout{mandi: Parentheses have been made adjustable in math mode.}
%    \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}}}
\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][\relax]
\newphysicsquantity{solidangle}{\m\squared\usk\reciprocalsquare\m}[\sr][\relax]
\newcommand*{\indegrees}[1]{\unit{#1}{\degree}}
\newcommand*{\inFarenheit}[1]{\unit{#1}{\degree\mathrm{F}}}
\newcommand*{\inCelsius}[1]{\unit{#1}{\degree\mathrm{C}}}
\newcommand*{\inarcminutes}[1]{\unit{#1}{\arcminute}}
\newcommand*{\inarcseconds}[1]{\unit{#1}{\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}}
\newphysicsquantity{velocity}{\m\usk\reciprocal\s}[\m\usk\reciprocal\s][\m\per\s]
\newcommand*{\speed}{\velocity}
\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]
\newcommand*{\lorentz}[1]{\ensuremath{#1}}
\newphysicsquantity{momentum}{\m\usk\kg\usk\reciprocal\s}[\N\usk\s][\kg\usk\m\per\s]
\newphysicsquantity{impulse}{\m\usk\kg\usk\reciprocal\s}[\N\usk\s][\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}{\relax}[\relax][\relax]
\newphysicsquantity{work}{\m\squared\usk\kg\usk\s\reciprocalsquared}[\J][\N\usk\m]
\newphysicsquantity{energy}{\m\squared\usk\kg\usk\s\reciprocalsquared}[\N\usk\m][\J]
\newphysicsquantity{power}{\m\squared\usk\kg\usk\s\reciprocalcubed}[\J\per\s][\W]
\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{angularmomentum}{\m\squared\usk\kg\usk\reciprocal\s}[\J\usk\s]%
  [\kg\usk\m\squared\per\s]
\newphysicsquantity{momentofinertia}{\m\squared\usk\kg}[\J\usk\s\squared]%
  [\kg\usk\m\squared]
\newphysicsquantity{torque}{\m\squared\usk\kg\usk\s\reciprocalsquared}[\J\per\rad]%
  [\N\usk\m]
\newphysicsquantity{entropy}{\m\squared\usk\kg\usk\s\reciprocalsquared\usk\reciprocal\K}
  [\J\per\K][\J\per\K]
\newphysicsquantity{wavelength}{\m}[\m][\m]
\newphysicsquantity{wavenumber}{\reciprocal\m}[\per\m][\per\m]
\newphysicsquantity{frequency}{\reciprocal\s}[\hertz][\hertz]
\newphysicsquantity{angularfrequency}{\rad\usk\reciprocal\s}[\rad\per\s][\rad\per\s]
\newphysicsquantity{charge}{\A\usk\s}[\C][\C]
\newphysicsquantity{permittivity}
{\m\reciprocalcubed\usk\reciprocal\kg\usk\s\reciprocalquarted\usk\A\squared}%
  [\F\per\m][\C\squared\per\N\usk\m\squared]
\newphysicsquantity{permeability}%
  {\m\usk\kg\usk\s\reciprocalsquared\usk\A\reciprocalsquared}[\henry\per\m]%
  [\T\usk\m\per\A]
\newphysicsquantity{electricfield}{\m\usk\kg\usk\s\reciprocalcubed\usk\reciprocal\A}%
  [\V\per\m][\N\per\C]
\newphysicsquantity{electricdipolemoment}{\m\usk\s\usk\A}[\C\usk\m][\C\usk\m]
\newphysicsquantity{electricflux}%
  {\m\cubed\usk\kg\usk\s\reciprocalcubed\usk\reciprocal\A}%
  [\V\usk\m][\N\usk\m\squared\per\C]
\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}[\volt\usk\s]%
  [\T\usk\m\squared] % also \Wb and \J\per\A
\newphysicsquantity{cmagneticfield}{\m\usk\kg\usk\s\reciprocalcubed\usk\reciprocal\A}%
  [\V\per\m][\N\per\C]
\newphysicsquantity{linearchargedensity}{\reciprocal\m\usk\s\usk\A}[\C\per\m][\C\per\m]
\newphysicsquantity{areachargedensity}{\reciprocalsquare\m\usk\s\usk\A}%
  [\C\per\square\m][\C\per\square\m]
\newphysicsquantity{volumechargedensity}{\reciprocalcubic\m\usk\s\usk\A}%
  [\C\per\cubic\m][\C\per\cubic\m]
\newphysicsquantity{mobility}%
 {\m\squared\usk\kg\usk\s\reciprocalquarted\usk\reciprocal\A}[\m\squared\per\volt\usk\s]
 [(\m\per\s)\per(\N\per\C)]
\newphysicsquantity{numberdensity}{\reciprocalcubic\m}[\per\cubic\m][\per\cubic\m]
\newphysicsquantity{polarizability}{\reciprocal\kg\usk\s\quarted\usk\square\A}%
  [\C\usk\square\m\per\V][\C\usk\m\per(\N\per\C)]
\newphysicsquantity{electricpotential}%
  {\square\m\usk\kg\usk\reciprocalcubic\s\usk\reciprocal\A}[\J\per\C][\V]
\newphysicsquantity{emf}{\square\m\usk\kg\usk\reciprocalcubic\s\usk\reciprocal\A}%
  [\J\per\C][\V]
\newphysicsquantity{dielectricconstant}{}[][]
\newphysicsquantity{indexofrefraction}{}[][]
\newphysicsquantity{relativepermittivity}{}[][]
\newphysicsquantity{relativepermeability}{}[][]
\newphysicsquantity{energydensity}{\m\reciprocaled\usk\kg\usk\reciprocalsquare\s}%
  [\J\per\cubic\m][\J\per\cubic\m]
\newphysicsquantity{energyflux}{\kg\usk\s\reciprocalcubed}%
  [\W\per\m\squared][\W\per\m\squared]
\newphysicsquantity{electroncurrent}{\reciprocal\s}%
  [\ensuremath{\mathrm{e}}\per\s][\ensuremath{\mathrm{e}}\per\s]
\newphysicsquantity{conventionalcurrent}{\A}[\C\per\s][\A]
\newphysicsquantity{magneticdipolemoment}{\square\m\usk\A}[\J\per\T][\A\usk\square\m]
\newphysicsquantity{currentdensity}{\reciprocalsquare\m\usk\A}[\C\usk\s\per\square\m]%
  [\A\per\square\m]
\newphysicsquantity{capacitance}%
  {\reciprocalsquare\m\usk\reciprocal\kg\usk\quartic\s\usk\square\A}[\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}[\siemens\per\m]%
  [(\A\per\square\m)\per(\V\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}[\V\per\A][\ohm]
\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*{\lv}{\ensuremath{\left\langle}}
\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{(\clist_use:Nnnn \l_tmpa_clist { )^2+( } { )^2+( } { )^2+( } )^2 }
        }%
      }%
      {%
        \clist_set:Nn \l_tmpa_clist { #1 }
        \ensuremath{%
          \sqrt{(\clist_use:Nnnn \l_tmpa_clist {\;{ #2 })^2+(} {\;{ #2 })^2+(}
          {\;{ #2 })^2+(} \;{ #2 })^2}
        }%
      }%
  }%
\ExplSyntaxOff
%
\newcommand*{\zerovect}{\vect{0}}
\newcommand*{\ncompszerovect}{\mivector{0,0,0}}
\ifthenelse{\boolean{@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{@optsingleabsbars}}
  {\newcommand*{\magvect}[1]{\ensuremath{\abs{\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}{\dirvect}
\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*{\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{@optsingleabsbars}}
  {\newcommand*{\magdvect}[1]{\ensuremath{\abs{\dvect{#1}}}}
   \newcommand*{\magDvect}[1]{\ensuremath{\abs{\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{@optsingleabsbars}}
  {\newcommand*{\magdervect}[2]{\ensuremath{\abs{\dervect{#1}{#2}}}}
   \newcommand*{\magDervect}[2]{\ensuremath{\abs{\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{@optsingleabsbars}}
  {\newcommand*{\magvectsub}[2]{\ensuremath{\abs{\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*{\directionsub}{\dirvectsub}
\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{@optsingleabsbars}}
  {\newcommand*{\magdervectsub}[3]{\ensuremath{\abs{\dervectsub{#1}{#2}{#3}}}}
   \newcommand*{\magDervectsub}[3]{\ensuremath{\abs{\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}\bullet{#2}}}
\newcommand*{\vectdotsvect}[2]{\ensuremath{\scompsvect{#1}\bullet\scompsvect{#2}}}
\newcommand*{\vectdotevect}[2]{\ensuremath{%
  \compvect{#1}{x}\compvect{#2}{x}+%
  \compvect{#1}{y}\compvect{#2}{y}+%
  \compvect{#1}{z}\compvect{#2}{z}}}
\newcommand*{\vectdotsdvect}[2]{\ensuremath{\scompsvect{#1}\bullet\scompsdvect{#2}}}
\newcommand*{\vectdotsDvect}[2]{\ensuremath{\scompsvect{#1}\bullet\scompsDvect{#2}}}
\newcommand*{\vectdotedvect}[2]{\ensuremath{%
  \compvect{#1}{x}\compdvect{#2}{x}+%
  \compvect{#1}{y}\compdvect{#2}{y}+%
  \compvect{#1}{z}\compdvect{#2}{z}}}
\newcommand*{\vectdoteDvect}[2]{\ensuremath{%
  \compvect{#1}{x}\compDvect{#2}{x}+%
  \compvect{#1}{y}\compDvect{#2}{y}+%
  \compvect{#1}{z}\compDvect{#2}{z}}}
\newcommand*{\vectsubdotsvectsub}[4]{\ensuremath{%
  \scompsvectsub{#1}{#2}\bullet\scompsvectsub{#3}{#4}}}
\newcommand*{\vectsubdotevectsub}[4]{\ensuremath{%
  \compvectsub{#1}{#2}{x}\compvectsub{#3}{#4}{x}+%
  \compvectsub{#1}{#2}{y}\compvectsub{#3}{#4}{y}+%
  \compvectsub{#1}{#2}{z}\compvectsub{#3}{#4}{z}}}
\newcommand*{\vectsubdotsdvectsub}[4]{\ensuremath{%
  \scompsvectsub{#1}{#2}\bullet\scompsdvectsub{#3}{#4}}}
\newcommand*{\vectsubdotsDvectsub}[4]{\ensuremath{%
  \scompsvectsub{#1}{#2}\bullet\scompsDvectsub{#3}{#4}}}
\newcommand*{\vectsubdotedvectsub}[4]{\ensuremath{%
  \compvectsub{#1}{#2}{x}\compdvectsub{#3}{#4}{x}+%
  \compvectsub{#1}{#2}{y}\compdvectsub{#3}{#4}{y}+%
  \compvectsub{#1}{#2}{z}\compdvectsub{#3}{#4}{z}}}
\newcommand*{\vectsubdoteDvectsub}[4]{\ensuremath{%
  \compvectsub{#1}{#2}{x}\compDvectsub{#3}{#4}{x}+%
  \compvectsub{#1}{#2}{y}\compDvectsub{#3}{#4}{y}+%
  \compvectsub{#1}{#2}{z}\compDvectsub{#3}{#4}{z}}}
\newcommand*{\vectsubdotsdvect}[3]{\ensuremath{%
  \scompsvectsub{#1}{#2}\bullet\scompsdvect{#3}}}
\newcommand*{\vectsubdotsDvect}[3]{\ensuremath{%
  \scompsvectsub{#1}{#2}\bullet\scompsDvect{#3}}}
\newcommand*{\vectsubdotedvect}[3]{\ensuremath{%
  \compvectsub{#1}{#2}{x}\compdvect{#3}{x}+%
  \compvectsub{#1}{#2}{y}\compdvect{#3}{y}+%
  \compvectsub{#1}{#2}{z}\compdvect{#3}{z}}}
\newcommand*{\vectsubdoteDvect}[3]{\ensuremath{%
  \compvectsub{#1}{#2}{x}\compDvect{#3}{x}+%
  \compvectsub{#1}{#2}{y}\compDvect{#3}{y}+%
  \compvectsub{#1}{#2}{z}\compDvect{#3}{z}}}
\newcommand*{\dervectdotsvect}[3]{\ensuremath{%
  \scompsdervect{#1}{#2}\bullet\scompsvect{#3}}}
\newcommand*{\Dervectdotsvect}[3]{\ensuremath{%
  \scompsDervect{#1}{#2}\bullet\scompsvect{#3}}}
\newcommand*{\dervectdotevect}[3]{\ensuremath{%
  \compdervect{#1}{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}\bullet\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}\bullet\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{({#1}\boldsymbol{\times}{#2})%
  \boldsymbol{\times}{#3}}}
\newcommand*{\rtriplecross}[3]{\ensuremath{{#1}\boldsymbol{\times}%
  ({#2}\boldsymbol{\times}{#3})}}
\newcommand*{\ltriplescalar}[3]{\ensuremath{{#1}\boldsymbol{\times}{#2}\bullet{#3}}}
\newcommand*{\rtriplescalar}[3]{\ensuremath{{#1}\bullet{#2}\boldsymbol{\times}{#3}}}
\newcommand*{\ezero}{\ensuremath{\msub{\boldsymbol{e}}{0}}}
\newcommand*{\eone}{\ensuremath{\msub{\boldsymbol{e}}{1}}}
\newcommand*{\etwo}{\ensuremath{\msub{\boldsymbol{e}}{2}}}
\newcommand*{\ethree}{\ensuremath{\msub{\boldsymbol{e}}{3}}}
\newcommand*{\efour}{\ensuremath{\msub{\boldsymbol{e}}{4}}}
\newcommand*{\ek}[1]{\ensuremath{\msub{\boldsymbol{e}}{#1}}}
\newcommand*{\e}{\ek}
\newcommand*{\uezero}{\ensuremath{\msub{\widehat{\boldsymbol{e}}}{0}}}
\newcommand*{\ueone}{\ensuremath{\msub{\widehat{\boldsymbol{e}}}{1}}}
\newcommand*{\uetwo}{\ensuremath{\msub{\widehat{\boldsymbol{e}}}{2}}}
\newcommand*{\uethree}{\ensuremath{\msub{\widehat{\boldsymbol{e}}}{3}}}
\newcommand*{\uefour}{\ensuremath{\msub{\widehat{\boldsymbol{e}}}{4}}}
\newcommand*{\uek}[1]{\ensuremath{\msub{\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*{\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{\msub{\boldsymbol{\gamma}}{0}}}
\newcommand*{\gone}{\ensuremath{\msub{\boldsymbol{\gamma}}{1}}}
\newcommand*{\gtwo}{\ensuremath{\msub{\boldsymbol{\gamma}}{2}}}
\newcommand*{\gthree}{\ensuremath{\msub{\boldsymbol{\gamma}}{3}}}
\newcommand*{\gfour}{\ensuremath{\msub{\boldsymbol{\gamma}}{4}}}
\newcommand*{\gk}[1]{\ensuremath{\msub{\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{\scompsrvect}[2][1,usedefault]{%
  \ifthenelse{\equal{#1}{}}%
  {%
    \rowvector[,]{\msub{#2}{1},\msub{#2}{2},\msub{#2}{3}}%
  }%
  {%
    \rowvector[,]{\msub{#2}{0},\msub{#2}{1},\msub{#2}{2},\msub{#2}{3}}%
  }%
}%
\newphysicsconstant{oofpez}{\ensuremath{\frac{1}
{\phantom{_o}4\pi\epsilon_0}}}{\mi@p{9}{8.9876}\timestento{9}}
{\m\cubed\usk\kg\usk\reciprocalquartic\s\usk\A\reciprocalsquared}[\m\per\farad]
[\newton\usk\m\squared\per\coulomb\squared]
\newcommand*{\coulombconstant}{\oofpez}
\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}
[\T\usk\m\squared][\N\usk\s\squared\per\C\squared]
\newcommand*{\altcoulombconstant}{\oofpezcs}
\newphysicsconstant{vacuumpermittivity}{\ensuremath{\epsilon_0}}
{\mi@p{9.0}{8.8542}\timestento{-12}}
{\m\reciprocalcubed\usk\reciprocal\kg\usk\s\quarted\usk\A\squared}[\F\per\m]
[\C\squared\per\N\usk\m\squared]
\newphysicsconstant{mzofp}
{\ensuremath{\frac{\phantom{_oo}\mu_0\phantom{_o}}{4\pi}}}
{\tento{-7}}{\m\usk\kg\usk\s\reciprocalsquared\usk\A\reciprocalsquared}
[\henry\per\m][\tesla\usk\m\per\A]
\newcommand*{\biotsavartconstant}{\mzofp}
\newphysicsconstant{vacuumpermeability}{\ensuremath{\mu_0}}
{4\pi\timestento{-7}}{\m\usk\kg\usk\s\reciprocalsquared\usk\A\reciprocalsquared}
[\henry\per\m][\T\usk\m\per\A]
\newphysicsconstant{boltzmann}{\ensuremath{k_B}}
{\mi@p{1.4}{1.3806}\timestento{-23}}
{\m\squared\usk\kg\usk\reciprocalsquare\s\usk\reciprocal\K}[\joule\per\K][\J\per\K]
\newcommand*{\boltzmannconstant}{\boltzmann}
\newphysicsconstant{boltzmannineV}{\ensuremath{k_B}}
{\mi@p{8.6}{8.6173}\timestento{-5}}
{\eV\usk\reciprocal\K}[\eV\per\K][\eV\per\K]
\newphysicsconstant{stefanboltzmann}{\ensuremath{\sigma}}
{\mi@p{5.7}{5.6704}\timestento{-8}}
{\kg\usk\s\reciprocalcubed\usk\K\reciprocalquarted}[\W\per\m\squared\usk\K^4]
[\W\per\m\squared\usk\K\quarted]
\newcommand*{\stefanboltzmannconstant}{\stefanboltzmann}
\newphysicsconstant{planck}{\ensuremath{h}}{\mi@p{6.6}{6.6261}\timestento{-34}}
{\m\squared\usk\kg\usk\reciprocal\s}[\J\usk\s][\J\usk\s]
\newcommand*{\planckconstant}{\planck}
\newphysicsconstant{planckineV}{\ensuremath{h}}{\mi@p{4.1}{4.1357}\timestento{-15}}
{\eV\usk\s}[\eV\usk\s][\eV\usk\s]
\newphysicsconstant{planckbar}{\ensuremath{\hslash}}{\mi@p{1.1}{1.0546}\timestento{-34}}
{\m\squared\usk\kg\usk\reciprocal\s}[\J\usk\s][\J\usk\s]
\newcommand*{\reducedplanckconstant}{\planckbar}
\newphysicsconstant{planckbarineV}{\ensuremath{\hslash}}
{\mi@p{6.6}{6.5821}\timestento{-16}}{\eV\usk\s}[\eV\usk\s][\eV\usk\s]
\newphysicsconstant{planckc}{\ensuremath{hc}}{\mi@p{2.0}{1.9864}\timestento{-25}}
{\m\cubed\usk\kg\usk\reciprocalsquare\s}[\J\usk\m][\J\usk\m]
\newcommand*{\planckconstanttimesc}{\planckc}
\newphysicsconstant{planckcineV}{\ensuremath{hc}}
{\mi@p{2.0}{1.9864}\timestento{-25}}{\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.0974}\timestento{7}}{\reciprocal\m}[\reciprocal\m][\reciprocal\m]
\newcommand*{\rydbergconstant}{\rydberg}
\newphysicsconstant{bohrradius}{\ensuremath{a_0}}{\mi@p{5.3}{5.2918}\timestento{-11}}
{\m}[\m][\m]
\newphysicsconstant{finestructure}{\ensuremath{\alpha}}
{\mi@p{\frac{1}{137}}{7.2974\timestento{-3}}}{\relax}
\newcommand*{\finestructureconstant}{\finestructure}
\newphysicsconstant{avogadro}{\ensuremath{N_A}}
{\mi@p{6.0}{6.0221}\timestento{23}}{\reciprocal\mol}[\reciprocal\mol][\reciprocal\mol]
\newcommand*{\avogadroconstant}{\avogadro}
\newphysicsconstant{universalgrav}{\ensuremath{G}}{\mi@p{6.7}{6.6738}\timestento{-11}}
{\m\cubed\usk\reciprocal\kg\usk\s\reciprocalsquared}[\J\usk\m\per\kg\squared]
[\N\usk\m\squared\per\kg\squared]
\newcommand*{\universalgravitationalconstant}{\universalgrav}
\newphysicsconstant{surfacegravfield}{\ensuremath{g}}{\mi@p{9.8}{9.80}}
{\m\usk\s\reciprocalsquared}[\N\per\kg][\N\per\kg]
\newcommand*{\earthssurfacegravitationalfield}{\surfacegravfield}
\newphysicsconstant{clight}{\ensuremath{c}}
{\mi@p{3}{2.9979}\timestento{8}}{\m\usk\reciprocal\s}[\m\per\s][\m\per\s]
\newcommand*{\photonconstant}{\clight}
\newphysicsconstant{clightinfeet}{\ensuremath{c}}{\mi@p{1}{0.9836}}
{\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.6726}\timestento{-27}}{\kg}[\kg][\kg]
\newphysicsconstant{Mneutron}{\ensuremath{m_n}}
{\mi@p{1.7}{1.6749}\timestento{-27}}{\kg}[\kg][\kg]
\newphysicsconstant{Mhydrogen}{\ensuremath{m_H}}
{\mi@p{1.7}{1.6737}\timestento{-27}}{\kg}[\kg][\kg]
\newphysicsconstant{Melectron}{\ensuremath{m_e}}
{\mi@p{9.1}{9.1094}\timestento{-31}}{\kg}[\kg][\kg]
\newphysicsconstant{echarge}{\ensuremath{e}}
{\mi@p{1.6}{1.6022}\timestento{-19}}{\A\usk\s}[\C][\C]
\newcommand*{\elementarycharge}{\echarge}
\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.9736}\timestento{24}}{\kg}[\kg][\kg]
\newphysicsconstant{MMoon}{\ensuremath{M_{\text{Moon}}}}
{\mi@p{7.3}{7.3459}\timestento{22}}{\kg}[\kg][\kg]
\newphysicsconstant{MSun}{\ensuremath{M_{\text{Sun}}}}
{\mi@p{2.0}{1.9891}\timestento{30}}
{\kg}[\kg][\kg]
\newphysicsconstant{REarth}{\ensuremath{R_{\text{Earth}}}}
{\mi@p{6.4}{6.3675}\timestento{6}}{\m}[\m][\m]
\newphysicsconstant{RMoon}{\ensuremath{R_{\text{Moon}}}}
{\mi@p{1.7}{1.7375}\timestento{6}}{\m}[\m][\m]
\newphysicsconstant{RSun}{\ensuremath{R_{\text{Sun}}}}{\mi@p{7.0}{6.9634}\timestento{8}}
{\m}[\m][\m]
\newphysicsconstant{ESdist}{\magvectsub{r}{ES}}{\mi@p{1.5}{1.4960}\timestento{11}}{\m}
[\m][\m]
\newphysicsconstant{SEdist}{\magvectsub{r}{SE}}{\mi@p{1.5}{1.4960}\timestento{11}}{\m}
[\m][\m]
\newcommand*{\EarthSundistance}{\ESdist}
\newcommand*{\SunEarthdistance}{\SEdist}
\newphysicsconstant{EMdist}{\magvectsub{r}{EM}}
{\mi@p{3.8}{3.8440}\timestento{8}}{\m}[\m][\m]
\newphysicsconstant{MEdist}{\magvectsub{r}{ME}}
{\mi@p{3.8}{3.8440}\timestento{8}}{\m}[\m][\m]
\newcommand*{\EarthMoondistance}{\ESdist}
\newcommand*{\MoonEarthdistance}{\SEdist}
\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*{\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*{\evalfromto}[3]{\ensuremath{\Bigg.{#1}\Bigg\rvert_{#2}^{#3}}}
\newcommand*{\evalat}[2]{\ensuremath{\Bigg.{#1}\Bigg\rvert_{#2}}}
\newcommand*{\evaluatedat}[1]{\ensuremath{\Bigg.\Bigg\rvert_{#1}}}
\newcommandx{\integral}[4][1,2,usedefault]{\ensuremath{%
  \int_{\ifthenelse{\equal{#1}{}}{}{#4=#1}}^{\ifthenelse{\equal{#2}{}}{}{#4=#2}}}
  {#3}\dx{#4}}
\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}}}}
\newcommand*{\seriesfofx}{\ensuremath{%
f(x) \approx f(a) + \frac{f^\prime (a)}{1!}(x-a) + \frac{f^{\prime\prime}(a)}{2!}(x-a)^2
+ \frac{f^{\prime\prime\prime}(a)}{3!}(x-a)^3 + \ldots}\xspace}
\newcommand*{\seriesexpx}{\ensuremath{%
e^x \approx 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \ldots}\xspace}
\newcommand*{\seriessinx}{\ensuremath{%
\sin x \approx x - \frac{x^3}{3!} + \frac{x^5}{5!} - \ldots}\xspace}
\newcommand*{\seriescosx}{\ensuremath{%
\cos x \approx 1 - \frac{x^2}{2!} + \frac{x^4}{4!} - \ldots}\xspace}
\newcommand*{\seriestanx}{\ensuremath{%
\tan x \approx x + \frac{x^3}{3} + \frac{2x^5}{15} + \ldots}\xspace}
\newcommand*{\seriesatox}{\ensuremath{%
a^x \approx 1 + x \ln{a} + \frac{(x \ln a)^2}{2!} + \frac{(x \ln a)^3}{3!} + \ldots}
\xspace}
\newcommand*{\serieslnoneplusx}{\ensuremath{%
\ln(1 \pm x) \approx \pm\; x - \frac{x^2}{2} \pm \frac{x^3}{3} - \frac{x^4}{4} \pm 
\ldots}\xspace}
\newcommand*{\binomialseries}{\ensuremath{%
(1 + x)^n \approx 1 + nx + \frac{n(n-1)}{2!}x^2 + \ldots}\xspace}
\newcommand*{\gradient}{\ensuremath{\boldsymbol{\nabla}}}
\newcommand*{\divergence}{\ensuremath{\boldsymbol{\nabla}\bullet}}
\newcommand*{\curl}{\ensuremath{\boldsymbol{\nabla\times}}}
\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}}}
\newcommandx{\flux}[1][1]{\ensuremath{\ssub{\Phi}{#1}}}
\@ifpackageloaded{commath}{%
  \typeout{mandi: Package commath detected. Its \protect\abs\space command will 
  be used.}
}{%
  \typeout{mandi: Package commath not detected. mandi's \protect\abs\space command
  will be used.}
  \newcommand*{\abs}[1]{\ensuremath{\left\lvert{#1}\right\rvert}}
}%
\newcommand*{\magof}[1]{\ensuremath{\left\lVert{#1}\right\rVert}}
\newcommand*{\dimsof}[1]{\ensuremath{\left[{#1}\right]}}
\newcommand*{\unitsof}[1]{\ensuremath{\left[{#1}\right]_u}}
\newcommand*{\changein}[1]{\ensuremath{\delta{#1}}}
\newcommand*{\Changein}[1]{\ensuremath{\Delta{#1}}}
\newcommandx{\scin}[3][1,3=\!\!,usedefault]{\ensuremath{%
  \ifthenelse{\equal{#1}{}}
    {\unit{10^{#2}}{#3}}
    {\unit{{#1}\times 10^{#2}}{#3}}}}
\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}{\degree}}
\newcommand*{\latitudeN}[1]{\unit{#1}{\degree\;\mathrm{N}}}
\newcommand*{\latitudeS}[1]{\unit{#1}{\degree\;\mathrm{S}}}
\newcommand*{\longitude}[1]{\unit{#1}{\degree}}
\newcommand*{\longitudeE}[1]{\unit{#1}{\degree\;\mathrm{E}}}
\newcommand*{\longitudeW}[1]{\unit{#1}{\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-(\frac{#1}{c})\squared}}}}
\newcommand*{\frelgamma}[1]{\ensuremath{%
  (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*{\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}}{\magvect{r}\squared}\dirvect{v}\times\dirvect{r}}}
\newcommand*{\Efieldofparticle}{\ensuremath{%
  \oofpezmathsymbol\frac{Q}{\magvect{r}\squared}\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)}}
\newcommand*{\vpythonline}{\lstinline[style=vpython]}
\lstnewenvironment{vpythonblock}{\lstset{style=vpython}}{}
\newcommand*{\vpythonfile}{\lstinputlisting[style=vpython]}
\newcommandx{\emptyanswer}[2][1=0.80,2=0.1,usedefault]
  {\begin{minipage}{#1\textwidth}\hfill\vspace{#2\textheight}\end{minipage}}
\newenvironmentx{activityanswer}[5][1=white,2=black,3=black,4=0.90,5=0.10,usedefault]{%
  \def\skipper{#5}%
  \def\response@fbox{\fcolorbox{#2}{#1}}%
  \begin{center}%
    \begin{lrbox}{\@tempboxa}%
      \begin{minipage}[c][#5\textheight][c]{#4\textwidth}\color{#3}%
        \vspace{#5\textheight}}{%
        \vspace{\skipper\textheight}%
      \end{minipage}%
    \end{lrbox}%
    \response@fbox{\usebox{\@tempboxa}}%
  \end{center}%
}%
\newenvironmentx{adjactivityanswer}[5][1=white,2=black,3=black,4=0.90,5=0.00,%
  usedefault]{%
  \def\skipper{#5}%
  \def\response@fbox{\fcolorbox{#2}{#1}}%
  \begin{center}%
    \begin{lrbox}{\@tempboxa}%
      \begin{minipage}[c]{#4\textwidth}\color{#3}%
        \vspace{#5\textheight}}{%
        \vspace{\skipper\textheight}%
      \end{minipage}%
    \end{lrbox}%
    \response@fbox{\usebox{\@tempboxa}}%
  \end{center}%
}%
\newcommandx{\emptybox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.10,usedefault]
  {\begin{center}%
     \fcolorbox{#3}{#2}{%
       \begin{minipage}[c][#6\textheight][c]{#5\textwidth}\color{#4}%
         {#1}%
       \end{minipage}}%
     \vspace{\baselineskip}%
   \end{center}%
}%
\newcommandx{\adjemptybox}[7][1=\hfill,2=white,3=black,4=black,5=0.90,6=,
7=0.0,usedefault]
  {\begin{center}%
     \fcolorbox{#3}{#2}{%
       \begin{minipage}[c]{#5\textwidth}\color{#4}%
         \vspace{#7\textheight}%
           {#1}%
         \vspace{#7\textheight}%
       \end{minipage}}%
     \vspace{\baselineskip}%
   \end{center}%
}%
\newcommandx{\answerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.1,usedefault]
  {\ifthenelse{\equal{#1}{}}%
    {\begin{center}%
       \fcolorbox{#3}{#2}{%
         \emptyanswer[#5][#6]}%
     \vspace{\baselineskip}%
     \end{center}}%
    {\emptybox[#1][#2][#3][#4][#5][#6]}%
}%
\newcommandx{\adjanswerbox}[7][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.1,7=0.0,%
  usedefault]%
  {\ifthenelse{\equal{#1}{}}%
    {\begin{center}%
       \fcolorbox{#3}{#2}{%
         \emptyanswer[#5][#6]}%
     \vspace{\baselineskip}%
     \end{center}}%
    {\adjemptybox[#1][#2][#3][#4][#5][#6][#7]}%
}%
\newcommandx{\smallanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.10,%
  usedefault]%
  {\ifthenelse{\equal{#1}{}}%
    {\begin{center}%
       \fcolorbox{#3}{#2}{%
         \emptyanswer[#5][#6]}%
     \vspace{\baselineskip}%
     \end{center}}%
    {\emptybox[#1][#2][#3][#4][#5][#6]}%
}%
\newcommandx{\mediumanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.20,%
  usedefault]{%
  \ifthenelse{\equal{#1}{}}%
    {\begin{center}%
       \fcolorbox{#3}{#2}{%
         \emptyanswer[#5][#6]}%
     \vspace{\baselineskip}%
     \end{center}}%
    {\emptybox[#1][#2][#3][#4][#5][#6]}%
}%
\newcommandx{\largeanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.25,%
  usedefault]{%
  \ifthenelse{\equal{#1}{}}%
    {\begin{center}%
       \fcolorbox{#3}{#2}{%
         \emptyanswer[#5][#6]}%
     \vspace{\baselineskip}%
     \end{center}}%
    {\emptybox[#1][#2][#3][#4][#5][#6]}%
}%
\newcommandx{\largeranswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.33,%
  usedefault]{%
  \ifthenelse{\equal{#1}{}}%
    {\begin{center}%
       \fcolorbox{#3}{#2}{%
         \emptyanswer[#5][#6]}%
     \vspace{\baselineskip}%
     \end{center}}%
    {\emptybox[#1][#2][#3][#4][#5][#6]}%
}%
\newcommandx{\hugeanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.50,%
  usedefault]{%
  \ifthenelse{\equal{#1}{}}
    {\begin{center}%
       \fcolorbox{#3}{#2}{%
         \emptyanswer[#5][#6]}%
     \vspace{\baselineskip}%
     \end{center}}%
    {\emptybox[#1][#2][#3][#4][#5][#6]}%
}%
\newcommandx{\hugeranswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.75,%
  usedefault]{%
  \ifthenelse{\equal{#1}{}}%
    {\begin{center}%
       \fcolorbox{#3}{#2}{%
         \emptyanswer[#5][#6]}%
     \vspace{\baselineskip}%
     \end{center}}%
    {\emptybox[#1][#2][#3][#4][#5][#6]}%
}%
\newcommandx{\fullpageanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=1.00,%
  usedefault]{%
  \ifthenelse{\equal{#1}{}}%
    {\begin{center}%
       \fcolorbox{#3}{#2}{%
         \emptyanswer[#5][#6]}%
     \vspace{\baselineskip}%
     \end{center}}%
    {\emptybox[#1][#2][#3][#4][#5][#6]}%
}%
\mdfdefinestyle{miinstructornotestyle}{%
    hidealllines=false,skipbelow=\baselineskip,skipabove=\baselineskip,
    leftmargin=40pt,rightmargin=40pt,linewidth=1,roundcorner=10,
    frametitle={INSTRUCTOR NOTE},
    frametitlebackgroundcolor=cyan!60,frametitlerule=true,frametitlerulewidth=1,
    backgroundcolor=cyan!25,
    linecolor=black,fontcolor=black,shadow=true}
\NewEnviron{miinstructornote}{%
  \begin{mdframed}[style=miinstructornotestyle]
    \begin{adjactivityanswer}[cyan!25][cyan!25][black]
      \BODY
    \end{adjactivityanswer}
  \end{mdframed}
}%
\mdfdefinestyle{mistudentnotestyle}{%
    hidealllines=false,skipbelow=\baselineskip,skipabove=\baselineskip,
    leftmargin=40pt,rightmargin=40pt,linewidth=1,roundcorner=10,
    frametitle={STUDENT NOTE},
    frametitlebackgroundcolor=cyan!60,frametitlerule=true,frametitlerulewidth=1,
    backgroundcolor=cyan!25,
    linecolor=black,fontcolor=black,shadow=true}
\NewEnviron{mistudentnote}{%
  \begin{mdframed}[style=mistudentnotestyle]
    \begin{adjactivityanswer}[cyan!25][cyan!25][black]
      \BODY
    \end{adjactivityanswer}
  \end{mdframed}
}%
\mdfdefinestyle{miderivationstyle}{%
    hidealllines=false,skipbelow=\baselineskip,skipabove=\baselineskip,
    leftmargin=0pt,rightmargin=0pt,linewidth=1,roundcorner=10,
    frametitle={DERIVATION},
    frametitlebackgroundcolor=orange!60,frametitlerule=true,frametitlerulewidth=1,
    backgroundcolor=orange!25,
    linecolor=black,fontcolor=black,shadow=true}
\NewEnviron{miderivation}{%
  \begin{mdframed}[style=miderivationstyle]
  \setcounter{equation}{0}
    \begin{align*}
      \BODY
    \end{align*}
  \end{mdframed}
}%
\mdfdefinestyle{bwinstructornotestyle}{%
    hidealllines=false,skipbelow=\baselineskip,skipabove=\baselineskip,
    leftmargin=40pt,rightmargin=40pt,linewidth=1,roundcorner=10,
    frametitle={INSTRUCTOR NOTE},
    frametitlebackgroundcolor=gray!50,frametitlerule=true,frametitlerulewidth=1,
    backgroundcolor=gray!20,
    linecolor=black,fontcolor=black,shadow=true}
\NewEnviron{bwinstructornote}{%
  \begin{mdframed}[style=bwinstructornotestyle]
    \begin{adjactivityanswer}[gray!20][gray!20][black]
      \BODY
    \end{adjactivityanswer}
  \end{mdframed}
}%
\mdfdefinestyle{bwstudentnotestyle}{%
    hidealllines=false,skipbelow=\baselineskip,skipabove=\baselineskip,
    leftmargin=40pt,rightmargin=40pt,linewidth=1,roundcorner=10,
    frametitle={STUDENT NOTE},
    frametitlebackgroundcolor=gray!50,frametitlerule=true,frametitlerulewidth=1,
    backgroundcolor=gray!20,
    linecolor=black,fontcolor=black,shadow=true}
\NewEnviron{bwstudentnote}{%
  \begin{mdframed}[style=bwstudentnotestyle]
    \begin{adjactivityanswer}[gray!20][gray!20][black]
      \BODY
    \end{adjactivityanswer}
  \end{mdframed}
}%
\mdfdefinestyle{bwderivationstyle}{%
    hidealllines=false,skipbelow=\baselineskip,skipabove=\baselineskip,
    leftmargin=0pt,rightmargin=0pt,linewidth=1,roundcorner=10,
    frametitle={DERIVATION},
    frametitlebackgroundcolor=gray!50,frametitlerule=true,frametitlerulewidth=1,
    backgroundcolor=gray!20,
    linecolor=black,fontcolor=black,shadow=true}
\NewEnviron{bwderivation}{%
  \begin{mdframed}[style=bwderivationstyle]
  \setcounter{equation}{0}
    \begin{align*}
      \BODY
    \end{align*}
  \end{mdframed}
}%
\NewEnviron{mysolution}{%
  \begin{align*}
    \BODY
  \end{align*}
}%
\newcommand*{\checkpoint}{%
  \vspace{1cm}\begin{center}|--------- CHECKPOINT ---------|\end{center}}%
\newcommand*{\image}[2]{%
  \begin{figure}[h!]
    \begin{center}%
      \includegraphics[scale=1]{#1}%
      \caption{#2}%
      \label{#1}%
    \end{center}%
  \end{figure}}
\newcommand*{\sneakyone}[1]{\ensuremath{\cancelto{1}{\frac{#1}{#1}}}}
% undocumented diagnostic command
\newcommand*{\chkquantity}[1]{%
  \begin{center}
    \begin{tabular}{C{4.5cm} C{4cm} C{4cm} C{4cm}}
      name    & baseunit & drvdunit & tradunit \tabularnewline 
      \cs{#1} & \csname #1onlybaseunit\endcsname & \csname #1onlydrvdunit\endcsname & 
        \csname #1onlytradunit\endcsname 
    \end{tabular}
  \end{center}
}%
% undocumented diagnostic command
\newcommand*{\chkconstant}[1]{%
  \begin{center}
    \begin{tabular}{C{4cm} C{2cm} C{3cm} C{3cm} C{3cm} C{3cm}}
      name    & symbol & value & baseunit & drvdunit & tradunit \tabularnewline
      \cs{#1} & \csname #1mathsymbol\endcsname & \csname #1value\endcsname & 
        \csname #1onlybaseunit\endcsname & \csname #1onlydrvdunit\endcsname & 
        \csname #1onlytradunit\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.
%
% \iffalse
%</package>
% \fi
%
% \Finale
