diff options
author | Karl Berry <karl@freefriends.org> | 2018-12-31 22:10:54 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-12-31 22:10:54 +0000 |
commit | bbacc5326b60f939beba3336142e88f2708c7357 (patch) | |
tree | b3d28897392ccd06c8fbd50f87f6c9417985785f /Master/texmf-dist/source/latex/mandi | |
parent | 9934f6b0a89038c8f7c638bef08dfa3171e6bc0e (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.dtx | 788 |
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,% |