summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/mandi
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-12-31 22:10:54 +0000
committerKarl Berry <karl@freefriends.org>2018-12-31 22:10:54 +0000
commitbbacc5326b60f939beba3336142e88f2708c7357 (patch)
treeb3d28897392ccd06c8fbd50f87f6c9417985785f /Master/texmf-dist/source/latex/mandi
parent9934f6b0a89038c8f7c638bef08dfa3171e6bc0e (diff)
mandi (31dec18)
git-svn-id: svn://tug.org/texlive/trunk@49558 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/mandi')
-rw-r--r--Master/texmf-dist/source/latex/mandi/mandi.dtx788
1 files changed, 417 insertions, 371 deletions
diff --git a/Master/texmf-dist/source/latex/mandi/mandi.dtx b/Master/texmf-dist/source/latex/mandi/mandi.dtx
index ebe53291c72..c4cf45cb83d 100644
--- a/Master/texmf-dist/source/latex/mandi/mandi.dtx
+++ b/Master/texmf-dist/source/latex/mandi/mandi.dtx
@@ -32,7 +32,7 @@
%</internal>
%
%<*package>
-%%\ProvidesPackage{mandi}[2018/03/20 2.7.2 Macros for physics and astronomy]
+%%\ProvidesPackage{mandi}[2018/12/30 2.7.3 Macros for physics and astronomy]
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%</package>
%
@@ -137,7 +137,7 @@ while 1:
% package is indexed. There may be commands similar to indexed commands
% described in relevant parts of the documentation.}
%
-% \CheckSum{6548}
+% \CheckSum{6558}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -189,6 +189,188 @@ while 1:
% \newpage
% \restoregeometry
%
+%\changes{v2.4.0}{2014/12/16}{Made option names consistent with default behavior.}
+%\changes{v2.4.0}{2014/12/16}{Added option for boldface vector kernels.}
+%\changes{v2.4.0}{2014/12/16}{Added option for approximate values of constants.}
+%\changes{v2.4.0}{2014/12/16}{Added magnetic charge.}
+%\changes{v2.4.0}{2014/12/16}{\cs{vpythonfile} now uses a uniform style.}
+%\changes{v2.4.0}{2014/12/16}{Added table of all predefined quantities with units.}
+%\changes{v2.4.0}{2014/12/16}{Added table of all predefined constants
+% with their symbols and units.}
+%\changes{v2.4.0}{2014/12/16}{Added Maxwell's equations in both integral
+% and differential forms, both with and without magnetic monopoles.}
+%\changes{v2.4.0}{2014/12/16}{Added Lorentz force, with and
+% without magnetic monopoles.}
+%\changes{v2.4.0}{2014/12/16}{\cs{vpythonline} now uses a uniform style.}
+%\changes{v2.4.0}{2014/12/16}{\texttt{vpythonblock} now uses a uniform style.}
+%\changes{v2.4.0}{2014/12/17}{Now coexists with the \pkgname{commath} package.}
+%\changes{v2.4.0}{2014/12/19}{Removed compatibility check for the \pkgname{physymb}
+% package.}
+%\changes{v2.4.1}{2015/02/11}{\texttt{vpythonblock} now accepts an optional caption.}
+%\changes{v2.4.1}{2015/02/11}{\cs{vpythonfile} now accepts an optional caption.}
+%\changes{v2.4.1}{2015/02/14}{Commands that use \pkgname{mdframed}
+% will not break over pages.}
+%\changes{v2.4.1}{2015/02/20}{Added \cs{scompsCvect} for superscripted
+% components.}
+%\changes{v2.4.1}{2015/02/20}{Added \cs{scompsRvect} for superscripted
+% components.}
+%\changes{v2.4.1}{2015/01/23}{Added more VPython keywords.}
+%\changes{v2.4.2}{2015/06/08}{Added \cs{smallanswerform}.}
+%\changes{v2.4.2}{2015/06/08}{Added \cs{mediumanswerform}.}
+%\changes{v2.4.2}{2015/06/08}{Added \cs{largeanswerform}.}
+%\changes{v2.4.2}{2015/06/08}{Added \cs{largeranswerform}.}
+%\changes{v2.4.2}{2015/06/08}{Added \cs{hugeanswerform}.}
+%\changes{v2.4.2}{2015/06/08}{Added \cs{hugeranswerform}.}
+%\changes{v2.4.2}{2015/06/08}{Added \cs{fullpageanswerform}.}
+%\changes{v2.5.0}{2016/01/26}{Added explicit mention of VPython and GlowScript.}
+%\changes{v2.5.0}{2016/01/26}{Added GlowScript keywords.}
+%\changes{v2.5.0}{2016/01/26}{Added example showing how to handle long
+% lines and suppressing numbers on broken lines.}
+%\changes{v2.5.0}{2016/01/26}{\cs{vpythonfile} now begins listings on a new page.}
+%\changes{v2.5.0}{2015/09/13}{Removed autosized parentheses in math mode.}
+%\changes{v2.5.0}{2015/09/13}{Removed compatibility check for the \pkgname{commath}
+% package.}
+%\changes{v2.5.0}{2015/09/13}{Renamed \cs{abs} to \cs{absof}.}
+%\changes{v2.5.0}{2015/09/13}{\cs{absof} now shows a placeholder for a
+% blank argument.}
+%\changes{v2.5.0}{2015/09/13}{\cs{magof} now shows a placeholder for a
+% blank argument.}
+%\changes{v2.5.0}{2015/09/13}{\cs{dimsof} now shows a placeholder for a
+% blank argument.}
+%\changes{v2.5.0}{2015/09/13}{\cs{unitsof} now shows a placeholder for a
+% blank argument.}
+%\changes{v2.5.0}{2015/09/13}{Added \cs{inparens} for grouping with
+% parentheses.}
+%\changes{v2.5.0}{2015/09/13}{Changed behavior of \cs{sneakyone}.}
+%\changes{v2.5.0}{2015/10/08}{Added \cs{eulerlagrange} command to
+% typeset the Euler-Lagrange equation.}
+%\changes{v2.5.0}{2015/10/08}{Added \cs{Lagr} to get symbol for
+% Lagrangian.}
+%\changes{v2.5.0}{2015/10/08}{Added color to \cs{checkpoint}.}
+%\changes{v2.5.0}{2015/10/08}{Added \cs{qed} symbol.}
+%\changes{v2.5.0}{2015/10/09}{Added \cs{ueuzero} and friends.}
+%\changes{v2.5.0}{2015/10/09}{Added commands for Dirac notation.}
+%\changes{v2.5.0}{2015/10/09}{Documented precise and approximate
+% constant values.}
+%\changes{v2.5.0}{2015/10/14}{\cs{miderivation} now prints line numbers.}
+%\changes{v2.5.0}{2015/10/14}{Added \cs{miderivation*} to suppress line
+% numbers.}
+%\changes{v2.5.0}{2015/10/14}{\cs{bwderivation} now shows line numbers.}
+%\changes{v2.5.0}{2015/10/14}{Added \cs{bwderivation*} to suppress line
+% numbers.}
+%\changes{v2.5.0}{2015/10/14}{\cs{mysolution} now prints line numbers.}
+%\changes{v2.5.0}{2015/10/14}{Added \cs{mysolution*} to suppress line numbers.}
+%\changes{v2.5.0}{2015/10/16}{Added \cs{taigrad} to get Tai's gradient symbol.}
+%\changes{v2.5.0}{2015/10/16}{Added \cs{taisvec} to get Tai's symbolic vector.}
+%\changes{v2.5.0}{2015/10/16}{Added \cs{taigrad} to get Tai's divergence symbol.}
+%\changes{v2.5.0}{2015/10/16}{Added \cs{taigrad} to get Tai's curl symbol.}
+%\changes{v2.5.0}{2015/10/20}{Added \cs{scompsdirvect}.}
+%\changes{v2.5.0}{2015/10/20}{Added \cs{compdirvect}.}
+%\changes{v2.5.0}{2015/11/29}{Added \cs{componentalong}.}
+%\changes{v2.5.0}{2015/11/29}{Added \cs{expcomponentalong}.}
+%\changes{v2.5.0}{2015/11/29}{Added \cs{ucomponentalong}.}
+%\changes{v2.5.0}{2015/11/29}{Added \cs{projectiononto}.}
+%\changes{v2.5.0}{2015/11/29}{Added \cs{expprojectiononto}.}
+%\changes{v2.5.0}{2015/11/29}{Added \cs{uprojectiononto}.}
+%\changes{v2.5.0}{2015/11/29}{Fixed parentheses bug in \cs{magvectncomps}.}
+%\changes{v2.5.0}{2015/12/27}{Added option for radians in certain angular
+% quantities.}
+%\changes{v2.5.1}{2016/03/13}{Fixed errors in build for uploading to CTAN.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectormomentum}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectordisplacement}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorvelocityc}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorvelocity}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectoracceleration}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorgravitationalfield}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorimpulse}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorforce}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorangularvelocity}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorangularacceleration}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorangularmomentum}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorangularimpulse}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectortorque}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorwavenumber}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorelectricfield}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorelectricdipolemoment}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectormagneticfield}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectormagneticdipolemoment}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorcurrentdensity}.}
+%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorcmagneticfield}.}
+%\changes{v2.6.0}{2016/05/02}{Created a student guide.}
+%\changes{v2.6.0}{2016/05/02}{Changed placeholder to underscore.}
+%\changes{v2.6.0}{2016/05/02}{Changed placeholder to underscore.}
+%\changes{v2.6.0}{2016/05/02}{Changed placeholder to underscore.}
+%\changes{v2.6.0}{2016/05/02}{Changed placeholder to underscore.}
+%\changes{v2.6.0}{2016/05/02}{Changed placeholder to underscore.}
+%\changes{v2.6.0}{2016/05/02}{Added \cs{problem} environment.}
+%\changes{v2.6.0}{2016/05/02}{Added \cs{reason}.}
+%\changes{v2.6.0}{2016/05/03}{Added \cs{energyflux}.}
+%\changes{v2.6.0}{2016/05/03}{Added \cs{momentumflux}.}
+%\changes{v2.6.0}{2016/05/03}{Added \cs{poyntingvector}.}
+%\changes{v2.6.0}{2016/05/03}{Added many new commands that format expressions
+% with placeholders for numerical quantities.}
+%\changes{v2.6.0}{2016/05/10}{Replaced \cs{evalfromto} with \cs{evaluatedfromto}.}
+%\changes{v2.6.0}{2016/05/10}{Replaced \cs{evalat} with new \cs{evaluatedat}.}
+%\changes{v2.6.0}{2016/05/10}{Removed deprecated commands.}
+%\changes{v2.6.0}{2016/05/11}{Added \cs{direction}.}
+%\changes{v2.6.0}{2016/05/11}{Added \cs{vectordirection}.}
+%\changes{v2.6.0}{2016/05/11}{Added \cs{vectorenergyflux}.}
+%\changes{v2.6.0}{2016/05/11}{Added \cs{vectormomentumflux}.}
+%\changes{v2.6.0}{2016/05/12}{Added \cs{glowscriptline}.}
+%\changes{v2.6.0}{2016/05/12}{Added \texttt{glowscriptblock}.}
+%\changes{v2.6.0}{2016/05/12}{Added \cs{glowscriptfile}.}
+%\changes{v2.6.0}{2016/05/16}{Extensive revisions to documentation.}
+%\changes{v2.6.0}{2016/05/18}{Option \opt{singleabsbars} renamed to
+% \opt{singlemagbars}.}
+%\changes{v2.6.0}{2016/05/20}{Documented \cs{chkquantity}.}
+%\changes{v2.6.0}{2016/05/20}{Documented \cs{chkconstant}.}
+%\changes{v2.6.0}{2016/05/20}{Documented \cs{mandiversion}.}
+%\changes{v2.6.0}{2016/05/23}{Loads the \pkgname{tensor} package for future use.}
+%\changes{v2.6.1}{2016/06/30}{Fixed \cs{mandiversion} so it displays correctly
+% in math mode.}
+%\changes{v2.6.1}{2016/06/30}{Fixed errors in Student Quick Guide documentation.}
+%\changes{v2.6.2}{2016/07/31}{Made minor changes to the documentation.}
+%\changes{v2.6.3}{2016/09/02}{Added \cs{mistandard} for standards.}
+%\changes{v2.6.3}{2016/09/02}{Added \cs{bwstandard} for standards.}
+%\changes{v2.6.3}{2016/09/07}{Added \cs{infeetpersecond}.}
+%\changes{v2.6.3}{2016/09/08}{Added scaling options to \cs{image}.}
+%\changes{v2.6.3}{2016/09/08}{Tweaked \cs{image} to work in documentation.}
+%\changes{v2.6.3}{2016/09/08}{Added \cs{infeet}.}
+%\changes{v2.6.3}{2016/09/08}{Added \cs{infeetpersecondsquared}.}
+%\changes{v2.6.3}{2016/09/11}{Loads the \pkgname{float} package for \cs{image}.}
+%\changes{v2.7.0}{2016/12/16}{Changed \cs{vectdotvect} to use \cs{cdot}.}
+%\changes{v2.7.0}{2016/12/16}{Added \cs{vectDotvect} to use \cs{bullet}.}
+%\changes{v2.7.0}{2017/02/02}{Made numerous internal changes to eliminate warnings.}
+%\changes{v2.7.0}{2017/02/02}{Added blank output lines around mandi messages
+% during compilation.}
+%\changes{v2.7.0}{2017/02/02}{Changed first line of VPython programs to match
+% Jupyter Notebook syntax.}
+%\changes{v2.7.0}{2017/02/02}{Changed \cs{reason} to use minipage.}
+%\changes{v2.7.0}{2017/02/02}{Added fourth argument to \cs{image} for a label.}
+%\changes{v2.7.0}{2017/03/17}{Added \cs{dslashx} for inexact differentials.}
+%\changes{v2.7.0}{2017/04/13}{Added \cs{factorvect}.}
+%\changes{v2.7.0}{2017/04/13}{Added \cs{circulation}.}
+%\changes{v2.7.0}{2017/09/01}{Added better looking parallel symbol.}
+%\changes{v2.7.0}{2017/09/01}{Added an alias for the perpendicular symbol.}
+%\changes{v2.7.0}{2018/01/11}{Added instructions for Overleaf users.}
+%\changes{v2.7.2}{2018/03/14}{Changed \emph{tradunits} to \opt{altnunits}.}
+%\changes{v2.7.2}{2018/03/16}{Documented the \cs{redefinephysicsquantity} command.}
+%\changes{v2.7.2}{2018/03/16}{Documented the \cs{redefinephysicsconstant} command.}
+%\changes{v2.7.2}{2018/03/18}{Changed \cs{lorentz} to \cs{lorentzfactor}.}
+%\changes{v2.7.2}{2018/03/19}{Made \opt{drvdunits} the default.}
+%\changes{v2.7.2}{2018/03/19}{Adjusted units of some predefined quantities and
+% constants.}
+%\changes{v2.7.2}{2018/03/20}{Added expanded instructions for Overleaf users.}
+%\changes{v2.7.3}{2018/04/06}{Reformatted source code to allow for better
+% documentation of changes.}
+%\changes{v2.7.3}{2018/11/10}{Added \cs{emptyunit}. Thanks to Dr. Brian Lane
+% for suggesting this implementation.}
+%\changes{v2.7.3}{2018/11/11}{Added \cs{anglebetween}.}
+%\changes{v2.7.3}{2018/11/13}{Made variable in series expansions a parameter
+% with \(x\) as the default.}
+%\changes{v2.7.3}{2018/12/27}{Modified \cs{vpythonfile} and \cs{vpythonblock} to
+% include both captions and labels.}
+%
% \section{Introduction}
% This package provides a collection of commands useful in introductory physics
% and astronomy. The underlying philosophy is that the user, potentially an
@@ -209,16 +391,16 @@ while 1:
% There are other underlying philosophies and goals embedded within \mandi,
% all of which are summarized here. These philosophies are
% \begin{itemize}
-% \item to employ a \emph{type what you think} model for remembering commands
+% \item to employ a \emph{type what you think} model for remembering commands,
% \item to relieve the user of having to explicitly worry about typesetting SI
-% units
+% 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)
+% the same name for both),
% \item to enforce consistent terminology in the naming of quantities, with names
% that are both meaningful to introductory students and accurate
-% (e.g.\ \emph{duration} vs.\ \emph{time})
-% \item to enforce consistent notation, especially for vector quantities
+% (e.g.\ \emph{duration} vs.\ \emph{time}), and
+% \item to enforce consistent notation, especially for vector quantities.
% \end{itemize}
%
% I hope that using \mandi\ will cause users to form good habits that
@@ -229,8 +411,84 @@ while 1:
% to build the documentation. I have not tested the build with with standard \LaTeX,
% which creates DVI files.
%
-% \changes{v2.7.0}{2018/01/11}{Added instructions for Overleaf users.}
-% \changes{v2.7.2}{2018/03/20}{Added expanded instructions for Overleaf users.}
+% \newpage
+% \section{Loading the Package}\label{LoadingthePackage}
+% To load \mandi\ with its default options, simply put the line |\usepackage{mandi}|
+% in your document's preamble. To use the package's available options, put the line
+% |\usepackage|\textbf{[}\opt{options}\textbf{]}|{mandi}| in your document's
+% preamble. There are eight available options, all of which are described below.
+%
+% \begin{itemize}
+% \item \opt{boldvectors} gives bold letters for the kernels of vector names.
+% No arrows are used above the kernel.
+% \item \opt{romanvectors} gives Roman letters for the kernels of vectors names.
+% An arrow appears over the kernel.
+% \end{itemize}
+%
+% If neither \opt{boldvectors} nor \opt{romanvectors} is specified (the
+% default), vectors are displayed with italic letters for the kernels of vector
+% names and an arrow appears over the kernel.
+%
+% \begin{itemize}
+% \item \opt{singlemagbars} gives single bars in symbols for vector magnitudes
+% instead of the default double bars. Double bars may be more familiar to
+% students from their calculus courses.
+% \item \opt{approxconsts} gives approximate values of constants to one or two
+% significant figures, depending on how they appear in \mi, instead of the
+% default precise values.
+% \item \opt{useradians} gives radians in the units of angular momentum,
+% angular impulse, and torque. The default is to not use radians in the units
+% of these quantities.
+% \item \opt{baseunits} causes all units to be displayed in \baseunits\ form, with
+% SI base units. No solidi (slashes) are used. Positive and negative exponents
+% are used to denote powers of various base units.
+% \item \opt{drvdunits} causes all units to be displayed, when possible, in
+% \drvdunits\ form, with SI derived units. Students may already be familiar with
+% many of these derived units.
+% \item \opt{altnunits} causes all units to be displayed in \altnunits\ form,
+% which is intended to allow for custom units when desired. This is sometimes
+% helpful for enhancing conceptual understanding in some situations.
+% \end{itemize}
+%
+% If neither \opt{baseunits} nor \opt{altnunits} is specified, units are
+% displayed in \drvdunits\ form, which is typically the way they would usually
+% appear in textbooks. Units in this form may hide the underlying physical
+% meaning or indeed may do precisely the opposite and enhance conceptual
+% understanding. In this document, the default is to use
+% \ifthenelse{\boolean{@optbaseunits}}
+% {base}
+% {\ifthenelse{\boolean{@optaltnunits}}
+% {alternate}
+% {derived}}
+% units. As you will see later, there are ways to override these options either
+% temporarily or permanently.
+%
+% \mandi\ coexists with the \pkgname{siunitx} package. While there is some
+% functional overlap between the two packages, \mandi\ is completely independent of
+% \pkgname{siunitx}. The two are designed for different purposes and probably also
+% for different audiences, but can be used together if desired. \mandi\ coexists with
+% the \pkgname{commath} package. There is no longer a conflict because \mandi's
+% |\abs| command has been renamed to \refCom{absof}. \mandi\ no longer checks for the
+% presence of the \pkgname{physymb} package. That package now incorporates \mandi\
+% dependencies, and the two are completely compatible as far as I know.
+%
+%\mandi\ loads the \pkgname{tensor} for likely future use. See that package's
+% documentation for its commands and how to use them. There are no known conflicts
+% between \mandi\ and \pkgname{tensor}.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{mandiversion}{}
+Gives the current package version number and build date.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\mandiversion
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
% \newpage
% \section{Overleaf Users}
% \href{https://www.overleaf.com}{Overleaf.com} is an online \LaTeX\ environment
@@ -287,106 +545,7 @@ while 1:
% \item You can now delete the \texttt{overleaf-template.zip} file and the
% temporary folder you created.
% \end{enumerate}
-%
-% \newpage
-% \section{Loading the Package}\label{LoadingthePackage}
-% To load \mandi\ with its default options, simply put the line |\usepackage{mandi}|
-% in your document's preamble. To use the package's available options, put the line
-% |\usepackage|\textbf{[}\opt{options}\textbf{]}|{mandi}| in your document's preamble.
-% There are six 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.}
-% \changes{v2.5.0}{2015/09/13}{Removed autosized parentheses in math mode.}
-% \changes{v2.5.0}{2015/12/27}{Added option for radians in certain angular quantities.}
-% \changes{v2.5.1}{2016/03/13}{Fixed errors in build for uploading to CTAN.}
-% \changes{v2.6.0}{2016/05/10}{Removed deprecated commands.}
-% \changes{v2.6.0}{2016/05/18}{Option \opt{singleabsbars} renamed to
-% \opt{singlemagbars}.}
-% \changes{v2.6.0}{2016/05/23}{Loads the \pkgname{tensor} package for future use.}
-% \changes{v2.7.0}{2017/02/02}{Added blank output lines around mandi messages
-% during compilation.}
-% \changes{v2.7.2}{2018/03/14}{Changed \emph{tradunits} to \opt{altnunits}.}
-% \changes{v2.7.2}{2018/03/19}{Made \opt{drvdunits} the default.}
-%
-% \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{singlemagbars} 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 \hypertarget{target1}{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{useradians} gives radians in the units of angular momentum,
-% angular impulse, and torque. The default is to not use radians in the units
-% of these quantities.
-% \item \opt{baseunits} causes all units to be displayed in \baseunits\ form, with
-% SI base units. No solidi (slashes) are used. Positive and negative exponents
-% are used to denote powers of various base units.
-% \item \opt{drvdunits} causes all units to be displayed, when possible, in
-% \drvdunits\ form, with SI derived units. Students may already be familiar with
-% many of these derived units. This documentation \mandi\ with this option.
-% \item If neither \opt{baseunits} nor \opt{altnunits} is specified, units are
-% displayed in \drvdunits\ form, which is typically the way they would usually
-% appear in textbooks. Units in this form may hide the underlying physical
-% meaning or indeed may do precisely the opposite and enhance conceptual
-% understanding. In this document, the default is to use
-% \ifthenelse{\boolean{@optbaseunits}}
-% {base}
-% {\ifthenelse{\boolean{@optaltnunits}}
-% {alternate}
-% {derived}}
-% units. As you will see later, there are ways to override these options either
-% temporarily or permanently.
-% \end{itemize}
-%
-% \changes{v2.4.0}{2014/12/17}{Now coexists with the \pkgname{commath} package.}
-% \changes{v2.5.0}{2015/09/13}{Removed compatibility check for 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. There is no longer a conflict because \mandi's
-% |\abs| command has been renamed to \refCom{absof}. \mandi\ no longer checks for the
-% presence of the \pkgname{physymb} package. That package now incorporates \mandi\
-% dependencies, and the two are completely compatible as far as I know.
-% \changes{v2.4.0}{2014/12/19}{Removed compatibility check for the \pkgname{physymb}
-% package.}
-% \changes{v2.6.0}{2016/05/20}{Documented \cs{mandiversion}.}
-% \changes{v2.6.1}{2016/06/30}{Fixed \cs{mandiversion} so it displays correctly
-% in math mode.}
-%
-%\mandi\ loads the \pkgname{tensor} for likely future use. See that package's
-% documentation for its commands and how to use them. There are no known conflicts
-% between \mandi\ and \pkgname{tensor}.
-%
-%\iffalse
-%<*example>
-%\fi
-\begin{docCommand}{mandiversion}{}
-Gives the current package version number and build date.
-\end{docCommand}
-\begin{dispExample*}{sidebyside}
-\mandiversion
-\end{dispExample*}
-%\iffalse
-%</example>
-%\fi
-%
-% \changes{v2.6.0}{2016/05/16}{Extensive revisions to documentation.}
-% \changes{v2.6.0}{2016/05/02}{Created a student guide.}
-% \changes{v2.6.1}{2016/06/30}{Fixed errors in Student Quick Guide documentation.}
-% \changes{v2.6.2}{2016/07/31}{Made minor changes to the documentation.}
-% \changes{v2.7.0}{2017/02/02}{Made numerous internal changes to eliminate warnings.}
+%
% \newpage
% \section{Student Quick Guide}
% Use \refCom{vect} to put an arrow over a symbol to make it the symbol for a vector.
@@ -406,15 +565,15 @@ Gives the current package version number and build date.
% Use \refCom{compvect} to write the symbol for one of a vector's coordinate
% components. Typing |\compvect{v}{z}| gives \compvect{v}{z}.
%
-% Use a physical quantity's name followed by a numerical value in curly braces
-% to typeset that numerical value and an appropriate SI unit.
+% Use a \hyperlink{target2}{physical quantity's} name followed by a numerical value
+% in curly braces to typeset that numerical value and an appropriate
+% \hyperlink{target1}{SI unit}.
% Using \refCom{velocity} by typing |\velocity{2.5}| gives
% \velocity{2.5}. Use \refCom{newphysicsquantity} to define any new quantity
% you need.
%
-% Many physical constants are defined in \mandi. Read the section on
-% \hyperlink{target1}{physical constants} to see which ones are defined and how
-% to use them.
+% Many \hyperlink{target3}{physical constants} are defined in \mandi\ and are
+% well documented in the corresponding section.
%
% Use \refCom{mivector} to write the coordinate representation of a vector.
% Typing |\mivector{3,2,-4}| gives \mivector{3,2,-4}. Typing |\mivector{a,b,c}|
@@ -440,7 +599,7 @@ Gives the current package version number and build date.
% Typing |\inparens{x^2 + 4}| gives \inparens{x^2 + 4}.
%
% Use \refCom{define} to create a variable that can be used in an intermediate
-% step in a solution. This is discussed later in this section.
+% step in a solution. This is discussed \hyperlink{target5}{later in this section}.
%
% To typeset a matrix in parentheses, use the \cs{pmatrix} environment by putting
% the rows, between |\begin{pmatrix}| and |\end{pmatrix}|. Each row, except the
@@ -546,9 +705,9 @@ Gives the current package version number and build date.
% lot about the document that you won't understand at first. Look for a line that
% says |\begin{document}| and a corresponding line that says |\end{document}| You
% will add content between these two lines. Most of your content will be within the
-% \refEnv{problem} environment. Each use of the |problem| environment
-% is intended to encapsulate one complete written solution to one physics problem.
-% In this way, you can build a library of problem solutions for your own convenience.
+% \refEnv{problem} environment. Each use of this environment is intended to
+% encapsulate one complete written solution to one physics problem. In this way,
+% you can build a library of problem solutions for your own convenience.
%
% Since students are this package's primary audience, nearly all of the commands
% have been defined with students in mind. Writing a problem solution in \LaTeX\
@@ -563,8 +722,6 @@ Gives the current package version number and build date.
% numerical quantities must be eventually inserted. Note that all of these commands
% end with the word |places| as a reminder that they generate placeholders.
%
-% \changes{v2.6.0}{2016/05/03}{Added many new commands that format expressions
-% with placeholders for numerical quantities.}
%\iffalse
%<*example>
%\fi
@@ -846,10 +1003,10 @@ a vector direction. In practice, these should all be provided in numerical form.
% \mandi\ knows about them and in doing so, you give the new quantities the same
% names they would normally have.
%
-% So now how to you go about getting numerical values (with units) into the
-% placeholders? Use the \refCom{define} command to define a variable containing
-% a desired quantity, and then pass that variable to the above commands and that
-% quantity will appear in the corresponding placeholder.
+% \hypertarget{target5}{So} now how to you go about getting numerical values (with
+% units) into the placeholders? Use the \refCom{define} command to define a variable
+% containing a desired quantity, and then pass that variable to the above commands
+% and that quantity will appear in the corresponding placeholder.
%
%\iffalse
%<*example>
@@ -900,13 +1057,13 @@ in \LaTeX.}
% This barely scratches the surface in describing \mandi\ so continue reading this
% document to see everything it can do. You will learn new commands as you need
% them in your work. To start with, you should at least read the section on
-% \hyperlink{target2}{SI units} and the section on
-% \hyperlink{target3}{physics quantities}.
+% \hyperlink{target1}{SI units} and the section on
+% \hyperlink{target2}{physical quantities}.
%
% \newpage
% \section{Features and Commands}
-% \subsection{SI Base Units and Dimensions}
-% This is not a tutorial on \hypertarget{target2}{SI units} and the user is assumed
+% \hypertarget{target1}{\subsection{SI Base Units and Dimensions}}
+% This is not a tutorial on SI units and the user is assumed
% to be familiar with SI rules and usage. Begin by defining shortcuts for the units
% for the seven SI base quantities:
% \emph{spatial displacement} (what others call \emph{length}), \emph{mass},
@@ -1013,9 +1170,9 @@ in \LaTeX.}
% 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.
+% For each SI unit, there is at least one corresponding dimension. Every physical
+% quantity is some multiplicative product of each of the seven basic SI dimensions
+% raised to a power.
%
%\iffalse
%<*example>
@@ -1108,20 +1265,20 @@ luminous has dimension of \dimluminous
%</example>
%\fi
%
-% \subsection{Defining Physical Quantities}
+% \hypertarget{target2}{\subsection{Defining Physical Quantities}}
%
%\iffalse
%<*example>
%\fi
\begin{docCommand}{newphysicsquantity}
{\marg{newname}\marg{\baseunits}\oarg{\drvdunits}\oarg{\altnunits}}
-Defines a new physics quantity and its associated commands.
+Defines a new physical quantity and its associated commands.
\end{docCommand}
%\iffalse
%</example>
%\fi
%
-% Using this \hypertarget{target3}{command} causes several things to happen.
+% 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
@@ -1182,7 +1339,6 @@ Defines a new physics quantity and its associated commands.
% as a comma separated list in a \refCom{mivector} command or prepend the quantity
% name with |vector|. So specifying a momentum vector is as simple as
%
-%\changes{v2.6.0}{2016/04/30}{Added \cs{vectormomentum}.}
%\iffalse
%<*example>
%\fi
@@ -1200,7 +1356,6 @@ Defines a new physics quantity and its associated commands.
% The first semester of most introductory calculus-based physics courses focuses
% on mechanics, dynamics, and statistical mechanics.
%
-%\changes{v2.6.0}{2016/04/30}{Added \cs{vectordisplacement}.}
%\iffalse
%<*example>
%\fi
@@ -1300,9 +1455,6 @@ Command for luminous intensity.
% While we're at it, let's also go ahead and define a few non-SI units from
% astronomy, astrophysics, and old school physics.
%
-%\changes{v2.6.3}{2016/09/08}{Added \cs{infeet}.}
-%\changes{v2.6.3}{2016/09/07}{Added \cs{infeetpersecond}.}
-%\changes{v2.6.3}{2016/09/08}{Added \cs{infeetpersecondsquared}.}
%\iffalse
%<*example>
%\fi
@@ -1732,8 +1884,6 @@ Identical to \refCom{insolarD} but uses \(d\).
% has an optional second argument that specifies a unit, but that is not needed or
% used in the following examples.
%
-%\changes{v2.6.0}{2016/05/11}{Added \cs{direction}.}
-%\changes{v2.6.0}{2016/05/11}{Added \cs{vectordirection}.}
%\iffalse
%<*example>
%\fi
@@ -1753,7 +1903,6 @@ This is an alias for \refCom{direction}.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorvelocityc}.}
%\iffalse
%<*example>
%\fi
@@ -1775,7 +1924,6 @@ Command for vector velocity as a fraction of \(c\).
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorvelocity}.}
%\iffalse
%<*example>
%\fi
@@ -1800,7 +1948,7 @@ Command for vector velocity.
\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
+traveled and duration. They have the same dimension and unit, but are
conceptually different so separate commands are provided. I've never seen speed
used as anything other than a scalar.
\end{docCommand}
@@ -1812,7 +1960,6 @@ used as anything other than a scalar.
%\fi
%
-%\changes{v2.7.2}{2018/03/18}{Changed \cs{lorentz} to \cs{lorentzfactor}.}
%\iffalse
%<*example>
%\fi
@@ -1846,7 +1993,6 @@ Command for vector momentum.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/04/30}{Added \cs{vectoracceleration}.}
%\iffalse
%<*example>
%\fi
@@ -1865,7 +2011,6 @@ Command for vector acceleration.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorgravitationalfield}.}
%\iffalse
%<*example>
%\fi
@@ -1897,7 +2042,6 @@ Command for gravitational potential.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorimpulse}.}
%\iffalse
%<*example>
%\fi
@@ -1917,7 +2061,6 @@ Command for vector impulse.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorforce}.}
%\iffalse
%<*example>
%\fi
@@ -2094,7 +2237,6 @@ Command for specific heat capacity.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorangularvelocity}.}
%\iffalse
%<*example>
%\fi
@@ -2113,7 +2255,6 @@ Command for vector angular velocity.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorangularacceleration}.}
%\iffalse
%<*example>
%\fi
@@ -2132,7 +2273,6 @@ Command for vector angular acceleration.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorangularmomentum}.}
%\iffalse
%<*example>
%\fi
@@ -2153,7 +2293,6 @@ Command for vector angular momentum.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorangularimpulse}.}
%\iffalse
%<*example>
%\fi
@@ -2174,7 +2313,6 @@ Command for vector angular impulse.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/04/30}{Added \cs{vectortorque}.}
%\iffalse
%<*example>
%\fi
@@ -2234,7 +2372,6 @@ Command for wavelength.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorwavenumber}.}
%\iffalse
%<*example>
%\fi
@@ -2309,7 +2446,6 @@ Command for permittivity.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorelectricfield}.}
%\iffalse
%<*example>
%\fi
@@ -2328,7 +2464,6 @@ Command for vector electric field.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorelectricdipolemoment}.}
%\iffalse
%<*example>
%\fi
@@ -2360,7 +2495,6 @@ Command for permeability.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/04/30}{Added \cs{vectormagneticfield}.}
%\iffalse
%<*example>
%\fi
@@ -2379,7 +2513,6 @@ Command for vector magnetic field (also called magnetic induction).
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorcmagneticfield}.}
%\iffalse
%<*example>
%\fi
@@ -2555,7 +2688,6 @@ Command for relative permeability.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/05/03}{Added \cs{poyntingvector}.}
%\iffalse
%<*example>
%\fi
@@ -2582,8 +2714,6 @@ Command for energy density.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/05/03}{Added \cs{energyflux}.}
-%\changes{v2.6.0}{2016/05/11}{Added \cs{vectorenergyflux}.}
%\iffalse
%<*example>
%\fi
@@ -2602,8 +2732,6 @@ Command for vector energy flux.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/05/03}{Added \cs{momentumflux}.}
-%\changes{v2.6.0}{2016/05/11}{Added \cs{vectormomentumflux}.}
%\iffalse
%<*example>
%\fi
@@ -2648,7 +2776,6 @@ Command for conventional current.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/04/30}{Added \cs{vectormagneticdipolemoment}.}
%\iffalse
%<*example>
%\fi
@@ -2667,7 +2794,6 @@ Command for vector magnetic dipole moment.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/04/30}{Added \cs{vectorcurrentdensity}.}
%\iffalse
%<*example>
%\fi
@@ -2790,7 +2916,6 @@ Command for conductance.
%</example>
%\fi
%
-%\changes{v2.4.0}{2014/12/16}{Added magnetic charge.}
%\iffalse
%<*example>
%\fi
@@ -2942,7 +3067,6 @@ Command for perpetually using alternate units.
% joules per meter. You can redefine a quantity's units on the fly with the
% \cs{redefinephysicsquantity} command.
%
-%\changes{v2.7.2}{2018/03/16}{Documented the \cs{redefinephysicsquantity} command.}
%\iffalse
%<*example>
%\fi
@@ -2956,12 +3080,8 @@ effect immediately.
%</example>
%\fi
%
-%\changes{v2.4.0}{2014/12/16}{Added table of all predefined quantities with units.}
-%\changes{v2.7.2}{2018/03/19}{Adjusted units of some predefined quantities and
-% constants.}
%\subsubsection{All Predefined Quantities}
%
-%\changes{v2.6.0}{2016/05/20}{Documented \cs{chkquantity}.}
%\iffalse
%<*example>
%\fi
@@ -3074,12 +3194,29 @@ below.
% with SI standards, loading \mandi\ with the \opt{useradians} option includes
% angular units in these quantities. See \nameref{LoadingthePackage} for details.
%
+% \subsection{The Empty Unit}
+% Sometimes, when discussing manipulation of units, it is helpful to have a generic
+% symbol that does not correspond to any particular existing unit. The
+% \cs{emptyunit} is provided for this purpose. It serves as a visual placeholder
+% for any unit.
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{emptyunit}{}
+Command for a generic visual placeholder symbolizing any actual unit.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\( \frac{\emptyunit\squared}{\cubic\emptyunit} = \emptyunit^{-1} \)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
% \newpage
-%\changes{v2.5.0}{2015/10/09}{Documented precise and approximate
-% constant values.}
-% \subsection{Physical Constants}
+% \hypertarget{target3}{\subsection{Physical Constants}}
% \subsubsection{Defining Physical Constants}
-% \mandi\ has many predefined \hypertarget{target4}{physical constants}.
+% \mandi\ has many predefined physical constants.
% This section explains how to use them.
%
%\iffalse
@@ -3141,7 +3278,6 @@ each part of the definition on a separate line.
% There is a command similar to \refCom{redefinephysicsquantity} that allows for
% redefining physical constants.
%
-%\changes{v2.7.2}{2018/03/16}{Documented the \cs{redefinephysicsconstant} command.}
%\iffalse
%<*example>
%\fi
@@ -3672,18 +3808,15 @@ Alias for \refCom{EMdist}.
%</example>
%\fi
%
-%\changes{v2.4.0}{2014/12/16}{Added table of all predefined constants
-% with their symbols and units.}
%\subsubsection{All Predefined Constants}
%
-%\changes{v2.6.0}{2016/05/20}{Documented \cs{chkconstant}.}
%\iffalse
%<*example>
%\fi
\begin{docCommand}{chkconstant}{\marg{constantname}}
-Diagnostic command for the symbol, value (either
-\hyperlink{target4}{approximate or precise} depending on how the package
-was loaded), and units for a defined physical constant. See table below.
+Diagnostic command for the symbol, value (either approximate or precise depending
+on how the package was loaded), and units for a defined physical constant. See table
+below.
\end{docCommand}
%\iffalse
%</example>
@@ -4087,7 +4220,6 @@ Symbol for direction of a vector quantity.
%</example>
%\fi
%
-%\changes{v2.7.0}{2017/04/13}{Added \cs{factorvect}.}
%\iffalse
%<*example>
%\fi
@@ -4101,7 +4233,6 @@ Symbol for a vector factored into its magnitude and direction.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/11/29}{Added \cs{componentalong}.}
%\iffalse
%<*example>
%\fi
@@ -4115,7 +4246,6 @@ Symbol for the component along a vector of another vector.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/11/29}{Added \cs{expcomponentalong}.}
%\iffalse
%<*example>
%\fi
@@ -4129,7 +4259,6 @@ Symbolic expression for the component along a vector of another vector.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/11/29}{Added \cs{ucomponentalong}.}
%\iffalse
%<*example>
%\fi
@@ -4144,7 +4273,6 @@ another vector.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/11/29}{Added \cs{projectiononto}.}
%\iffalse
%<*example>
%\fi
@@ -4158,7 +4286,6 @@ Symbol for the projection onto a vector of another vector.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/11/29}{Added \cs{expprojectiononto}.}
%\iffalse
%<*example>
%\fi
@@ -4172,7 +4299,6 @@ Symbolic expression for the projection onto a vector of another vector.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/11/29}{Added \cs{uprojectiononto}.}
%\iffalse
%<*example>
%\fi
@@ -4209,7 +4335,6 @@ always required in the mandatory argument.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/11/29}{Fixed parentheses bug in \cs{magvectncomps}.}
%\iffalse
%<*example>
%\fi
@@ -4254,7 +4379,6 @@ Isolates one of a vector's symbolic components.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/10/20}{Added \cs{scompsdirvect}.}
%\iffalse
%<*example>
%\fi
@@ -4269,7 +4393,6 @@ denote a direction.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/10/20}{Added \cs{compdirvect}.}
%\iffalse
%<*example>
%\fi
@@ -4818,8 +4941,6 @@ Identical to \refCom{magdervectsub} but uses \(\Delta\).
% think \emph{dot product expanded as a sum}. These, along with the previous
% naming conventions, handle many dot product expressions.
%
-%\changes{v2.7.0}{2.16/12/16}{Changed \cs{vectdotvect} to use \cs{cdot}.}
-%\changes{v2.7.0}{2016/12/16}{Added \cs{vectDotvect} to use \cs{bullet}.}
%\iffalse
%<*example>
%\fi
@@ -5300,7 +5421,6 @@ Symbols for basis vectors with upper indices up to 4.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/10/09}{Added \cs{ueuzero} and friends.}
%\iffalse
%<*example>
%\fi
@@ -5570,8 +5690,6 @@ Typesets subscripted symbolic components of column 3- or 4-vectors
%</example>
%\fi
%
-%\changes{v2.4.1}{2015/02/20}{Added \cs{scompsCvect} for superscripted
-% components.}
%\iffalse
%<*example>
%\fi
@@ -5606,8 +5724,6 @@ Typesets subscripted symbolic components of row 3- or 4-vectors
%</example>
%\fi
%
-%\changes{v2.4.1}{2015/02/20}{Added \cs{scompsRvect} for superscripted
-% components.}
%\iffalse
%<*example>
%\fi
@@ -5625,7 +5741,46 @@ Typesets superscripted symbolic components of row 3- or 4-vectors
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/10/09}{Added commands for Dirac notation.}
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{anglebetween}{\marg{kernal}\marg{kernel}}
+Typesets the symbol for the angle between two vectors.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\anglebetween{a}{b}
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{parallelto}{\marg{thing}}
+A better looking parallel symbol whose height is the same as the perpendicular
+symbol's height.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\(\vect{A}_{\parallelto\vect{B}}\)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
+%\iffalse
+%<*example>
+%\fi
+\begin{docCommand}{perpendicularto}{\marg{thing}}
+An alias for the perpendicular symbol.
+\end{docCommand}
+\begin{dispExample*}{sidebyside}
+\(\vect{A}_{\perpendicularto\vect{B}}\)
+\end{dispExample*}
+%\iffalse
+%</example>
+%\fi
+%
%\iffalse
%<*example>
%\fi
@@ -5822,7 +5977,6 @@ italics and should be properly spaced relative to the integrand).
%</example>
%\fi
%
-%\changes{v2.7.0}{2017/03/17}{Added \cs{dslashx} for inexact differentials.}
%\iffalse
%<*example>
%\fi
@@ -5836,7 +5990,6 @@ Symbol indicating an inexact differential. Frequently used in physics.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/05/10}{Replaced \cs{evalfromto} with \cs{evaluatedfromto}.}
%\iffalse
%<*example>
%\fi
@@ -5852,7 +6005,6 @@ limit is optional.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/05/10}{Replaced \cs{evalat} with new \cs{evaluatedat}.}
%\iffalse
%<*example>
%\fi
@@ -6112,7 +6264,6 @@ Gibbs' curl operator.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/10/16}{Added \cs{taigrad} to get Tai's gradient symbol.}
%\iffalse
%<*example>
%\fi
@@ -6126,7 +6277,6 @@ Tai's gradient operator. It's just an alias for \cs{nabla}.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/10/16}{Added \cs{taisvec} to get Tai's symbolic vector.}
%\iffalse
%<*example>
%\fi
@@ -6140,7 +6290,6 @@ Tai's symbol for symbolic vector.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/10/16}{Added \cs{taigrad} to get Tai's divergence symbol.}
%\iffalse
%<*example>
%\fi
@@ -6154,7 +6303,6 @@ Tai's symbol for divergence operator.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/10/16}{Added \cs{taigrad} to get Tai's curl symbol.}
%\iffalse
%<*example>
%\fi
@@ -6201,7 +6349,8 @@ D'Alembertian operator.
Series expansion of \(f(x)\) around \(x=a\).
\end{docCommand}
\begin{dispExample}
-\seriesfofx
+\seriesfofx \\
+\seriesfofx[z]
\end{dispExample}
%\iffalse
%</example>
@@ -6214,7 +6363,8 @@ Series expansion of \(f(x)\) around \(x=a\).
Series expansion of \(e^x\).
\end{docCommand}
\begin{dispExample}
-\seriesexpx
+\seriesexpx \\
+\seriesexpx[z]
\end{dispExample}
%\iffalse
%</example>
@@ -6227,7 +6377,8 @@ Series expansion of \(e^x\).
Series expansion of \(\sin x\).
\end{docCommand}
\begin{dispExample}
-\seriessinx
+\seriessinx \\
+\seriessinx[z]
\end{dispExample}
%\iffalse
%</example>
@@ -6240,7 +6391,8 @@ Series expansion of \(\sin x\).
Series expansion of \(\cos x\).
\end{docCommand}
\begin{dispExample}
-\seriescosx
+\seriescosx \\
+\seriescosx[z]
\end{dispExample}
%\iffalse
%</example>
@@ -6253,7 +6405,8 @@ Series expansion of \(\cos x\).
Series expansion of \(\tan x\).
\end{docCommand}
\begin{dispExample}
-\seriestanx
+\seriestanx \\
+\seriestanx[z]
\end{dispExample}
%\iffalse
%</example>
@@ -6266,7 +6419,8 @@ Series expansion of \(\tan x\).
Series expansion of \(a^x\).
\end{docCommand}
\begin{dispExample}
-\seriesatox
+\seriesatox \\
+\seriesatox[z]
\end{dispExample}
%\iffalse
%</example>
@@ -6279,7 +6433,8 @@ Series expansion of \(a^x\).
Series expansion of \(\ln(1+x)\).
\end{docCommand}
\begin{dispExample}
-\serieslnoneplusx
+\serieslnoneplusx \\
+\serieslnoneplusx[z]
\end{dispExample}
%\iffalse
%</example>
@@ -6292,7 +6447,8 @@ Series expansion of \(\ln(1+x)\).
Series expansion of \((1+x)^n\).
\end{docCommand}
\begin{dispExample}
-\binomialseries
+\binomialseries \\
+\binomialseries[z]
\end{dispExample}
%\iffalse
%</example>
@@ -6324,8 +6480,6 @@ Order of indicator.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/10/08}{Added \cs{eulerlagrange} command to
-% typeset the Euler-Lagrange equation.}
%\iffalse
%<*example>
%\fi
@@ -6473,8 +6627,6 @@ Command to get fonts in Griffiths' electrodynamics textbook.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/10/08}{Added \cs{Lagr} to get symbol for
-% Lagrangian.}
%\iffalse
%<*example>
%\fi
@@ -6501,7 +6653,6 @@ Symbol for flux of a vector field.
%</example>
%\fi
%
-%\changes{v2.7.0}{2017/04/13}{Added \cs{circulation}.}
%\iffalse
%<*example>
%\fi
@@ -6515,9 +6666,6 @@ Symbol for circulation of a vector field.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/09/13}{Added \cs{inparens} for grouping with
-% parentheses.}
-%\changes{v2.6.0}{2016/05/02}{Changed placeholder to underscore.}
%\iffalse
%<*example>
%\fi
@@ -6532,10 +6680,6 @@ placeholder.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/09/13}{Renamed \cs{abs} to \cs{absof}.}
-%\changes{v2.5.0}{2015/09/13}{\cs{absof} now shows a placeholder for a
-% blank argument.}
-%\changes{v2.6.0}{2016/05/02}{Changed placeholder to underscore.}
%\iffalse
%<*example>
%\fi
@@ -6549,9 +6693,6 @@ Absolute value function. A blank argument generates a placeholder.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/09/13}{\cs{magof} now shows a placeholder for a
-% blank argument.}
-%\changes{v2.6.0}{2016/05/02}{Changed placeholder to underscore.}
%\iffalse
%<*example>
%\fi
@@ -6567,9 +6708,6 @@ A blank argument generates a placeholder.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/09/13}{\cs{dimsof} now shows a placeholder for a
-% blank argument.}
-%\changes{v2.6.0}{2016/05/02}{Changed placeholder to underscore.}
%\iffalse
%<*example>
%\fi
@@ -6584,9 +6722,6 @@ generates a placeholder.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/09/13}{\cs{unitsof} now shows a placeholder for a
-% blank argument.}
-%\changes{v2.6.0}{2016/05/02}{Changed placeholder to underscore.}
%\iffalse
%<*example>
%\fi
@@ -7920,8 +8055,6 @@ Various symbols for total angular momentum.
%</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
@@ -8771,8 +8904,6 @@ Maxwell's fourth equation in differential form in free space.
%</example>
%\fi
%
-%\changes{v2.4.0}{2014/12/16}{Added Lorentz force, with and
-% without magnetic monopoles.}
%\iffalse
%<*example>
%\fi
@@ -8809,12 +8940,6 @@ Right hand side of Lorentz force with magnetic monopoles.
% Because Classic VPython will no longer be developed, the first line of all
% VPython programs not used in GlowScript will conform to Jupyter syntax.
%
-%\changes{v2.4.0}{2014/12/16}{\cs{vpythonline} now uses a uniform style.}
-%\changes{v2.4.1}{2015/01/23}{Added more VPython keywords.}
-%\changes{v2.5.0}{2016/01/26}{Added explicit mention of VPython and GlowScript.}
-%\changes{v2.5.0}{2016/01/26}{Added GlowScript keywords.}
-%\changes{v2.7.0}{2017/02/02}{Changed first line of VPython programs to match
-% Jupyter syntax.}
%\iffalse
%<*example>
%\fi
@@ -8828,7 +8953,6 @@ Command for a single line of VPython or GlowScript code used inline.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/05/12}{Added \cs{glowscriptline}.}
%\iffalse
%<*example>
%\fi
@@ -8843,16 +8967,18 @@ few exceptions, GlowScript code is identical to VPython code.
%</example>
%\fi
%
-%\changes{v2.4.0}{2014/12/16}{\texttt{vpythonblock} now uses a uniform style.}
-%\changes{v2.4.1}{2015/02/11}{\texttt{vpythonblock} now accepts an optional caption.}
%\iffalse
%<*example>
%\fi
-\begin{docEnvironment}{vpythonblock}{\oarg{caption}}
-Environment for a block of VPython or GlowScript code.
+\begin{docEnvironment}{vpythonblock}{\marg{caption}\marg{label}}
+Environment for a block of VPython code. A caption and label are
+required. The label can be used by \cs{ref} or \cs{hyperref}.
+\end{docEnvironment}
+\begin{docEnvironment}{glowscriptblock}{\marg{caption}\marg{label}}
+Functionally identical to \refEnv{vpythonblock}.
\end{docEnvironment}
\begin{dispExample}
-\begin{vpythonblock}[Example VPython Listing]
+\begin{vpythonblock}{Example VPython Listing}{listing1}
from vpython import *
sphere(pos=vector(1,2,3),color=color.green)
@@ -8865,45 +8991,19 @@ Environment for a block of VPython or GlowScript code.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/05/12}{Added \texttt{glowscriptblock}.}
-%\iffalse
-%<*example>
-%\fi
-\begin{docEnvironment}{glowscriptblock}{\oarg{caption}}
-Environment for a block of GlowScript code.
-\end{docEnvironment}
-\begin{dispExample}
-\begin{glowscriptblock}[Example GlowScript Listing]
-GlowScript 2.3 VPython
-
-Aarr = arrow(pos=vector(0,0,0),axis=A,color=color.red)
-label(pos=Aarr.axis,text='A')
-Barr = arrow(pos=vector(0,0,0),axis=B,color=color.blue)
-label(pos=Barr.axis,text='B')
-Carr = arrow(pos=vector(0,0,0),axis=C,color=color.green)
-label(pos=Carr.axis,text='C')
-\end{glowscriptblock}
-\end{dispExample}
-%\iffalse
-%</example>
-%\fi
-%
-%\changes{v2.4.0}{2014/12/16}{\cs{vpythonfile} now uses a uniform style.}
-%\changes{v2.4.1}{2015/02/11}{\cs{vpythonfile} now accepts an optional caption.}
-%\changes{v2.5.0}{2016/01/26}{\cs{vpythonfile} now begins listings on a new page.}
-%\changes{v2.6.0}{2016/05/12}{Added \cs{glowscriptfile}.}
%\iffalse
%<*example>
%\fi
-\begin{docCommand}{vpythonfile}{\oarg{caption}\meta{filename}}
-Typesets a file in the current directory containing VPython code.
+\begin{docCommand}{vpythonfile}{\marg{caption}\marg{label}\meta{filename}}
+Typesets a file in the current directory containing VPython code. A caption and
+label are required. The label can be used by \cs{ref} and \cs{hyperref}.
The listing will begin on a new page.
\end{docCommand}
-\begin{docCommand}{glowscriptfile}{\oarg{caption}\meta{filename}}
+\begin{docCommand}{glowscriptfile}{\marg{caption}\marg{label}\meta{filename}}
Functionally identical to \refCom{vpythonfile}.
\end{docCommand}
\begin{dispExample}
-\vpythonfile[vdemo.py]{vdemo.py}
+\vpythonfile{Program vdemo.py}{vlisting1}{vdemo.py}
\end{dispExample}
%\iffalse
%</example>
@@ -9130,7 +9230,6 @@ and width 0.90 that of current \cs{linewidth} (too large to show here).
%</example>
%\fi
%
-%\changes{v2.4.2}{2015/06/08}{Added \cs{smallanswerform}.}
%\iffalse
%<*example>
%\fi
@@ -9148,7 +9247,6 @@ that supports PDF forms.
%</example>
%\fi
%
-%\changes{v2.4.2}{2015/06/08}{Added \cs{mediumanswerform}.}
%\iffalse
%<*example>
%\fi
@@ -9166,7 +9264,6 @@ that supports PDF forms.
%</example>
%\fi
%
-%\changes{v2.4.2}{2015/06/08}{Added \cs{largeanswerform}.}
%\iffalse
%<*example>
%\fi
@@ -9181,7 +9278,6 @@ and width 0.90 that of current \cs{linewidth} (too large to show here).
%</example>
%\fi
%
-%\changes{v2.4.2}{2015/06/08}{Added \cs{largeranswerform}.}
%\iffalse
%<*example>
%\fi
@@ -9196,7 +9292,6 @@ and width 0.90 that of current \cs{linewidth} (too large to show here).
%</example>
%\fi
%
-%\changes{v2.4.2}{2015/06/08}{Added \cs{hugeanswerform}.}
%\iffalse
%<*example>
%\fi
@@ -9211,7 +9306,6 @@ and width 0.90 that of current \cs{linewidth} (too large to show here).
%</example>
%\fi
%
-%\changes{v2.4.2}{2015/06/08}{Added \cs{hugeranswerform}.}
%\iffalse
%<*example>
%\fi
@@ -9226,7 +9320,6 @@ and width 0.90 that of current \cs{linewidth} (too large to show here).
%</example>
%\fi
%
-%\changes{v2.4.2}{2015/06/08}{Added \cs{fullpageanswerform}.}
%\iffalse
%<*example>
%\fi
@@ -9241,8 +9334,6 @@ and width 0.90 that of current \cs{linewidth} (too large to show here).
%</example>
%\fi
%
-%\changes{v2.4.1}{2015/02/14}{Commands that use \pkgname{mdframed}
-% will not break over pages.}
%\iffalse
%<*example>
%\fi
@@ -9289,9 +9380,6 @@ Environment for highlighting notes to students.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/10/14}{\cs{miderivation} now prints line numbers.}
-%\changes{v2.5.0}{2015/10/14}{Added \cs{miderivation*} to suppress line
-% numbers.}
%\iffalse
%<*example>
%\fi
@@ -9322,7 +9410,6 @@ Like \refEnv{miderivation} but suppresses line numbers.
%</example>
%\fi
%
-%\changes{v2.6.3}{2016/09/02}{Added \cs{mistandard} for standards.}
%\iffalse
%<*example>
%\fi
@@ -9384,9 +9471,6 @@ Like \refEnv{mistudentnote} but in black and grey.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/10/14}{\cs{bwderivation} now shows line numbers.}
-%\changes{v2.5.0}{2015/10/14}{Added \cs{bwderivation*} to suppress line
-% numbers.}
%\iffalse
%<*example>
%\fi
@@ -9414,7 +9498,6 @@ Like \refEnv{bwderivation} but suppresses line numbers.
%</example>
%\fi
%
-%\changes{v2.6.3}{2016/09/02}{Added \cs{bwstandard} for standards.}
%\iffalse
%<*example>
%\fi
@@ -9430,10 +9513,6 @@ Like \refEnv{mistandard} but in black and grey.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/10/14}{\cs{mysolution} now prints line numbers.}
-%\changes{v2.5.0}{2015/10/14}{Added \cs{mysolution*} to suppress line numbers.}
-%\changes{v2.5.0}{2016/01/26}{Added example showing how to handle long
-% lines and suppressing numbers on broken lines.}
%\iffalse
%<*example>
%\fi
@@ -9477,12 +9556,11 @@ Like \refEnv{mysolution} but suppresses line numbers.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/05/02}{Added \cs{problem} environment.}
%\iffalse
%<*example>
%\fi
\begin{docEnvironment}{problem}{\marg{problemname}}
-Creates a simple environment for \hypertarget{target5}{problem solutions}. This
+Creates a simple environment for problem solutions. This
environment is mainly for students. Each new problem starts on a new page in an
effort to force organization upon students. The environment also creates a new
|enumerate| environment called |parts| for which labels are alphabetic,
@@ -9505,8 +9583,6 @@ This problem has two parts.
%</example>
%\fi
%
-%\changes{v2.6.0}{2016/05/02}{Added \cs{reason}.}
-%\changes{v2.7.0}{2017/02/02}{Changed \cs{reason} to use minipage.}
%\iffalse
%<*example>
%\fi
@@ -9529,7 +9605,6 @@ are narrow enough. You may need to experiment.
% \newpage
% \subsection{Miscellaneous Commands}
%
-%\changes{v2.5.0}{2015/10/08}{Added color to \cs{checkpoint}.}
%\iffalse
%<*example>
%\fi
@@ -9543,10 +9618,6 @@ Centered checkpoint for student discussion.
%</example>
%\fi
%
-%\changes{v2.6.3}{2016/09/11}{Loads the \pkgname{float} package for \cs{image}.}
-%\changes{v2.6.3}{2016/09/08}{Added scaling options to \cs{image}.}
-%\changes{v2.6.3}{2016/09/08}{Tweaked \cs{image} to work in documentation.}
-%\changes{v2.7.0}{2017/02/02}{Added fourth argument to \cs{image} for a label.}
%\iffalse
%<*example>
%\fi
@@ -9569,7 +9640,6 @@ to the image subsequently just by using the label.
%</example>
%\fi
%
-%\changes{v2.5.0}{2015/09/13}{Changed behavior of \cs{sneakyone}.}
%\iffalse
%<*example>
%\fi
@@ -9583,36 +9653,6 @@ Shows argument as a sneaky one.
%</example>
%\fi
%
-%\changes{v2.7.0}{2017/09/01}{Added better looking parallel symbol.}
-%\iffalse
-%<*example>
-%\fi
-\begin{docCommand}{parallelto}{\marg{thing}}
-A better looking parallel symbol whose height is the same as the perpendicular
-symbol's height.
-\end{docCommand}
-\begin{dispExample*}{sidebyside}
-\(\vect{A}_{\parallelto\vect{B}}\) and \(\vect{A}_{\perpendicularto\vect{B}}\)
-\end{dispExample*}
-%\iffalse
-%</example>
-%\fi
-%
-%\changes{v2.7.0}{2017/09/01}{Added an alias for the perpendicular symbol.}
-%\iffalse
-%<*example>
-%\fi
-\begin{docCommand}{perpendicularto}{\marg{thing}}
-An alias for the perpendicular symbol.
-\end{docCommand}
-\begin{dispExample*}{sidebyside}
-\(\vect{A}_{\parallelto\vect{B}}\) and \(\vect{A}_{\perpendicularto\vect{B}}\)
-\end{dispExample*}
-%\iffalse
-%</example>
-%\fi
-%
-%\changes{v2.5.0}{2015/10/08}{Added \cs{qed} symbol.}
%\iffalse
%<*example>
%\fi
@@ -9731,9 +9771,9 @@ Command for QED symbol.
%
% \begin{macrocode}
\newcommand*{\mandiversion}{\ifmmode%
- 2.7.2\mbox{ dated }2018/03/20%
+ 2.7.3\mbox{ dated }2018/12/30%
\else%
- 2.7.2 dated 2018/03/20%
+ 2.7.3 dated 2018/12/30%
\fi
}%
\typeout{ }
@@ -9813,6 +9853,7 @@ Command for QED symbol.
\newcommand*{\reciprocalsquared}{\ensuremath{^{-2}}} % postfix -2
\newcommand*{\reciprocalcubed}{\ensuremath{^{-3}}} % postfix -3
\newcommand*{\reciprocalquarted}{\ensuremath{^{-4}}} % postfix -4
+\newcommand*{\emptyunit}{\ensuremath{\Box}}
% \end{macrocode}
%
% \noindent Define a new named physics quantity or physical constant and
@@ -10842,6 +10883,7 @@ Command for QED symbol.
\rowvector[,]{\msup{#2}{0},\msup{#2}{1},\msup{#2}{2},\msup{#2}{3}}%
}%
}%
+\newcommand*{\anglebetween}[2]{\ensuremath{\theta_{\vect{#1},\vect{#2}}}}
\newcommand*{\bra}[1]{\ensuremath{\left\langle{#1}\right\lvert}}
\newcommand*{\ket}[1]{\ensuremath{\left\lvert{#1}\right\rangle}}
\newcommand*{\bracket}[2]{\ensuremath{\left\langle{#1}\!\!\right.%
@@ -11244,25 +11286,26 @@ Command for QED symbol.
\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}
+\newcommandx{\seriesfofx}[1][1=x,usedefault]{\ensuremath{%
+ f({#1}) \approx f(a) + \frac{f^\prime (a)}{1!}({#1}-a) +
+ \frac{f^{\prime\prime}(a)}{2!}({#1}-a)^2 +
+ \frac{f^{\prime\prime\prime}(a)}{3!}({#1}-a)^3 + \ldots}\xspace}
+\newcommandx{\seriesexpx}[1][1=x,usedefault]{\ensuremath{%
+ e^{#1} \approx 1 + {#1} + \frac{{#1}^2}{2!} + \frac{{#1}^3}{3!} + \ldots}\xspace}
+\newcommandx{\seriessinx}[1][1=x,usedefault]{\ensuremath{%
+ \sin {#1} \approx {#1} - \frac{{#1}^3}{3!} + \frac{{#1}^5}{5!} - \ldots}\xspace}
+\newcommandx{\seriescosx}[1][1=x,usedefault]{\ensuremath{%
+ \cos {#1} \approx 1 - \frac{{#1}^2}{2!} + \frac{{#1}^4}{4!} - \ldots}\xspace}
+\newcommandx{\seriestanx}[1][1=x,usedefault]{\ensuremath{%
+ \tan {#1} \approx {#1} + \frac{{#1}^3}{3} + \frac{2{#1}^5}{15} + \ldots}\xspace}
+\newcommandx{\seriesatox}[1][1=x,usedefault]{\ensuremath{%
+ a^{#1} \approx 1 + {#1} \ln{a} + \frac{({#1} \ln a)^2}{2!} +
+ \frac{({#1} \ln a)^3}{3!} + \ldots}\xspace}
+\newcommandx{\serieslnoneplusx}[1][1=x,usedefault]{\ensuremath{%
+ \ln(1 \pm {#1}) \approx \pm\; {#1} - \frac{{#1}^2}{2} \pm \frac{{#1}^3}{3} - %
+ \frac{{#1}^4}{4} \pm \ldots}\xspace}
+\newcommandx{\binomialseries}[1][1=x,usedefault]{\ensuremath{%
+ (1 + {#1})^n \approx 1 + n{#1} + \frac{n(n-1)}{2!}{#1}^2 + \ldots}\xspace}
\newcommand*{\gradient}{\ensuremath{\boldsymbol{\nabla}}}
\newcommand*{\divergence}{\ensuremath{\boldsymbol{\nabla}\bullet}}
\newcommand*{\curl}{\ensuremath{\boldsymbol{\nabla\times}}}
@@ -11663,11 +11706,14 @@ Command for QED symbol.
\DbyD{\mathcal{L}}{#1}-\DbyDt\inparens{\DbyD{\mathcal{L}}{\dot{#1}}} = 0}}
\newcommand*{\vpythonline}{\lstinline[style=vpython]}
\newcommand*{\glowscriptline}{\lstinline[style=vpython]}
-\lstnewenvironment{vpythonblock}[1][]{\lstset{style=vpython,caption={#1}}}{}
-\lstnewenvironment{glowscriptblock}[1][]{\lstset{style=vpython,caption={#1}}}{}
-\newcommand*{\vpythonfile}[1][]{\newpage\lstinputlisting[style=vpython,caption={#1}]}
-\newcommand*{\glowscriptfile}[1][]{%
- \newpage\lstinputlisting[style=vpython,caption={#1}]}
+\lstnewenvironment{vpythonblock}[2]{%
+ \lstset{style=vpython,caption={#1},label={#2}}}{}
+\lstnewenvironment{glowscriptblock}[2]{%
+ \lstset{style=vpython,caption={#1},label={#2}}}{}
+\newcommand*{\vpythonfile}[3]{%
+ \newpage\lstinputlisting[style=vpython,caption={#1},label={#2}]{#3}}
+\newcommand*{\glowscriptfile}[3]{%
+ \newpage\lstinputlisting[style=vpython,caption={#1},label={#2}]{#3}}
\newcommandx{\emptyanswer}[2][1=0.80,2=0.1,usedefault]
{\begin{minipage}{#1\textwidth}\hfill\vspace{#2\textheight}\end{minipage}}
\newenvironmentx{activityanswer}[5][1=white,2=black,3=black,4=0.90,%