summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/mandi
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-08-22 19:58:29 +0000
committerKarl Berry <karl@freefriends.org>2021-08-22 19:58:29 +0000
commiteab8544bd60408c04ed14726e87bf5dace53a63c (patch)
tree7afc598c8b5afabea5a151a106aa141af269c28a /Master/texmf-dist/tex/latex/mandi
parentea10d49412b34c5ad60d939f0f866c7ad381f2ad (diff)
mandi (22aug21)
git-svn-id: svn://tug.org/texlive/trunk@60300 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/mandi')
-rw-r--r--Master/texmf-dist/tex/latex/mandi/mandi.sty3237
-rw-r--r--Master/texmf-dist/tex/latex/mandi/mandiexp.sty201
-rw-r--r--Master/texmf-dist/tex/latex/mandi/mandistudent.sty473
3 files changed, 1493 insertions, 2418 deletions
diff --git a/Master/texmf-dist/tex/latex/mandi/mandi.sty b/Master/texmf-dist/tex/latex/mandi/mandi.sty
index d22aebeb329..4f5ef0ad9ca 100644
--- a/Master/texmf-dist/tex/latex/mandi/mandi.sty
+++ b/Master/texmf-dist/tex/latex/mandi/mandi.sty
@@ -6,1109 +6,848 @@
%%
%% mandi.dtx (with options: `package')
%%
-%% Copyright (C) 2018 by Paul J. Heafner <heafnerj@gmail.com>
-%% ---------------------------------------------------------------------------
-%% This work may be distributed and/or modified under the conditions of the
-%% LaTeX Project Public License, either version 1.3 of this license or (at
-%% your option) any later version. The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX version
-%% 2005/12/01 or later.
+%% Copyright (C) 2021 by Paul J. Heafner <heafnerj@gmail.com>
+%% ---------------------------------------------------------------------------
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, either version 1.3 of this license or (at
+%% your option) any later version. The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX version
+%% 2005/12/01 or later.
%%
-%% This work has the LPPL maintenance status `maintained'.
+%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Paul J. Heafner.
+%% The Current Maintainer of this work is Paul J. Heafner.
%%
%% This work consists of the files mandi.dtx
+%% mandistudent.dtx
+%% mandiexp.dtx
%% mandi.ins
%% mandi.pdf
-%% README
+%% README.md
%%
%% and includes the derived files mandi.sty
-%% vdemo.py.
-%% ---------------------------------------------------------------------------
+%% mandistudent.sty
+%% mandiexp.sty
+%% vdemo.py
+%% ---------------------------------------------------------------------------
%%
-%%\ProvidesPackage{mandi}[2019/01/12 2.7.5 Macros for physics and astronomy]
-\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-
-\RequirePackage{amsmath}
-\RequirePackage{amssymb}
-\RequirePackage{array}
-\RequirePackage{cancel}
-\RequirePackage[dvipsnames]{xcolor}
-\RequirePackage{enumitem}
-\RequirePackage{environ}
-\RequirePackage{esint}
-\RequirePackage[g]{esvect}
-\RequirePackage{etoolbox}
-\RequirePackage{filehook}
-\RequirePackage{extarrows}
-\RequirePackage{float}
-\RequirePackage[T1]{fontenc}
-\RequirePackage{graphicx}
-\RequirePackage{epstopdf}
-\RequirePackage{textcomp}
-\RequirePackage{letltxmacro}
-\RequirePackage{listings}
-\RequirePackage{mathtools}
-\RequirePackage[framemethod=TikZ]{mdframed}
-\RequirePackage{stackengine}
-\RequirePackage{suffix}
-\RequirePackage{tensor}
-\RequirePackage{xargs}
-\RequirePackage{xparse}
-\RequirePackage{xspace}
-\RequirePackage{ifthen}
-\RequirePackage{calligra}
-\RequirePackage[hypertexnames=false]{hyperref}
-\hypersetup{colorlinks=true,urlcolor=blue}
-\DeclareMathAlphabet{\mathcalligra}{T1}{calligra}{m}{n}
-\DeclareFontShape{T1}{calligra}{m}{n}{<->s*[2.2]callig15}{}
-\DeclareGraphicsRule{.tif}{png}{.png}{`convert #1 `basename #1 .tif`.png}
-\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}
-\usetikzlibrary{shadows}
-\definecolor{vbgcolor}{rgb}{1,1,1} % background for code listings
-\definecolor{vshadowcolor}{rgb}{0.5,0.5,0.5} % shadow for code listings
-\lstdefinestyle{vpython}{% % style for code listings
- language=Python,% % select language
- morekeywords={__future__,division,append, % VPython/GlowScript specific keywords
- arange,arrow,astuple,axis,background,black,blue,cyan,green,%
- magenta,orange,red,white,yellow,border,box,color,comp,%
- cone,convex,cross,curve,cylinder,degrees,diff_angle,dot,ellipsoid,extrusion,faces,%
- font,frame,graphs,headlength,height,headwidth,helix,index,interval,label,length,%
- line,linecolor,mag,mag2,make_trail,material,norm,normal,objects,opacity,points,pos,%
- print,print_function,proj,pyramid,radians,radius,rate,retain,ring,rotate,scene,%
- shaftwidth,shape,sign,size,space,sphere,text,trail_object,trail_type,True,twist,up,%
- vector,visual,width,offset,yoffset,GlowScript,VPython,vpython,trail_color,%
- trail_radius,pps,clear,False,CoffeeScript,graph,gdisplay,canvas,pause,vec,clone,%
- compound,vertex,triangle,quad,attach_trail,attach_arrow,textures,bumpmaps,%
- print_options,get_library,read_local_file},%
- captionpos=b,% % position caption
- frame=shadowbox,% % shadowbox around listing
- rulesepcolor=\color{vshadowcolor},% % shadow color
- basicstyle=\footnotesize,% % basic font for code listings
- commentstyle=\bfseries\color{red}, % font for comments
- keywordstyle=\bfseries\color{blue},% % font for keywords
- showstringspaces=true,% % show spaces in strings
- stringstyle=\bfseries\color{green},% % color for strings
- numbers=left,% % where to put line numbers
- numberstyle=\tiny,% % set to 'none' for no line numbers
- xleftmargin=20pt,% % extra left margin
- backgroundcolor=\color{vbgcolor},% % some people find this annoying
- upquote=true,% % how to typeset quotes
- breaklines=true}% % break long lines
-\definecolor{formcolor}{gray}{0.90} % color for form background
-\newcolumntype{C}[1]{>{\centering}m{#1}}
-\newboolean{@optromanvectors}
-\newboolean{@optboldvectors}
-\newboolean{@optsinglemagbars}
-\newboolean{@optbaseunits}
-\newboolean{@optdrvdunits}
-\newboolean{@optaltnunits}
-\newboolean{@optapproxconsts}
-\newboolean{@optuseradians}
-\setboolean{@optromanvectors}{false} % this is where you set the default option
-\setboolean{@optboldvectors}{false} % this is where you set the default option
-\setboolean{@optsinglemagbars}{false} % this is where you set the default option
-\setboolean{@optbaseunits}{false} % this is where you set the default option
-\setboolean{@optdrvdunits}{true} % this is where you set the default option
-\setboolean{@optaltnunits}{false} % this is where you set the default option
-\setboolean{@optapproxconsts}{false} % this is where you set the default option
-\setboolean{@optuseradians}{false} % this is where you set the default option
-\DeclareOption{romanvectors}{\setboolean{@optromanvectors}{true}}
-\DeclareOption{boldvectors}{\setboolean{@optboldvectors}{true}}
-\DeclareOption{singlemagbars}{\setboolean{@optsinglemagbars}{true}}
-\DeclareOption{baseunits}{\setboolean{@optbaseunits}{true}}
-\DeclareOption{drvdunits}{\setboolean{@optdrvdunits}{true}}
-\DeclareOption{approxconsts}{\setboolean{@optapproxconsts}{true}}
-\DeclareOption{useradians}{\setboolean{@optuseradians}{true}}
-\ProcessOptions\relax
-\newcommand*{\mandiversion}{\ifmmode%
- 2.7.5\mbox{ dated }2019/01/12%
- \else%
- 2.7.5 dated 2019/01/12%
+\def\mandi@version{3.0.0}
+\def\mandi@date{2021-08-21}
+\NeedsTeXFormat{LaTeX2e}[2020-02-02]
+\DeclareRelease{v3.0.0}{2021-08-21}{mandi.sty}
+\DeclareCurrentRelease{v\mandi@version}{\mandi@date}
+\ProvidesPackage{mandi}
+ [\mandi@date\space v\mandi@version\space Macros for physical quantities]
+\newcommand*{\mandiversion}{v\mandi@version\space dated \mandi@date}
+\RequirePackage{pgfopts} % needed for key-value interface
+\RequirePackage{array} % needed for \checkquantity and \checkconstant
+\RequirePackage{iftex} % needed for requiring LuaLaTeX
+\RequirePackage{unicode-math} % needed for Unicode support
+\RequireLuaTeX % require this engine
+\newcommand*{\mandi@selectunits}{}
+\newcommand*{\mandi@selectprecision}{}
+\newcommand*{\mandi@selectapproximate}[2]{#1} % really \@firstoftwo
+\newcommand*{\mandi@selectprecise}[2]{#2} % really \@secondoftwo
+\newcommand*{\mandi@selectbaseunits}[3]{#1} % really \@firstofthree
+\newcommand*{\mandi@selectderivedunits}[3]{#2} % really \@secondofthree
+\newcommand*{\mandi@selectalternateunits}[3]{#3} % really \@thirdofthree
+\NewDocumentCommand{\alwaysusebaseunits}{}
+ {\renewcommand*{\mandi@selectunits}{\mandi@selectbaseunits}}%
+\NewDocumentCommand{\alwaysusederivedunits}{}
+ {\renewcommand*{\mandi@selectunits}{\mandi@selectderivedunits}}%
+\NewDocumentCommand{\alwaysusealternateunits}{}
+ {\renewcommand*{\mandi@selectunits}{\mandi@selectalternateunits}}%
+\NewDocumentCommand{\alwaysuseapproximateconstants}{}
+ {\renewcommand*{\mandi@selectprecision}{\mandi@selectapproximate}}%
+\NewDocumentCommand{\alwaysusepreciseconstants}{}
+ {\renewcommand*{\mandi@selectprecision}{\mandi@selectprecise}}%
+\NewDocumentCommand{\hereusebaseunits}{ m }{\begingroup\alwaysusebaseunits#1\endgroup}%
+\NewDocumentCommand{\hereusederivedunits}{ m }{\begingroup\alwaysusederivedunits#1\endgroup}%
+\NewDocumentCommand{\hereusealternateunits}{ m }{\begingroup\alwaysusealternateunits#1\endgroup}%
+\NewDocumentCommand{\hereuseapproximateconstants}{ m }{\begingroup\alwaysuseapproximateconstants#1\endgroup}%
+\NewDocumentCommand{\hereusepreciseconstants}{ m }{\begingroup\alwaysusepreciseconstants#1\endgroup}%
+\NewDocumentEnvironment{usebaseunits}{}{\alwaysusebaseunits}{}%
+\NewDocumentEnvironment{usederivedunits}{}{\alwaysusederivedunits}{}%
+\NewDocumentEnvironment{usealternateunits}{}{\alwaysusealternateunits}{}%
+\NewDocumentEnvironment{useapproximateconstants}{}{\alwaysuseapproximateconstants}{}%
+\NewDocumentEnvironment{usepreciseconstants}{}{\alwaysusepreciseconstants}{}%
+\newif\ifusingpreciseconstants
+\pgfkeys{%
+ /mandi/options/.cd,
+ initial@setup/.style={%
+ /mandi/options/buffered@units/.initial=alternate,%
+ },%
+ initial@setup,%
+ preciseconstants/.is if=usingpreciseconstants,%
+ units/.is choice,%
+ units/.default=derived,%
+ units/alternate/.style={/mandi/options/buffered@units=alternate},%
+ units/base/.style={/mandi/options/buffered@units=base},%
+ units/derived/.style={/mandi/options/buffered@units=derived},%
+}%
+\ProcessPgfPackageOptions{/mandi/options}
+\typeout{}%
+\typeout{mandi: You are using mandi \mandiversion.}%
+\typeout{mandi: This package requires LuaLaTeX.}%
+\typeout{mandi: Loadtime options...}
+\newcommand*{\mandi@do@setup}{%
+ \csname alwaysuse\pgfkeysvalueof{/mandi/options/buffered@units}units\endcsname%
+ \typeout{mandi: You will get \pgfkeysvalueof{/mandi/options/buffered@units}\space units.}%
+ \ifusingpreciseconstants
+ \alwaysusepreciseconstants
+ \typeout{mandi: You will get precise constants.}%
+ \else
+ \alwaysuseapproximateconstants
+ \typeout{mandi: You will get approximate constants.}%
\fi
+ \typeout{}%
+}%
+\mandi@do@setup
+\NewDocumentCommand{\mandisetup}{ m }{%
+ \IfValueT{#1}{%
+ \pgfqkeys{/mandi/options}{#1}
+ \typeout{}%
+ \typeout{mandi: mandisetup options...}
+ \mandi@do@setup
}%
-\typeout{ }
-\typeout{mandi: You're using mandi version \mandiversion.}
-\@ifpackageloaded{amssymb}{%
- \csundef{square}
- \typeout{mandi: Package amssymb detected. Its \protect\square\space
- has been redefined.}
-}{%
- \typeout{mandi: Package amssymb not detected.}
}%
-\newcommand*{\per}{\ensuremath{/}}
-\newcommand*{\usk}{\ensuremath{\cdot}}
-\newcommand*{\unit}[2]{\ensuremath{{#1}\;{#2}}}
-\newcommand*{\ampere}{\ensuremath{\mathrm{A}}}
-\newcommand*{\arcminute}{\ensuremath{'}}
-\newcommand*{\arcsecond}{\ensuremath{''}}
-\newcommand*{\atomicmassunit}{\ensuremath{\mathrm{u}}}
-\newcommand*{\candela}{\ensuremath{\mathrm{cd}}}
-\newcommand*{\coulomb}{\ensuremath{\mathrm{C}}}
-\newcommand*{\degree}{\ensuremath{^{\circ}}}
-\newcommand*{\electronvolt}{\ensuremath{\mathrm{eV}}}
-\newcommand*{\eV}{\electronvolt}
-\newcommand*{\farad}{\ensuremath{\mathrm{F}}}
-\newcommand*{\henry}{\ensuremath{\mathrm{H}}}
-\newcommand*{\hertz}{\ensuremath{\mathrm{Hz}}}
-\newcommand*{\hour}{\ensuremath{\mathrm{h}}}
-\newcommand*{\joule}{\ensuremath{\mathrm{J}}}
-\newcommand*{\kelvin}{\ensuremath{\mathrm{K}}}
-\newcommand*{\kilogram}{\ensuremath{\mathrm{kg}}}
-\newcommand*{\metre}{\ensuremath{\mathrm{m}}}
-\newcommand*{\minute}{\ensuremath{\mathrm{min}}}
-\newcommand*{\mole}{\ensuremath{\mathrm{mol}}}
-\newcommand*{\newton}{\ensuremath{\mathrm{N}}}
-\newcommand*{\ohm}{\ensuremath{\Omega}}
-\newcommand*{\pascal}{\ensuremath{\mathrm{Pa}}}
-\newcommand*{\radian}{\ensuremath{\mathrm{rad}}}
-\newcommand*{\second}{\ensuremath{\mathrm{s}}}
-\newcommand*{\siemens}{\ensuremath{\mathrm{S}}}
-\newcommand*{\steradian}{\ensuremath{\mathrm{sr}}}
-\newcommand*{\tesla}{\ensuremath{\mathrm{T}}}
-\newcommand*{\volt}{\ensuremath{\mathrm{V}}}
-\newcommand*{\watt}{\ensuremath{\mathrm{W}}}
-\newcommand*{\weber}{\ensuremath{\mathrm{Wb}}}
-\newcommand*{\C}{\coulomb}
-\newcommand*{\F}{\farad}
-\newcommand*{\J}{\joule}
-\newcommand*{\N}{\newton}
-\newcommand*{\Pa}{\pascal}
-\newcommand*{\rad}{\radian}
-\newcommand*{\sr}{\steradian}
-\newcommand*{\T}{\tesla}
-\newcommand*{\V}{\volt}
-\newcommand*{\W}{\watt}
-\newcommand*{\Wb}{\weber}
-\newcommand*{\square}[1]{\ensuremath{{#1}^2}} % prefix 2
-\newcommand*{\cubic}[1]{\ensuremath{{#1}^3}} % prefix 3
-\newcommand*{\quartic}[1]{\ensuremath{{#1}^4}} % prefix 4
-\newcommand*{\reciprocal}[1]{\ensuremath{{#1}^{-1}}} % prefix -1
-\newcommand*{\reciprocalsquare}[1]{\ensuremath{{#1}^{-2}}} % prefix -2
-\newcommand*{\reciprocalcubic}[1]{\ensuremath{{#1}^{-3}}} % prefix -3
-\newcommand*{\reciprocalquartic}[1]{\ensuremath{{#1}^{-4}}} % prefix -4
-\newcommand*{\squared}{\ensuremath{^2}} % postfix 2
-\newcommand*{\cubed}{\ensuremath{^3}} % postfix 3
-\newcommand*{\quarted}{\ensuremath{^4}} % postfix 4
-\newcommand*{\reciprocaled}{\ensuremath{^{-1}}} % postfix -1
-\newcommand*{\reciprocalsquared}{\ensuremath{^{-2}}} % postfix -2
-\newcommand*{\reciprocalcubed}{\ensuremath{^{-3}}} % postfix -3
-\newcommand*{\reciprocalquarted}{\ensuremath{^{-4}}} % postfix -4
-\newcommand*{\emptyunit}{\ensuremath{\Box}}
-\newcommand*\mi@exchangeargs[2]{#2#1}%
-\newcommand*\mi@name{}%
-\long\def\mi@name#1#{\romannumeral0\mi@innername{#1}}%
-\newcommand*\mi@innername[2]{%
- \expandafter\mi@exchangeargs\expandafter{\csname#2\endcsname}{#1}}%
-\begingroup
-\@firstofone{%
- \endgroup
- \newcommand*\mi@forkifnull[3]{%
- \romannumeral\iffalse{\fi\expandafter\@secondoftwo\expandafter%
- {\expandafter{\string#1}\expandafter\@secondoftwo\string}%
- \expandafter\@firstoftwo\expandafter{\iffalse}\fi0 #3}{0 #2}}}%
-\newcommand*\selectbaseunit[3]{#1}
-\newcommand*\selectdrvdunit[3]{#2}
-\newcommand*\selectaltnunit[3]{#3}
-\newcommand*\selectunit{}
-\newcommand*\perpusebaseunit{\let\selectunit=\selectbaseunit}
-\newcommand*\perpusedrvdunit{\let\selectunit=\selectdrvdunit}
-\newcommand*\perpusealtnunit{\let\selectunit=\selectaltnunit}
-\newcommand*\hereusebaseunit[1]{%
- \begingroup\perpusebaseunit#1\endgroup}%
-\newcommand*\hereusedrvdunit[1]{%
- \begingroup\perpusedrvdunit#1\endgroup}%
-\newcommand*\hereusealtnunit[1]{%
- \begingroup\perpusealtnunit#1\endgroup}%
-\newenvironment{usebaseunit}{\perpusebaseunit}{}%
-\newenvironment{usedrvdunit}{\perpusedrvdunit}{}%
-\newenvironment{usealtnunit}{\perpusealtnunit}{}%
-\newcommand*\newphysicsquantity{\definephysicsquantity{\newcommand}}
-\newcommand*\redefinephysicsquantity{\definephysicsquantity{\renewcommand}}
-\newcommandx*\definephysicsquantity[5][4=,5=]{%
- \innerdefinewhatsoeverquantityfork{#3}{#4}{#5}{#1}{#2}{}{[1]}{##1}}%
-\newcommand*\newphysicsconstant{\definephysicsconstant{\newcommand}}
-\newcommand*\redefinephysicsconstant{\definephysicsconstant{\renewcommand}}
-\newcommandx*\definephysicsconstant[7][6=,7=]{%
- \innerdefinewhatsoeverquantityfork{#5}{#6}{#7}{#1}{#2}{#3}{}{#4}}%
-\newcommand*\innerdefinewhatsoeverquantityfork[3]{%
- \expandafter\innerdefinewhatsoeverquantity\romannumeral0%
- \mi@forkifnull{#3}{\mi@forkifnull{#2}{{#1}}{{#2}}{#1}}%
- {\mi@forkifnull{#2}{{#1}}{{#2}}{#3}}{#1}}%
-\newcommand*\innerdefinewhatsoeverquantity[8]{%
- \mi@name#4{#5}#7{\unit{#8}{\selectunit{#3}{#1}{#2}}}%
- \mi@name#4{#5baseunit}#7{\unit{#8}{#3}}%
- \mi@name#4{#5drvdunit}#7{\unit{#8}{#1}}%
- \mi@name#4{#5altnunit}#7{\unit{#8}{#2}}%
- \mi@name#4{#5onlyunit}{\selectunit{#3}{#1}{#2}}%
- \mi@name#4{#5onlybaseunit}{\ensuremath{#3}}%
- \mi@name#4{#5onlydrvdunit}{\ensuremath{#1}}%
- \mi@name#4{#5onlyaltnunit}{\ensuremath{#2}}%
- \mi@name#4{#5value}#7{\ensuremath{#8}}%
- \mi@forkifnull{#7}{%
- \ifx#4\renewcommand\mi@name\let{#5mathsymbol}=\relax\fi
- \mi@name\newcommand*{#5mathsymbol}{\ensuremath{#6}}}{}}%
-\ifthenelse{\boolean{@optboldvectors}}
- {\typeout{mandi: You'll get bold vectors.}}
- {\ifthenelse{\boolean{@optromanvectors}}
- {\typeout{mandi: You'll get Roman vectors.}}
- {\typeout{mandi: You'll get italic vectors.}}}
-\ifthenelse{\boolean{@optsinglemagbars}}
- {\typeout{mandi: You'll get single magnitude bars.}}
- {\typeout{mandi: You'll get double magnitude bars.}}
-\ifthenelse{\boolean{@optbaseunits}}
- {\perpusebaseunit %
- \typeout{mandi: You'll get base units.}}
- {\ifthenelse{\boolean{@optdrvdunits}}
- {\perpusedrvdunit %
- \typeout{mandi: You'll get derived units.}}
- {\perpusealtnunit %
- \typeout{mandi: You'll get alternate units.}}}
-\ifthenelse{\boolean{@optapproxconsts}}
- {\typeout{mandi: You'll get approximate constants.}}
- {\typeout{mandi: You'll get precise constants.}}
-\ifthenelse{\boolean{@optuseradians}}
- {\typeout{mandi: You'll get radians in ang mom, ang impulse, and torque.}}
- {\typeout{mandi: You won't get radians in ang mom, ang impulse, and torque.}}
-\typeout{ }
-\ifthenelse{\boolean{@optapproxconsts}}
- {\newcommand*{\mi@p}[2]{#1}} % approximate value
- {\newcommand*{\mi@p}[2]{#2}} % precise value
-\newcommand*{\m}{\metre}
-\newcommand*{\kg}{\kilogram}
-\newcommand*{\s}{\second}
-\newcommand*{\A}{\ampere}
-\newcommand*{\K}{\kelvin}
-\newcommand*{\mol}{\mole}
-\newcommand*{\cd}{\candela}
-\newcommand*{\dimdisplacement}{\ensuremath{\mathrm{L}}}
-\newcommand*{\dimmass}{\ensuremath{\mathrm{M}}}
-\newcommand*{\dimduration}{\ensuremath{\mathrm{T}}}
-\newcommand*{\dimcurrent}{\ensuremath{\mathrm{I}}}
-\newcommand*{\dimtemperature}{\ensuremath{\mathrm{\Theta}}}
-\newcommand*{\dimamount}{\ensuremath{\mathrm{N}}}
-\newcommand*{\dimluminous}{\ensuremath{\mathrm{J}}}
-\newcommand*{\infeet}[1]{\unit{#1}{\mathrm{ft}}}
-\newcommand*{\infeetpersecond}[1]{\unit{#1}{\mathrm{ft}\per\s}}
-\newcommand*{\infeetpersecondsquared}[1]{\unit{#1}{\mathrm{ft}\per\s\squared}}
-\newcommand*{\indegrees}[1]{\unit{#1}{\mkern-\thickmuskip\degree}}
-\newcommand*{\inFarenheit}[1]{\unit{#1}{\mkern-\thickmuskip\degree\mathrm{F}}}
-\newcommand*{\inCelsius}[1]{\unit{#1}{\mkern-\thickmuskip\degree\mathrm{C}}}
-\newcommand*{\inarcminutes}[1]{\unit{#1}{\mkern-\thickmuskip\arcminute}}
-\newcommand*{\inarcseconds}[1]{\unit{#1}{\mkern-\thickmuskip\arcsecond}}
-\newcommand*{\ineV}[1]{\unit{#1}{\electronvolt}}
-\newcommand*{\ineVocs}[1]{\unit{#1}{\mathrm{eV}\per c^2}}
-\newcommand*{\ineVoc}[1]{\unit{#1}{\mathrm{eV}\per c}}
-\newcommand*{\inMeV}[1]{\unit{#1}{\mathrm{MeV}}}
-\newcommand*{\inMeVocs}[1]{\unit{#1}{\mathrm{MeV}\per c^2}}
-\newcommand*{\inMeVoc}[1]{\unit{#1}{\mathrm{MeV}\per c}}
-\newcommand*{\inGeV}[1]{\unit{#1}{\mathrm{GeV}}}
-\newcommand*{\inGeVocs}[1]{\unit{#1}{\mathrm{GeV}\per c^2}}
-\newcommand*{\inGeVoc}[1]{\unit{#1}{\mathrm{GeV}\per c}}
-\newcommand*{\inamu}[1]{\unit{#1}{\mathrm{u}}}
-\newcommand*{\ingram}[1]{\unit{#1}{\mathrm{g}}}
-\newcommand*{\ingrampercubiccm}[1]{\unit{#1}{\mathrm{g}\per\cubic\mathrm{cm}}}
-\newcommand*{\inAU}[1]{\unit{#1}{\mathrm{AU}}}
-\newcommand*{\inly}[1]{\unit{#1}{\mathrm{ly}}}
-\newcommand*{\incyr}[1]{\unit{#1}{c\usk\mathrm{year}}}
-\newcommand*{\inpc}[1]{\unit{#1}{\mathrm{pc}}}
-\newcommand*{\insolarL}[1]{\unit{#1}{\Lsolar}}
-\newcommand*{\insolarT}[1]{\unit{#1}{\Tsolar}}
-\newcommand*{\insolarR}[1]{\unit{#1}{\Rsolar}}
-\newcommand*{\insolarM}[1]{\unit{#1}{\Msolar}}
-\newcommand*{\insolarF}[1]{\unit{#1}{\Fsolar}}
-\newcommand*{\insolarf}[1]{\unit{#1}{\fsolar}}
-\newcommand*{\insolarMag}[1]{\unit{#1}{\Magsolar}}
-\newcommand*{\insolarmag}[1]{\unit{#1}{\magsolar}}
-\newcommand*{\insolarD}[1]{\unit{#1}{\Dsolar}}
-\newcommand*{\insolard}[1]{\unit{#1}{\dsolar}}
-\newcommand*{\velocityc}[1]{\ensuremath{#1c}}
-\newcommand*{\lorentzfactor}[1]{\ensuremath{#1}}
-\newcommand*{\speed}{\velocity}
-\newphysicsquantity{displacement}%
- {\m}%
- [\m]%
- [\m]
-\newphysicsquantity{mass}%
- {\kg}%
- [\kg]%
- [\kg]
-\newphysicsquantity{duration}%
- {\s}%
- [\s]%
- [\s]
-\newphysicsquantity{current}%
- {\A}%
- [\A]%
- [\A]
-\newphysicsquantity{temperature}%
- {\K}%
- [\K]%
- [\K]
-\newphysicsquantity{amount}%
- {\mol}%
- [\mol]%
- [\mol]
-\newphysicsquantity{luminous}%
- {\cd}%
- [\cd]%
- [\cd]
-\newphysicsquantity{planeangle}%
- {\m\usk\reciprocal\m}%
- [\rad]%
- [\rad]
-\newphysicsquantity{solidangle}%
- {\m\squared\usk\reciprocalsquare\m}%
- [\sr]%
- [\sr]
-\newphysicsquantity{velocity}%
- {\m\usk\reciprocal\s}%
- [\m\usk\reciprocal\s]%
- [\m\per\s]
-\newphysicsquantity{acceleration}%
- {\m\usk\s\reciprocalsquared}%
- [\N\per\kg]%
- [\m\per\s\squared]
-\newphysicsquantity{gravitationalfield}%
- {\m\usk\s\reciprocalsquared}%
- [\N\per\kg]%
- [\N\per\kg]
-\newphysicsquantity{gravitationalpotential}%
- {\square\m\usk\reciprocalsquare\s}%
- [\J\per\kg]%
- [\J\per\kg]
-\newphysicsquantity{momentum}%
- {\m\usk\kg\usk\reciprocal\s}%
- [\N\usk\s]%
- [\kg\usk\m\per\s]
-\newphysicsquantity{impulse}%
- {\m\usk\kg\usk\reciprocal\s}%
- [\N\usk\s]%
- [\N\usk\s]
-\newphysicsquantity{force}%
- {\m\usk\kg\usk\s\reciprocalsquared}%
- [\N]%
- [\N]
-\newphysicsquantity{springstiffness}%
- {\kg\usk\s\reciprocalsquared}%
- [\N\per\m]%
- [\N\per\m]
-\newphysicsquantity{springstretch}%
- {\m}%
- []%
- []
-\newphysicsquantity{area}%
- {\m\squared}%
- []%
- []
-\newphysicsquantity{volume}%
- {\cubic\m}%
- []%
- []
-\newphysicsquantity{linearmassdensity}%
- {\reciprocal\m\usk\kg}%
- [\kg\per\m]%
- [\kg\per\m]
-\newphysicsquantity{areamassdensity}%
- {\m\reciprocalsquared\usk\kg}%
- [\kg\per\m\squared]%
- [\kg\per\m\squared]
-\newphysicsquantity{volumemassdensity}%
- {\m\reciprocalcubed\usk\kg}%
- [\kg\per\m\cubed]%
- [\kg\per\m\cubed]
-\newphysicsquantity{youngsmodulus}%
- {\reciprocal\m\usk\kg\usk\s\reciprocalsquared}%
- [\N\per\m\squared]%
- [\Pa]
-\newphysicsquantity{stress}%
- {\reciprocal\m\usk\kg\usk\s\reciprocalsquared}%
- [\N\per\m\squared]%
- [\Pa]
-\newphysicsquantity{pressure}%
- {\reciprocal\m\usk\kg\usk\s\reciprocalsquared}%
- [\N\per\m\squared]%
- [\Pa]
-\newphysicsquantity{strain}%
+\NewDocumentCommand{\per}{}{/}
+\NewDocumentCommand{\usk}{}{\cdot}
+\NewDocumentCommand{\unit}{ m m }{{#1}{\,#2}}
+\NewDocumentCommand{\ampere}{}{\symup{A}}
+\NewDocumentCommand{\atomicmassunit}{}{\symup{u}}
+\NewDocumentCommand{\candela}{}{\symup{cd}}
+\NewDocumentCommand{\coulomb}{}{\symup{C}}
+\NewDocumentCommand{\degree}{}{^{\circ}}
+\NewDocumentCommand{\electronvolt}{}{\symup{eV}}
+\NewDocumentCommand{\ev}{}{\electronvolt}
+\NewDocumentCommand{\farad}{}{\symup{F}}
+\NewDocumentCommand{\henry}{}{\symup{H}}
+\NewDocumentCommand{\hertz}{}{\symup{Hz}}
+\NewDocumentCommand{\joule}{}{\symup{J}}
+\NewDocumentCommand{\kelvin}{}{\symup{K}}
+\NewDocumentCommand{\kev}{}{\kiloelectronvolt}
+\NewDocumentCommand{\kiloelectronvolt}{}{\symup{keV}}
+\NewDocumentCommand{\kilogram}{}{\symup{kg}}
+\NewDocumentCommand{\lightspeed}{}{\symup{c}}
+\NewDocumentCommand{\megaelectronvolt}{}{\symup{MeV}}
+\NewDocumentCommand{\meter}{}{\symup{m}}
+\NewDocumentCommand{\metre}{}{\meter}
+\NewDocumentCommand{\mev}{}{\megaelectronvolt}
+\NewDocumentCommand{\mole}{}{\symup{mol}}
+\NewDocumentCommand{\newton}{}{\symup{N}}
+\NewDocumentCommand{\ohm}{}{\symup\Omega}
+\NewDocumentCommand{\pascal}{}{\symup{Pa}}
+\NewDocumentCommand{\radian}{}{\symup{rad}}
+\NewDocumentCommand{\second}{}{\symup{s}}
+\NewDocumentCommand{\siemens}{}{\symup{S}}
+\NewDocumentCommand{\steradian}{}{\symup{sr}}
+\NewDocumentCommand{\tesla}{}{\symup{T}}
+\NewDocumentCommand{\volt}{}{\symup{V}}
+\NewDocumentCommand{\watt}{}{\symup{W}}
+\NewDocumentCommand{\weber}{}{\symup{Wb}}
+\NewDocumentCommand{\tothetwo}{}{^2} % postfix 2
+\NewDocumentCommand{\tothethree}{}{^3} % postfix 3
+\NewDocumentCommand{\tothefour}{}{^4} % postfix 4
+\NewDocumentCommand{\inverse}{}{^{-1}} % postfix -1
+\NewDocumentCommand{\totheinversetwo}{}{^{-2}} % postfix -2
+\NewDocumentCommand{\totheinversethree}{}{^{-3}} % postfix -3
+\NewDocumentCommand{\totheinversefour}{}{^{-4}} % postfix -4
+\NewDocumentCommand{\emptyunit}{}{\mdlgwhtsquare}
+\NewDocumentCommand{\tento}{ m }{10^{#1}}
+\NewDocumentCommand{\timestento}{ m }{\times\tento{#1}}
+\NewDocumentCommand{\xtento}{ m }{\times\tento{#1}}
+\ExplSyntaxOn
+\cs_new:Npn \mandi_newscalarquantity #1#2#3#4
+{%
+ \cs_new:cpn {#1} ##1 {\unit{##1}{\mandi@selectunits{#2}{#3}{#4}}}%
+ \cs_new:cpn {#1value} ##1 {##1}%
+ \cs_new:cpn {#1baseunits} ##1 {\unit{##1}{\mandi@selectbaseunits{#2}{#3}{#4}}}%
+ \cs_new:cpn {#1derivedunits} ##1 {\unit{##1}{\mandi@selectderivedunits{#2}{#3}{#4}}}%
+ \cs_new:cpn {#1alternateunits} ##1 {\unit{##1}{\mandi@selectalternateunits{#2}{#3}{#4}}}%
+ \cs_new:cpn {#1onlybaseunits} {\mandi@selectbaseunits{#2}{#3}{#4}}%
+ \cs_new:cpn {#1onlyderivedunits} {\mandi@selectderivedunits{#2}{#3}{#4}}%
+ \cs_new:cpn {#1onlyalternateunits} {\mandi@selectalternateunits{#2}{#3}{#4}}%
+}%
+\NewDocumentCommand{\newscalarquantity}{ m m O{#2} O{#2} }%
+{%
+ \mandi_newscalarquantity { #1 }{ #2 }{ #3 }{ #4 }%
+}%
+\ExplSyntaxOff
+\ExplSyntaxOn
+\cs_new:Npn \mandi_renewscalarquantity #1#2#3#4
+{%
+ \cs_set:cpn {#1} ##1 {\unit{##1}{\mandi@selectunits{#2}{#3}{#4}}}%
+ \cs_set:cpn {#1value} ##1 {##1}%
+ \cs_set:cpn {#1baseunits} ##1 {\unit{##1}{\mandi@selectbaseunits{#2}{#3}{#4}}}%
+ \cs_set:cpn {#1derivedunits} ##1 {\unit{##1}{\mandi@selectderivedunits{#2}{#3}{#4}}}%
+ \cs_set:cpn {#1alternateunits} ##1 {\unit{##1}{\mandi@selectalternateunits{#2}{#3}{#4}}}%
+ \cs_set:cpn {#1onlybaseunits} {\mandi@selectbaseunits{#2}{#3}{#4}}%
+ \cs_set:cpn {#1onlyderivedunits} {\mandi@selectderivedunits{#2}{#3}{#4}}%
+ \cs_set:cpn {#1onlyalternateunits} {\mandi@selectalternateunits{#2}{#3}{#4}}%
+}%
+\NewDocumentCommand{\renewscalarquantity}{ m m O{#2} O{#2} }%
+{%
+ \mandi_renewscalarquantity { #1 }{ #2 }{ #3 }{ #4 }%
+}%
+\ExplSyntaxOff
+\ExplSyntaxOn
+\cs_new:Npn \mandi_newvectorquantity #1#2#3#4
+{%
+ \mandi_newscalarquantity { #1 }{ #2 }{ #3 }{ #4 }%
+ \cs_new:cpn {vector#1} ##1 {\unit{\mivector{##1}}{\mandi@selectunits{#2}{#3}{#4}}}%
+ \cs_new:cpn {#1vector} ##1 {\unit{\mivector{##1}}{\mandi@selectunits{#2}{#3}{#4}}}%
+ \cs_new:cpn {vector#1value} ##1 {\mivector{##1}}%
+ \cs_new:cpn {#1vectorvalue} ##1 {\mivector{##1}}%
+ \cs_new:cpn {vector#1baseunits} ##1 {\unit{\mivector{##1}}{\mandi@selectbaseunits{#2}{#3}{#4}}}%
+ \cs_new:cpn {#1vectorbaseunits} ##1 {\unit{\mivector{##1}}{\mandi@selectbaseunits{#2}{#3}{#4}}}%
+ \cs_new:cpn {vector#1derivedunits} ##1 {\unit{\mivector{##1}}{\mandi@selectderivedunits{#2}{#3}{#4}}}%
+ \cs_new:cpn {#1vectorderivedunits} ##1 {\unit{\mivector{##1}}{\mandi@selectderivedunits{#2}{#3}{#4}}}%
+ \cs_new:cpn {vector#1alternateunits} ##1 {\unit{\mivector{##1}}{\mandi@selectalternateunits{#2}{#3}{#4}}}%
+ \cs_new:cpn {#1vectoralternateunits} ##1 {\unit{\mivector{##1}}{\mandi@selectalternateunits{#2}{#3}{#4}}}%
+ \cs_new:cpn {vector#1onlybaseunits} {\mandi@selectbaseunits{#2}{#3}{#4}}%
+ \cs_new:cpn {#1vectoronlybaseunits} {\mandi@selectbaseunits{#2}{#3}{#4}}%
+ \cs_new:cpn {vector#1onlyderivedunits} {\mandi@selectderivedunits{#2}{#3}{#4}}%
+ \cs_new:cpn {#1vectoronlyderivedunits} {\mandi@selectderivedunits{#2}{#3}{#4}}%
+ \cs_new:cpn {vector#1onlyalternateunits} {\mandi@selectalternateunits{#2}{#3}{#4}}%
+ \cs_new:cpn {#1vectoronlyalternateunits} {\mandi@selectalternateunits{#2}{#3}{#4}}%
+}%
+\NewDocumentCommand{\newvectorquantity}{ m m O{#2} O{#2} }%
+{%
+ \mandi_newvectorquantity { #1 }{ #2 }{ #3 }{ #4 }%
+}%
+\ExplSyntaxOff
+\ExplSyntaxOn
+\cs_new:Npn \mandi_renewvectorquantity #1#2#3#4
+{%
+ \mandi_renewscalarquantity { #1 }{ #2 }{ #3 }{ #4 }%
+ \cs_set:cpn {vector#1} ##1 {\unit{\mivector{##1}}{\mandi@selectunits{#2}{#3}{#4}}}%
+ \cs_set:cpn {#1vector} ##1 {\unit{\mivector{##1}}{\mandi@selectunits{#2}{#3}{#4}}}%
+ \cs_set:cpn {vector#1value} ##1 {\mivector{##1}}%
+ \cs_set:cpn {#1vectorvalue} ##1 {\mivector{##1}}%
+ \cs_set:cpn {vector#1baseunits} ##1 {\unit{\mivector{##1}}{\mandi@selectbaseunits{#2}{#3}{#4}}}%
+ \cs_set:cpn {#1vectorbaseunits} ##1 {\unit{\mivector{##1}}{\mandi@selectbaseunits{#2}{#3}{#4}}}%
+ \cs_set:cpn {vector#1derivedunits} ##1 {\unit{\mivector{##1}}{\mandi@selectderivedunits{#2}{#3}{#4}}}%
+ \cs_set:cpn {#1vectorderivedunits} ##1 {\unit{\mivector{##1}}{\mandi@selectderivedunits{#2}{#3}{#4}}}%
+ \cs_set:cpn {vector#1alternateunits} ##1 {\unit{\mivector{##1}}{\mandi@selectalternateunits{#2}{#3}{#4}}}%
+ \cs_set:cpn {#1vectoralternateunits} ##1 {\unit{\mivector{##1}}{\mandi@selectalternateunits{#2}{#3}{#4}}}%
+ \cs_set:cpn {vector#1onlybaseunits} {\mandi@selectbaseunits{#2}{#3}{#4}}%
+ \cs_set:cpn {#1vectoronlybaseunits} {\mandi@selectbaseunits{#2}{#3}{#4}}%
+ \cs_set:cpn {vector#1onlyderivedunits} {\mandi@selectderivedunits{#2}{#3}{#4}}%
+ \cs_set:cpn {#1vectoronlyderivedunits} {\mandi@selectderivedunits{#2}{#3}{#4}}%
+ \cs_set:cpn {vector#1onlyalternateunits} {\mandi@selectalternateunits{#2}{#3}{#4}}%
+ \cs_set:cpn {#1vectoronlyalternateunits} {\mandi@selectalternateunits{#2}{#3}{#4}}%
+}%
+\NewDocumentCommand{\renewvectorquantity}{ m m O{#2} O{#2} }%
+{%
+ \mandi_renewvectorquantity { #1 }{ #2 }{ #3 }{ #4 }%
+}%
+\ExplSyntaxOff
+\ExplSyntaxOn
+\cs_new:Npn \mandi_newphysicalconstant #1#2#3#4#5#6#7
+{%
+ \cs_new:cpn {#1} {\unit{\mandi@selectprecision{#3}{#4}}{\mandi@selectunits{#5}{#6}{#7}}}%
+ \cs_new:cpn {#1mathsymbol} {#2}%
+ \cs_new:cpn {#1approximatevalue} {#3}%
+ \cs_new:cpn {#1precisevalue} {#4}%
+ \cs_new:cpn {#1baseunits}
+ {\unit{\mandi@selectprecision{#3}{#4}}{\mandi@selectbaseunits{#5}{#6}{#7}}}%
+ \cs_new:cpn {#1derivedunits}
+ {\unit{\mandi@selectprecision{#3}{#4}}{\mandi@selectderivedunits{#5}{#6}{#7}}}%
+ \cs_new:cpn {#1alternateunits}
+ {\unit{\mandi@selectprecision{#3}{#4}}{\mandi@selectalternateunits{#5}{#6}{#7}}}%
+ \cs_new:cpn {#1onlybaseunits} {\mandi@selectbaseunits{#5}{#6}{#7}}%
+ \cs_new:cpn {#1onlyderivedunits} {\mandi@selectderivedunits{#5}{#6}{#7}}%
+ \cs_new:cpn {#1onlyalternateunits} {\mandi@selectalternateunits{#5}{#6}{#7}}%
+}%
+\NewDocumentCommand{\newphysicalconstant}{ m m m m m O{#5} O{#5} }%
+{%
+ \mandi_newphysicalconstant { #1 }{ #2 }{ #3 }{ #4 }{ #5 }{ #6 }{ #7 }%
+}%
+\ExplSyntaxOff
+\ExplSyntaxOn
+\cs_new:Npn \mandi_renewphysicalconstant #1#2#3#4#5#6#7
+{%
+ \cs_set:cpn {#1} {\unit{\mandi@selectprecision{#3}{#4}}{\mandi@selectunits{#5}{#6}{#7}}}%
+ \cs_set:cpn {#1mathsymbol} {#2}%
+ \cs_set:cpn {#1approximatevalue} {#3}%
+ \cs_set:cpn {#1precisevalue} {#4}%
+ \cs_set:cpn {#1baseunits}
+ {\unit{\mandi@selectprecision{#3}{#4}}{\mandi@selectbaseunits{#5}{#6}{#7}}}%
+ \cs_set:cpn {#1derivedunits}
+ {\unit{\mandi@selectprecision{#3}{#4}}{\mandi@selectderivedunits{#5}{#6}{#7}}}%
+ \cs_set:cpn {#1alternateunits}
+ {\unit{\mandi@selectprecision{#3}{#4}}{\mandi@selectalternateunits{#5}{#6}{#7}}}%
+ \cs_set:cpn {#1onlybaseunits} {\mandi@selectbaseunits{#5}{#6}{#7}}%
+ \cs_set:cpn {#1onlyderivedunits} {\mandi@selectderivedunits{#5}{#6}{#7}}%
+ \cs_set:cpn {#1onlyalternateunits} {\mandi@selectalternateunits{#5}{#6}{#7}}%
+}%
+\NewDocumentCommand{\renewphysicalconstant}{ m m m m m O{#5} O{#5} }%
+{%
+ \mandi_renewphysicalconstant { #1 }{ #2 }{ #3 }{ #4 }{ #5 }{ #6 }{ #7 }%
+}%
+\ExplSyntaxOff
+\newvectorquantity{acceleration}%
+ {\meter\usk\second\totheinversetwo}%
+ [\newton\per\kilogram]%
+ [\meter\per\second\tothetwo]%
+\newscalarquantity{amount}%
+ {\mole}%
+\newvectorquantity{angularacceleration}%
+ {\radian\usk\second\totheinversetwo}%
+ [\radian\per\second\tothetwo]%
+ [\radian\per\second\tothetwo]%
+\newscalarquantity{angularfrequency}%
+ {\radian\usk\second\inverse}%
+ [\radian\per\second]%
+ [\radian\per\second]%
+ \newvectorquantity{angularimpulse}%
+ {\kilogram\usk\meter\tothetwo\usk\second\inverse}%
+ [\kilogram\usk\meter\tothetwo\per\second]% % also \joule\usk\second
+ [\kilogram\usk\meter\tothetwo\per\second]% % also \newton\usk\meter\usk\second
+ \newvectorquantity{angularmomentum}%
+ {\kilogram\usk\meter\tothetwo\usk\second\inverse}%
+ [\kilogram\usk\meter\tothetwo\per\second]% % also \joule\usk\second
+ [\kilogram\usk\meter\tothetwo\per\second]% % also \newton\usk\meter\usk\second
+\newvectorquantity{angularvelocity}%
+ {\radian\usk\second\inverse}%
+ [\radian\per\second]%
+ [\radian\per\second]%
+\newscalarquantity{area}%
+ {\meter\tothetwo}%
+\newscalarquantity{areachargedensity}%
+ {\ampere\usk\second\usk\meter\totheinversetwo}%
+ [\coulomb\per\meter\tothetwo]%
+ [\coulomb\per\meter\tothetwo]%
+\newscalarquantity{areamassdensity}%
+ {\kilogram\usk\meter\totheinversetwo}%
+ [\kilogram\per\meter\tothetwo]%
+ [\kilogram\per\meter\tothetwo]%
+\newscalarquantity{capacitance}%
+ {\ampere\tothetwo\usk\second\tothefour\usk\kilogram\inverse\usk\meter\totheinversetwo}%
+ [\farad]%
+ [\coulomb\per\volt]% % also \coulomb\tothetwo\per\newton\usk\meter, \second\per\ohm
+\newscalarquantity{charge}%
+ {\ampere\usk\second}%
+ [\coulomb]%
+ [\coulomb]% % also \farad\usk\volt
+\newvectorquantity{cmagneticfield}%
+ {\kilogram\usk\meter\usk\ampere\inverse\usk\second\totheinversethree}%
+ [\newton\per\coulomb]% % also \volt\per\meter
+ [\newton\per\coulomb]%
+\newscalarquantity{conductance}%
+ {\ampere\tothetwo\usk\second\tothethree\usk\kilogram\inverse\usk\meter\totheinversetwo}%
+ [\siemens]%
+ [\ampere\per\volt]%
+\newscalarquantity{conductivity}%
+ {\ampere\tothetwo\usk\second\tothethree\usk\kilogram\inverse\usk\meter\totheinversethree}%
+ [\siemens\per\meter]%
+ [\ampere\per\volt\usk\meter]%
+\newscalarquantity{conventionalcurrent}%
+ {\ampere}%
+ [\coulomb\per\second]%
+ [\ampere]%
+\newscalarquantity{current}%
+ {\ampere}%
+\newscalarquantity{currentdensity}%
+ {\ampere\usk\meter\totheinversetwo}%
+ [\coulomb\per\second\usk\meter\tothetwo]%
+ [\ampere\per\meter\tothetwo]%
+\newscalarquantity{dielectricconstant}%
{}%
- []%
- []
-\newphysicsquantity{work}%
- {\m\squared\usk\kg\usk\s\reciprocalsquared}%
- [\J]%
- [\N\usk\m]
-\newphysicsquantity{energy}%
- {\m\squared\usk\kg\usk\s\reciprocalsquared}%
- [\J]%
- [\N\usk\m]
-\newphysicsquantity{power}%
- {\m\squared\usk\kg\usk\s\reciprocalcubed}%
- [\W]%
- [\J\per\s]
-\newphysicsquantity{specificheatcapacity}%
- {\J\per\K\usk\kg}%
- [\J\per\K\usk\kg]%
- [\J\per\K\usk\kg]
-\newphysicsquantity{angularvelocity}%
- {\rad\usk\reciprocal\s}%
- [\rad\per\s]%
- [\rad\per\s]
-\newphysicsquantity{angularacceleration}%
- {\rad\usk\s\reciprocalsquared}%
- [\rad\per\s\squared]%
- [\rad\per\s\squared]
-\newphysicsquantity{momentofinertia}%
- {\m\squared\usk\kg}%
- [\m\squared\usk\kg]%
- [\J\usk\s\squared]
-\ifthenelse{\boolean{@optuseradians}}
- {%
- \newphysicsquantity{angularmomentum}%
- {\m\squared\usk\kg\usk\reciprocal\s\usk\reciprocal\rad}%
- [\kg\usk\m\squared\per(\s\usk\rad)]%
- [\N\usk\m\usk\s\per\rad]
- \newphysicsquantity{angularimpulse}%
- {\m\squared\usk\kg\usk\reciprocal\s\usk\reciprocal\rad}%
- [\J\usk\s\per\rad]%
- [\N\usk\m\usk\s\per\rad]
- \newphysicsquantity{torque}%
- {\m\squared\usk\kg\usk\s\reciprocalsquared\usk\reciprocal\rad}%
- [\N\usk\m\per\rad]%
- [\J\per\rad]
- }%
- {%
- \newphysicsquantity{angularmomentum}%
- {\m\squared\usk\kg\usk\reciprocal\s}%
- [\kg\usk\m\squared\per\s]%
- [\N\usk\m\usk\s]
- \newphysicsquantity{angularimpulse}%
- {\m\squared\usk\kg\usk\reciprocal\s}%
- [\J\usk\s]%
- [\N\usk\m\usk\s]
- \newphysicsquantity{torque}%
- {\m\squared\usk\kg\usk\s\reciprocalsquared}%
- [\N\usk\m]%
- [\J]
- }%
-\newphysicsquantity{entropy}%
- {\m\squared\usk\kg\usk\s\reciprocalsquared\usk\reciprocal\K}%
- [\J\per\K]%
- [\J\per\K]
-\newphysicsquantity{wavelength}%
- {\m}%
- [\m]%
- [\m]
-\newphysicsquantity{wavenumber}%
- {\reciprocal\m}%
- [\per\m]%
- [\per\m]
-\newphysicsquantity{frequency}%
- {\reciprocal\s}%
- [\hertz]%
- [\hertz]
-\newphysicsquantity{angularfrequency}%
- {\rad\usk\reciprocal\s}%
- [\rad\per\s]%
- [\rad\per\s]
-\newphysicsquantity{charge}%
- {\A\usk\s}%
- [\C]%
- [\C]
-\newphysicsquantity{permittivity}%
- {\m\reciprocalcubed\usk\reciprocal\kg\usk\s\reciprocalquarted\usk\A\squared}%
- [\C\squared\per\N\usk\m\squared]%
- [\F\per\m]
-\newphysicsquantity{permeability}%
- {\m\usk\kg\usk\s\reciprocalsquared\usk\A\reciprocalsquared}%
- [\T\usk\m\per\A]%
- [\henry\per\m]
-\newphysicsquantity{electricfield}%
- {\m\usk\kg\usk\s\reciprocalcubed\usk\reciprocal\A}%
- [\N\per\C]%
- [\V\per\m]
-\newphysicsquantity{electricdipolemoment}%
- {\m\usk\s\usk\A}%
- [\C\usk\m]%
- [\C\usk\m]
-\newphysicsquantity{electricflux}%
- {\m\cubed\usk\kg\usk\s\reciprocalcubed\usk\reciprocal\A}%
- [\N\usk\m\squared\per\C]%
- [\V\usk\m]
-\newphysicsquantity{magneticfield}%
- {\kg\usk\s\reciprocalsquared\usk\reciprocal\A}%
- [\T]%
- [\N\per\C\usk(\m\per\s)] % also \Wb\per\m\squared
-\newphysicsquantity{magneticflux}%
- {\m\squared\usk\kg\usk\s\reciprocalsquared\usk\reciprocal\A}%
- [\T\usk\m\squared]%
- [\volt\usk\s] % also \Wb and \J\per\A
-\newphysicsquantity{cmagneticfield}%
- {\m\usk\kg\usk\s\reciprocalcubed\usk\reciprocal\A}%
- [\N\per\C]%
- [\V\per\m]
-\newphysicsquantity{linearchargedensity}%
- {\reciprocal\m\usk\s\usk\A}%
- [\C\per\m]%
- [\C\per\m]
-\newphysicsquantity{areachargedensity}%
- {\reciprocalsquare\m\usk\s\usk\A}%
- [\C\per\square\m]%
- [\C\per\square\m]
-\newphysicsquantity{volumechargedensity}%
- {\reciprocalcubic\m\usk\s\usk\A}%
- [\C\per\cubic\m]%
- [\C\per\cubic\m]
-\newphysicsquantity{mobility}%
- {\m\squared\usk\kg\usk\s\reciprocalquarted\usk\reciprocal\A}%
- [\m\squared\per\volt\usk\s]%
- [(\m\per\s)\per(\N\per\C)]
-\newphysicsquantity{numberdensity}%
- {\reciprocalcubic\m}%
- [\per\cubic\m]%
- [\per\cubic\m]
-\newphysicsquantity{polarizability}%
- {\reciprocal\kg\usk\s\quarted\usk\square\A}%
- [\C\usk\square\m\per\V]%
- [\C\usk\m\per(\N\per\C)]
-\newphysicsquantity{electricpotential}%
- {\square\m\usk\kg\usk\reciprocalcubic\s\usk\reciprocal\A}%
- [\V]%
- [\J\per\C]
-\newphysicsquantity{emf}%
- {\square\m\usk\kg\usk\reciprocalcubic\s\usk\reciprocal\A}%
- [\V]%
- [\J\per\C]
-\newphysicsquantity{dielectricconstant}%
+\newvectorquantity{direction}%
{}%
- []%
- []
-\newphysicsquantity{indexofrefraction}%
+\newvectorquantity{displacement}%
+ {\meter}
+\newscalarquantity{duration}%
+ {\second}%
+\newvectorquantity{electricdipolemoment}%
+ {\ampere\usk\second\usk\meter}%
+ [\coulomb\usk\meter]%
+ [\coulomb\usk\meter]%
+\newvectorquantity{electricfield}%
+ {\kilogram\usk\meter\usk\ampere\inverse\usk\second\totheinversethree}%
+ [\volt\per\meter]%
+ [\newton\per\coulomb]%
+\newscalarquantity{electricflux}%
+ {\kilogram\usk\meter\tothethree\usk\ampere\inverse\usk\second\totheinversethree}%
+ [\volt\usk\meter]%
+ [\newton\usk\meter\tothetwo\per\coulomb]%
+\newscalarquantity{electricpotential}%
+ {\kilogram\usk\meter\tothetwo\usk\ampere\inverse\usk\second\totheinversethree}%
+ [\volt]% % also \joule\per\coulomb
+ [\volt]%
+\newscalarquantity{electricpotentialdifference}%
+ {\kilogram\usk\meter\tothetwo\usk\ampere\inverse\usk\second\totheinversethree}%
+ [\volt]% % also \joule\per\coulomb
+ [\volt]%
+\newscalarquantity{electroncurrent}%
+ {\second\inverse}%
+ [\ensuremath{\symup{e}}\per\second]%
+ [\ensuremath{\symup{e}}\per\second]%
+\newscalarquantity{emf}%
+ {\kilogram\usk\meter\tothetwo\usk\ampere\inverse\usk\second\totheinversethree}%
+ [\volt]% % also \joule\per\coulomb
+ [\volt]%
+\newscalarquantity{energy}%
+ {\kilogram\usk\meter\tothetwo\usk\second\totheinversetwo}%
+ [\joule]% % also \newton\usk\meter
+ [\joule]%
+\newscalarquantity{energyinev}%
+ {\electronvolt}%
+\newscalarquantity{energyinkev}%
+ {\kiloelectronvolt}%
+\newscalarquantity{energyinmev}%
+ {\megaelectronvolt}%
+\newscalarquantity{energydensity}%
+ {\kilogram\usk\meter\inverse\usk\second\totheinversetwo}%
+ [\joule\per\meter\tothethree]%
+ [\joule\per\meter\tothethree]%
+\newscalarquantity{energyflux}%
+ {\kilogram\usk\second\totheinversethree}%
+ [\watt\per\meter\tothetwo]%
+ [\watt\per\meter\tothetwo]%
+\newscalarquantity{entropy}%
+ {\kilogram\usk\meter\tothetwo\usk\second\totheinversetwo\usk\kelvin\inverse}%
+ [\joule\per\kelvin]%
+ [\joule\per\kelvin]%
+\newvectorquantity{force}%
+ {\kilogram\usk\meter\usk\second\totheinversetwo}%
+ [\newton]%
+ [\newton]% % also \kilogram\usk\meter\per\second\tothetwo
+\newscalarquantity{frequency}%
+ {\second\inverse}%
+ [\hertz]%
+ [\hertz]%
+\newvectorquantity{gravitationalfield}%
+ {\meter\usk\second\totheinversetwo}%
+ [\newton\per\kilogram]%
+ [\newton\per\kilogram]%
+\newscalarquantity{gravitationalpotential}%
+ {\meter\tothetwo\usk\second\totheinversetwo}%
+ [\joule\per\kilogram]%
+ [\joule\per\kilogram]%
+\newscalarquantity{gravitationalpotentialdifference}%
+ {\meter\tothetwo\usk\second\totheinversetwo}%
+ [\joule\per\kilogram]%
+ [\joule\per\kilogram]%
+\newvectorquantity{impulse}%
+ {\kilogram\usk\meter\usk\second\inverse}%
+ [\newton\usk\second]%
+ [\newton\usk\second]%
+\newscalarquantity{indexofrefraction}%
{}%
- []%
- []
-\newphysicsquantity{relativepermittivity}%
+\newscalarquantity{inductance}%
+ {\kilogram\usk\meter\tothetwo\usk\ampere\totheinversetwo\usk\second\totheinversetwo}%
+ [\henry]%
+ [\volt\usk\second\per\ampere]% % also \square\meter\usk\kilogram\per\coulomb\tothetwo, \Wb\per\ampere
+\newscalarquantity{linearchargedensity}%
+ {\ampere\usk\second\usk\meter\inverse}%
+ [\coulomb\per\meter]%
+ [\coulomb\per\meter]%
+\newscalarquantity{linearmassdensity}%
+ {\kilogram\usk\meter\inverse}%
+ [\kilogram\per\meter]%
+ [\kilogram\per\meter]%
+\newscalarquantity{luminousintensity}%
+ {\candela}%
+\newscalarquantity{magneticcharge}%
+ {\ampere\usk\meter}% % There is another convention. Be careful!
+\newvectorquantity{magneticdipolemoment}%
+ {\ampere\usk\meter\tothetwo}%
+ [\ampere\usk\meter\tothetwo]%
+ [\joule\per\tesla]%
+\newvectorquantity{magneticfield}%
+ {\kilogram\usk\ampere\inverse\usk\second\totheinversetwo}%
+ [\newton\per\ampere\usk\meter]% % also \Wb\per\meter\tothetwo
+ [\tesla]%
+\newscalarquantity{magneticflux}%
+ {\kilogram\usk\meter\tothetwo\usk\ampere\inverse\usk\second\totheinversetwo}%
+ [\tesla\usk\meter\tothetwo]%
+ [\volt\usk\second]% % also \Wb and \joule\per\ampere
+\newscalarquantity{mass}%
+ {\kilogram}%
+\newscalarquantity{mobility}%
+ {\kilogram\usk\meter\tothetwo\usk\ampere\inverse\usk\second\totheinversefour}%
+ [\meter\tothetwo\per\volt\usk\second]%
+ [\coulomb\usk\meter\per\newton\usk\second]%
+\newscalarquantity{momentofinertia}%
+ {\kilogram\usk\meter\tothetwo}%
+ [\joule\usk\second\tothetwo]%
+ [\kilogram\usk\meter\tothetwo]%
+\newvectorquantity{momentum}%
+ {\kilogram\usk\meter\usk\second\inverse}%
+ [\kilogram\usk\meter\per\second]%
+ [\kilogram\usk\meter\per\second]%
+\newvectorquantity{momentumflux}%
+ {\kilogram\usk\meter\inverse\usk\second\totheinversetwo}%
+ [\newton\per\meter\tothetwo]%
+ [\newton\per\meter\tothetwo]%
+\newscalarquantity{numberdensity}%
+ {\meter\totheinversethree}%
+ [\per\meter\tothethree]%
+ [\per\meter\tothethree]%
+\newscalarquantity{permeability}%
+ {\kilogram\usk\meter\usk\ampere\totheinversetwo\usk\second\totheinversetwo}%
+ [\henry\per\meter]%
+ [\tesla\usk\meter\per\ampere]%
+\newscalarquantity{permittivity}%
+ {\ampere\tothetwo\usk\second\tothefour\usk\kilogram\inverse\usk\meter\totheinversethree}%
+ [\farad\per\meter]%
+ [\coulomb\tothetwo\per\newton\usk\meter\tothetwo]%
+\newscalarquantity{planeangle}%
+ {\meter\usk\meter\inverse}%
+ [\radian]%
+ [\radian]%
+\newscalarquantity{polarizability}%
+ {\ampere\tothetwo\usk\second\tothefour\usk\kilogram\inverse}%
+ [\coulomb\usk\meter\tothetwo\per\volt]%
+ [\coulomb\tothetwo\usk\meter\per\newton]%
+\newscalarquantity{power}%
+ {\kilogram\usk\meter\tothetwo\usk\second\totheinversethree}%
+ [\watt]%
+ [\joule\per\second]%
+\newvectorquantity{poynting}%
+ {\kilogram\usk\second\totheinversethree}%
+ [\watt\per\meter\tothetwo]%
+ [\watt\per\meter\tothetwo]%
+\newscalarquantity{pressure}%
+ {\kilogram\usk\meter\inverse\usk\second\totheinversetwo}%
+ [\pascal]%
+ [\newton\per\meter\tothetwo]%
+\newscalarquantity{relativepermeability}
{}%
- []%
- []
-\newphysicsquantity{relativepermeability}
+\newscalarquantity{relativepermittivity}%
{}%
- []%
- []
-\newphysicsquantity{energydensity}%
- {\m\reciprocaled\usk\kg\usk\reciprocalsquare\s}%
- [\J\per\cubic\m]%
- [\J\per\cubic\m]
-\newphysicsquantity{energyflux}%
- {\kg\usk\s\reciprocalcubed}%
- [\W\per\m\squared]%
- [\W\per\m\squared]
-\newphysicsquantity{momentumflux}%
- {\reciprocal\m\usk\kg\usk\s\reciprocalsquared}%
- [\N\per\m\squared]%
- [\N\per\m\squared]
-\newphysicsquantity{electroncurrent}%
- {\reciprocal\s}%
- [\ensuremath{\mathrm{e}}\per\s]%
- [\ensuremath{\mathrm{e}}\per\s]
-\newphysicsquantity{conventionalcurrent}%
- {\A}%
- [\A]%
- [\C\per\s]
-\newphysicsquantity{magneticdipolemoment}%
- {\square\m\usk\A}%
- [\A\usk\square\m]%
- [\J\per\T]
-\newphysicsquantity{currentdensity}%
- {\reciprocalsquare\m\usk\A}%
- [\A\per\square\m]%
- [\C\usk\s\per\square\m]
-\newphysicsquantity{capacitance}%
- {\reciprocalsquare\m\usk\reciprocal\kg\usk\quartic\s\usk\square\A}%
- [\F]%
- [\C\per\V] % also \C\squared\per\N\usk\m, \s\per\ohm
-\newphysicsquantity{inductance}%
- {\square\m\usk\kg\usk\reciprocalsquare\s\usk\reciprocalsquare\A}%
- [\henry]%
- [\volt\usk\s\per\A] % also \square\m\usk\kg\per\C\squared, \Wb\per\A
-\newphysicsquantity{conductivity}%
- {\reciprocalcubic\m\usk\reciprocal\kg\usk\cubic\s\usk\square\A}%
- [(\A\per\square\m)\per(\V\per\m)]%
- [\siemens\per\m]
-\newphysicsquantity{resistivity}%
- {\cubic\m\usk\kg\usk\reciprocalcubic\s\usk\reciprocalsquare\A}%
- [\ohm\usk\m]%
- [(\V\per\m)\per(\A\per\square\m)]
-\newphysicsquantity{resistance}%
- {\square\m\usk\kg\usk\reciprocalcubic\s\usk\reciprocalsquare\A}%
+\newscalarquantity{resistance}%
+ {\kilogram\usk\meter\tothetwo\usk\ampere\totheinversetwo\usk\second\totheinversethree}%
+ [\ohm]% % also \volt\per\ampere
[\ohm]%
- [\V\per\A]
-\newphysicsquantity{conductance}%
- {\reciprocalsquare\m\usk\reciprocal\kg\usk\cubic\s\usk\square\A}%
- [\A\per\V]%
- [\siemens]
-\newphysicsquantity{magneticcharge}%
- {\m\usk\A}%
- [\m\usk\A]%
- [\m\usk\A]
-\newcommand*{\vectordisplacement}[1]{\ensuremath{\displacement{\mivector{#1}}}}
-\newcommand*{\vectorvelocity}[1]{\ensuremath{\velocity{\mivector{#1}}}}
-\newcommand*{\vectorvelocityc}[1]{\ensuremath{\velocityc{\mivector{#1}}}}
-\newcommand*{\vectoracceleration}[1]{\ensuremath{\acceleration{\mivector{#1}}}}
-\newcommand*{\vectormomentum}[1]{\ensuremath{\momentum{\mivector{#1}}}}
-\newcommand*{\vectorforce}[1]{\ensuremath{\force{\mivector{#1}}}}
-\newcommand*{\vectorgravitationalfield}[1]
- {\ensuremath{\gravitationalfield{\mivector{#1}}}}
-\newcommand*{\vectorimpulse}[1]{\ensuremath{\impulse{\mivector{#1}}}}
-\newcommand*{\vectorangularvelocity}[1]{\ensuremath{\angularvelocity{\mivector{#1}}}}
-\newcommand*{\vectorangularacceleration}[1]
- {\ensuremath{\angularacceleration{\mivector{#1}}}}
-\newcommand*{\vectorangularmomentum}[1]{\ensuremath{\angularmomentum{\mivector{#1}}}}
-\newcommand*{\vectorangularimpulse}[1]{\ensuremath{\angularimpulse{\mivector{#1}}}}
-\newcommand*{\vectortorque}[1]{\ensuremath{\torque{\mivector{#1}}}}
-\newcommand*{\vectorwavenumber}[1]{\ensuremath{\wavenumber{\mivector{#1}}}}
-\newcommand*{\vectorelectricfield}[1]{\ensuremath{\electricfield{\mivector{#1}}}}
-\newcommand*{\vectorelectricdipolemoment}[1]
- {\ensuremath{\electricdipolemoment{\mivector{#1}}}}
-\newcommand*{\vectormagneticfield}[1]{\ensuremath{\magneticfield{\mivector{#1}}}}
-\newcommand*{\vectorcmagneticfield}[1]{\ensuremath{\cmagneticfield{\mivector{#1}}}}
-\newcommand*{\vectormagneticdipolemoment}[1]
- {\ensuremath{\magneticdipolemoment{\mivector{#1}}}}
-\newcommand*{\vectorcurrentdensity}[1]{\ensuremath{\currentdensity{\mivector{#1}}}}
- \newcommand*{\lv}{\ensuremath{\left\langle}}
-\newcommand*{\vectorenergyflux}[1]{\ensuremath{\energyflux{\mivector{#1}}}}
-\newcommand*{\vectormomentumflux}[1]{\ensuremath{\momentumflux{\mivector{#1}}}}
-\newcommand*{\poyntingvector}{\vectorenergyflux}
-\newcommand*{\rv}{\ensuremath{\right\rangle}}
-\ExplSyntaxOn % Written in LaTeX3
-\NewDocumentCommand{\magvectncomps}{ m O{} }
- {%
- \sum_of_squares:nn { #1 }{ #2 }
- }%
-\cs_new:Npn \sum_of_squares:nn #1 #2
- {%
- \tl_if_empty:nTF { #2 }
- {%
- \clist_set:Nn \l_tmpa_clist { #1 }
- \ensuremath{%
- \sqrt{\left(\clist_use:Nnnn \l_tmpa_clist { \right)^2+\left( } { \right)^2+
- \left( } { \right)^2+\left( } \right)^2 }
- }%
+\newscalarquantity{resistivity}%
+ {\kilogram\usk\meter\tothethree\usk\ampere\totheinversetwo\usk\second\totheinversethree}%
+ [\ohm\usk\meter]%
+ [\volt\usk\meter\per\ampere]%
+\newscalarquantity{solidangle}%
+ {\meter\tothetwo\usk\meter\totheinversetwo}%
+ [\steradian]%
+ [\steradian]%
+\newscalarquantity{specificheatcapacity}%
+ {\meter\tothetwo\usk\second\totheinversetwo\usk\kelvin\inverse}%
+ [\joule\per\kelvin\usk\kilogram]%
+ [\joule\per\kelvin\usk\kilogram]
+\newscalarquantity{springstiffness}%
+ {\kilogram\usk\second\totheinversetwo}%
+ [\newton\per\meter]%
+ [\newton\per\meter]%
+\newscalarquantity{springstretch}% % This is really just a displacement.
+ {\meter}%
+\newscalarquantity{stress}%
+ {\kilogram\usk\meter\inverse\usk\second\totheinversetwo}%
+ [\pascal]%
+ [\newton\per\meter\tothetwo]%
+\newscalarquantity{strain}%
+ {}%
+\newscalarquantity{temperature}%
+ {\kelvin}%
+\newvectorquantity{torque}%
+ {\kilogram\usk\meter\tothetwo\usk\second\totheinversetwo}%
+ [\newton\usk\meter]%
+ [\newton\usk\meter]%
+\newvectorquantity{velocity}%
+ {\meter\usk\second\inverse}%
+ [\meter\per\second]%
+ [\meter\per\second]%
+\newvectorquantity{velocityc}%
+ {\lightspeed}%
+ [\lightspeed]%
+ [\lightspeed]%
+\newscalarquantity{volume}%
+ {\meter\tothethree}%
+\newscalarquantity{volumechargedensity}%
+ {\ampere\usk\second\per\meter\totheinversethree}%
+ [\coulomb\per\meter\tothethree]%
+ [\coulomb\per\meter\tothethree]%
+\newscalarquantity{volumemassdensity}%
+ {\kilogram\usk\meter\totheinversethree}%
+ [\kilogram\per\meter\tothethree]%
+ [\kilogram\per\meter\tothethree]%
+\newscalarquantity{wavelength}% % This is really just a displacement.
+ {\meter}%
+\newvectorquantity{wavenumber}%
+ {\meter\inverse}%
+ [\per\meter]%
+ [\per\meter]%
+\newscalarquantity{work}%
+ {\kilogram\usk\meter\tothetwo\usk\second\totheinversetwo}%
+ [\joule]% % also \newton\usk\meter but discouraged
+ [\joule]%
+\newscalarquantity{youngsmodulus}% % This is really just a stress.
+ {\kilogram\usk\meter\inverse\usk\second\totheinversetwo}%
+ [\pascal]%
+ [\newton\per\meter\tothetwo]%
+\newphysicalconstant{avogadro}%
+ {\symup{N_A}}%
+ {6\timestento{23}}{6.02214076\timestento{23}}% % exact 2019 value
+ {\mole\inverse}%
+ [\per\mole]%
+ [\per\mole]%
+\newphysicalconstant{biotsavartconstant}% % alias for \mzofp
+ {\symup{\frac{\mu_o}{4\pi}}}%
+ {\tento{-7}}{\tento{-7}}%
+ {\kilogram\usk\meter\usk\ampere\totheinversetwo\usk\second\totheinversetwo}%
+ [\henry\per\meter]%
+ [\tesla\usk\meter\per\ampere]%
+\newphysicalconstant{bohrradius}%
+ {\symup{a_o}}%
+ {5.3\timestento{-11}}{5.29177210903\timestento{-11}}%
+ {\meter}%
+\newphysicalconstant{boltzmann}%
+ {\symup{k_B}}%
+ {1.4\timestento{-23}}{1.380649\timestento{-23}}% % exact 2019 value
+ {\kilogram\usk\meter\tothetwo\usk\second\totheinversetwo\usk\kelvin\inverse}%
+ [\joule\per\kelvin]%
+ [\joule\per\kelvin]%
+\newphysicalconstant{coulombconstant}% % alias for \oofpez
+ {\symup{\frac{1}{4\pi\epsilon_o}}}%
+ {9\timestento{9}}{8.9875517923\timestento{9}}%
+ {\kilogram\usk\meter\tothethree\usk\ampere\totheinversetwo\usk\second\totheinversefour}%
+ [\meter\per\farad]%
+ [\newton\usk\meter\tothetwo\per\coulomb\tothetwo]%
+\newphysicalconstant{earthmass}%
+ {\symup{M_{Earth}}}%
+ {6.0\timestento{24}}{5.9722\timestento{24}}%
+ {\kilogram}%
+\newphysicalconstant{earthmoondistance}%
+ {\symup{d_{EM}}}%
+ {3.8\timestento{8}}{3.81550\timestento{8}}%
+ {\meter}%
+\newphysicalconstant{earthradius}%
+ {\symup{R_{Earth}}}%
+ {6.4\timestento{6}}{6.3781\timestento{6}}%
+ {\meter}%
+\newphysicalconstant{earthsundistance}%
+ {\symup{d_{ES}}}%
+ {1.5\timestento{11}}{1.496\timestento{11}}%
+ {\meter}%
+\newphysicalconstant{electroncharge}%
+ {\symup{q_e}}%
+ {-\elementarychargeapproximatevalue}{-\elementarychargeprecisevalue}%
+ {\ampere\usk\second}%
+ [\coulomb]%
+ [\coulomb]%
+\newphysicalconstant{electronCharge}%
+ {\symup{Q_e}}%
+ {-\elementarychargeapproximatevalue}{-\elementarychargeprecisevalue}%
+ {\ampere\usk\second}%
+ [\coulomb]%
+ [\coulomb]%
+\newphysicalconstant{electronmass}%
+ {\symup{m_e}}%
+ {9.1\timestento{-31}}{9.1093837015\timestento{-31}}%
+ {\kilogram}%
+\newphysicalconstant{elementarycharge}%
+ {\symup{e}}%
+ {1.6\timestento{-19}}{1.602176634\timestento{-19}}% % exact 2019 value
+ {\ampere\usk\second}%
+ [\coulomb]%
+ [\coulomb]%
+\newphysicalconstant{finestructure}%
+ {\symup{\alpha}}%
+ {\frac{1}{137}}{7.2973525693\timestento{-3}}%
+ {}%
+\newphysicalconstant{hydrogenmass}%
+ {\symup{m_H}}%
+ {1.7\timestento{-27}}{1.6737236\timestento{-27}}%
+ {\kilogram}%
+\newphysicalconstant{moonearthdistance}%
+ {\symup{d_{ME}}}%
+ {3.8\timestento{8}}{3.81550\timestento{8}}%
+ {\meter}%
+\newphysicalconstant{moonmass}%
+ {\symup{M_{Moon}}}%
+ {7.3\timestento{22}}{7.342\timestento{22}}%
+ {\kilogram}%
+\newphysicalconstant{moonradius}%
+ {\symup{R_{Moon}}}%
+ {1.7\timestento{6}}{1.7371\timestento{6}}%
+ {\meter}%
+\newphysicalconstant{mzofp}%
+ {\symup{\frac{\mu_o}{4\pi}}}%
+ {\tento{-7}}{\tento{-7}}%
+ {\kilogram\usk\meter\usk\ampere\totheinversetwo\usk\second\totheinversetwo}%
+ [\henry\per\meter]%
+ [\tesla\usk\meter\per\ampere]%
+\newphysicalconstant{neutronmass}%
+ {\symup{m_n}}%
+ {1.7\timestento{-27}}{1.67492749804\timestento{-27}}%
+ {\kilogram}%
+\newphysicalconstant{oofpez}%
+ {\symup{\frac{1}{4\pi\epsilon_o}}}%
+ {9\timestento{9}}{8.9875517923\timestento{9}}%
+ {\kilogram\usk\meter\tothethree\usk\ampere\totheinversetwo\usk\second\totheinversefour}%
+ [\meter\per\farad]%
+ [\newton\usk\meter\tothetwo\per\coulomb\tothetwo]%
+\newphysicalconstant{oofpezcs}%
+ {\symup{\frac{1}{4\pi\epsilon_o c^2}}}%
+ {\tento{-7}}{\tento{-7}}%
+ {\kilogram\usk\meter\usk\ampere\totheinversetwo\usk\second\totheinversetwo}%
+ [\tesla\usk\meter\tothetwo]%
+ [\newton\usk\second\tothetwo\per\coulomb\tothetwo]%
+\newphysicalconstant{planck}%
+ {\symup{h}}%
+ {6.6\timestento{-34}}{6.62607015\timestento{-34}}% % exact 2019 value
+ {\kilogram\usk\meter\tothetwo\usk\second\inverse}%
+ [\joule\usk\second]%
+ [\joule\usk\second]%
+\newphysicalconstant{planckbar}%
+ {\symup{\lower0.18ex\hbox{\mathchar"AF}\mkern-7mu h}}%
+ {1.1\timestento{-34}}{1.054571817\timestento{-34}}%
+ {\kilogram\usk\meter\tothetwo\usk\second\inverse}%
+ [\joule\usk\second]%
+ [\joule\usk\second]
+\newphysicalconstant{planckc}%
+ {\symup{hc}}%
+ {2.0\timestento{-25}}{1.98644586\timestento{-25}}%
+ {\kilogram\usk\meter\tothethree\usk\second\totheinversetwo}%
+ [\joule\usk\meter]%
+ [\joule\usk\meter]%
+\newphysicalconstant{protoncharge}%
+ {\symup{q_p}}%
+ {+\elementarychargeapproximatevalue}{+\elementarychargeprecisevalue}%
+ {\ampere\usk\second}%
+ [\coulomb]%
+ [\coulomb]%
+\newphysicalconstant{protonCharge}%
+ {\symup{Q_p}}%
+ {+\elementarychargeapproximatevalue}{+\elementarychargeprecisevalue}%
+ {\ampere\usk\second}%
+ [\coulomb]%
+ [\coulomb]%
+\newphysicalconstant{protonmass}%
+ {\symup{m_p}}%
+ {1.7\timestento{-27}}{1.672621898\timestento{-27}}%
+ {\kilogram}%
+\newphysicalconstant{rydberg}%
+ {\symup{R_{\infty}}}%
+ {1.1\timestento{7}}{1.0973731568160\timestento{7}}%
+ {\meter\inverse}%
+\newphysicalconstant{speedoflight}%
+ {\symup{c}}%
+ {3\timestento{8}}{2.99792458\timestento{8}}% % exact value
+ {\meter\usk\second\inverse}%
+ [\meter\per\second]%
+ [\meter\per\second]
+\newphysicalconstant{stefanboltzmann}%
+ {\symup{\sigma}}%
+ {5.7\timestento{-8}}{5.670374\timestento{-8}}%
+ {\kilogram\usk\second\totheinversethree\usk\kelvin\totheinversefour}%
+ [\watt\per\meter\tothetwo\usk\kelvin\tothefour]%
+ [\watt\per\meter\tothetwo\usk\kelvin\tothefour]
+\newphysicalconstant{sunearthdistance}%
+ {\symup{d_{SE}}}%
+ {1.5\timestento{11}}{1.496\timestento{11}}%
+ {\meter}%
+\newphysicalconstant{sunmass}%
+ {\symup{M_{Sun}}}%
+ {2.0\timestento{30}}{1.98855\timestento{30}}%
+ {\kilogram}%
+\newphysicalconstant{sunradius}%
+ {\symup{R_{Sun}}}%
+ {7.0\timestento{8}}{6.957\timestento{8}}%
+ {\meter}%
+\newphysicalconstant{surfacegravfield}%
+ {\symup{g}}%
+ {9.8}{9.807}%
+ {\meter\usk\second\totheinversetwo}%
+ [\newton\per\kilogram]%
+ [\newton\per\kilogram]%
+\newphysicalconstant{universalgrav}%
+ {\symup{G}}%
+ {6.7\timestento{-11}}{6.67430\timestento{-11}}%
+ {\meter\tothethree\usk\kilogram\inverse\usk\second\totheinversetwo}%
+ [\newton\usk\meter\tothetwo\per\kilogram\tothetwo]% % also \joule\usk\meter\per\kilogram\tothetwo
+ [\newton\usk\meter\tothetwo\per\kilogram\tothetwo]%
+\newphysicalconstant{vacuumpermeability}%
+ {\symup{\mu_o}}%
+ {4\pi\timestento{-7}}{4\pi\timestento{-7}}% % as of 2018 no longer 4\pi\timestento{-7}
+ {\kilogram\usk\meter\usk\ampere\totheinversetwo\usk\second\totheinversetwo}%
+ [\henry\per\meter]%
+ [\tesla\usk\meter\per\ampere]%
+\newphysicalconstant{vacuumpermittivity}%
+ {\symup{\epsilon_o}}%
+ {9\timestento{-12}}{8.854187817\timestento{-12}}%
+ {\ampere\tothetwo\usk\second\tothefour\usk\kilogram\inverse\usk\meter\totheinversethree}%
+ [\farad\per\meter]%
+ [\coulomb\tothetwo\per\newton\usk\meter\tothetwo]%
+\ExplSyntaxOn
+\NewDocumentCommand{\checkquantity}{ m }%
+{%
+ % Works for both scalar and vector quantities (without vector in the name!).
+ \begin{center}
+ \begin{tabular}{%
+ >{\bfseries\small}
+ p{0.5\linewidth}
+ p{0.1\linewidth}
+ p{0.1\linewidth}
+ p{0.1\linewidth}
}%
- {%
- \clist_set:Nn \l_tmpa_clist { #1 }
- \ensuremath{%
- \sqrt{\left(\clist_use:Nnnn \l_tmpa_clist {\;{ #2 }\right)^2+\left(} {\;
- { #2 }\right)^2+\left(} {\;{ #2 }\right)^2+\left(} \;{ #2 }\right)^2}
- }%
+ name & & & \tabularnewline
+ \ttfamily\footnotesize{\token_to_str:c {#1}} & & & \tabularnewline
+ \end{tabular}~ % This nonbreaking space is important!
+ \begin{tabular}{%
+ >{\bfseries\small}p{0.25\linewidth}
+ >{\bfseries\small}p{0.25\linewidth}
+ >{\bfseries\small}p{0.25\linewidth}
}%
- }%
+ base & derived & alternate \tabularnewline
+ \footnotesize{\( \use:c {#1onlybaseunits} \)} &
+ \footnotesize{\( \use:c {#1onlyderivedunits} \)} &
+ \footnotesize{\( \use:c {#1onlyalternateunits} \)}
+ \end{tabular}
+ \end{center}
+}%
+\NewDocumentCommand{\checkconstant}{ m }%
+{%
+ \begin{center}
+ \begin{tabular}{%
+ >{\bfseries\small}
+ p{0.5\linewidth}
+ p{0.1\linewidth}
+ p{0.1\linewidth}
+ p{0.1\linewidth}
+ }%
+ name & & & \tabularnewline
+ \ttfamily\footnotesize{\token_to_str:c {#1}} & & & \tabularnewline
+ \end{tabular}~ % This nonbreaking space is important!
+ \begin{tabular}{%
+ >{\bfseries\small}p{0.25\linewidth}
+ >{\bfseries\small}p{0.25\linewidth}
+ >{\bfseries\small}p{0.25\linewidth}
+ }%
+ symbol & approximate & precise \tabularnewline
+ \footnotesize{\( \use:c {#1mathsymbol} \)} &
+ \footnotesize{\( \use:c {#1approximatevalue} \)} &
+ \footnotesize{\( \use:c {#1precisevalue} \)}
+ \end{tabular}~ % This nonbreaking space is important!
+ \begin{tabular}{%
+ >{\bfseries\small}p{0.25\linewidth}
+ >{\bfseries\small}p{0.25\linewidth}
+ >{\bfseries\small}p{0.25\linewidth}
+ }%
+ base & derived & alternate \tabularnewline
+ \footnotesize{\( \use:c {#1onlybaseunits} \)} &
+ \footnotesize{\( \use:c {#1onlyderivedunits} \)} &
+ \footnotesize{\( \use:c {#1onlyalternateunits} \)}
+ \end{tabular}
+ \end{center}
+}%
\ExplSyntaxOff
-\newcommand*{\zerovect}{\vect{0}}
-\ifthenelse{\boolean{@optboldvectors}}
- {\newcommand*{\vect}[1]{\ensuremath{\boldsymbol{#1}}}}
- {\ifthenelse{\boolean{@optromanvectors}}
- {\newcommand*{\vect}[1]{\ensuremath{\vv{\mathrm{#1}}}}}
- {\newcommand*{\vect}[1]{\ensuremath{\vv{#1}}}}}
-\ifthenelse{\boolean{@optsinglemagbars}}
- {\newcommand*{\magvect}[1]{\ensuremath{\absof{\vect{#1}}}}}
- {\newcommand*{\magvect}[1]{\ensuremath{\magof{\vect{#1}}}}}
-\newcommand*{\magsquaredvect}[1]{\ensuremath{\magvect{#1}\squared}}
-\newcommand*{\magnvect}[2]{\ensuremath{\magvect{#1}^{#2}}}
-\newcommand*{\dmagvect}[1]{\ensuremath{\dx{\magvect{#1}}}}
-\newcommand*{\Dmagvect}[1]{\ensuremath{\Delta\!\magvect{#1}}}
-\ifthenelse{\boolean{@optboldvectors}}
- {\newcommand*{\dirvect}[1]{\ensuremath{\widehat{\boldsymbol{#1}}}}}
- {\ifthenelse{\boolean{@optromanvectors}}
- {\newcommand*{\dirvect}[1]{\ensuremath{\widehat{\mathrm{#1}}}}}
- {\newcommand*{\dirvect}[1]{\ensuremath{\widehat{#1}}}}}
-\newcommand*{\direction}[1]{\ensuremath{\mivector{#1}}}
-\newcommand*{\vectordirection}{\direction}
-\newcommand*{\factorvect}[1]{\magvect{#1}\dirvect{#1}}
-\newcommand*{\componentalong}[2]{\ensuremath{\mathrm{comp}_{#1}{#2}}}
-\newcommand*{\expcomponentalong}[2]{\ensuremath{\frac{\vectdotvect{#2}{#1}}
-{\magof{#1}}}}
-\newcommand*{\ucomponentalong}[2]{\ensuremath{\vectdotvect{#2}{#1}}}
-\newcommand*{\projectiononto}[2]{\ensuremath{\mathrm{proj}_{#1}{#2}}}
-\newcommand*{\expprojectiononto}[2]{\ensuremath{%
- \inparens{\frac{\vectdotvect{#2}{#1}}{\magof{#1}}}\frac{#1}{\magof{#1}}}}
-\newcommand*{\uprojectiononto}[2]{\ensuremath{%
- \inparens{\vectdotvect{#2}{#1}}#1}}
-\ifthenelse{\boolean{@optromanvectors}}
- {\newcommand*{\compvect}[2]{\ensuremath{\ssub{\mathrm{#1}}{\(#2\)}}}}
- {\newcommand*{\compvect}[2]{\ensuremath{\ssub{#1}{\(#2\)}}}}
-\newcommand*{\scompsvect}[1]{\ensuremath{\lv%
- \compvect{#1}{x},%
- \compvect{#1}{y},%
- \compvect{#1}{z}\rv}}
-\newcommand*{\scompsdirvect}[1]{\ensuremath{\lv%
- \compvect{\widehat{#1}}{x},%
- \compvect{\widehat{#1}}{y},%
- \compvect{\widehat{#1}}{z}\rv}}
-\ifthenelse{\boolean{@optromanvectors}}
- {\newcommand*{\compdirvect}[2]{\ensuremath{%
- \ssub{\widehat{\mathrm{#1}}}{\(#2\)}}}}
- {\newcommand*{\compdirvect}[2]{\ensuremath{%
- \ssub{\widehat{#1}}{\(#2\)}}}}
-\newcommand*{\magvectscomps}[1]{\ensuremath{\sqrt{%
- \compvect{#1}{x}\squared +%
- \compvect{#1}{y}\squared +%
- \compvect{#1}{z}\squared}}}
-\newcommand*{\dvect}[1]{\ensuremath{\mathrm{d}\vect{#1}}}
-\newcommand*{\Dvect}[1]{\ensuremath{\Delta\vect{#1}}}
-\newcommand*{\dirdvect}[1]{\ensuremath{\widehat{\dvect{#1}}}}
-\newcommand*{\dirDvect}[1]{\ensuremath{\widehat{\Dvect{#1}}}}
-\newcommand*{\ddirvect}[1]{\ensuremath{\mathrm{d}\dirvect{#1}}}
-\newcommand*{\ddirection}{\ddirvect}
-\newcommand*{\Ddirvect}[1]{\ensuremath{\Delta\dirvect{#1}}}
-\newcommand*{\Ddirection}{\Ddirvect}
-\ifthenelse{\boolean{@optsinglemagbars}}
- {\newcommand*{\magdvect}[1]{\ensuremath{\absof{\dvect{#1}}}}
- \newcommand*{\magDvect}[1]{\ensuremath{\absof{\Dvect{#1}}}}}
- {\newcommand*{\magdvect}[1]{\ensuremath{\magof{\dvect{#1}}}}
- \newcommand*{\magDvect}[1]{\ensuremath{\magof{\Dvect{#1}}}}}
-\newcommand*{\compdvect}[2]{\ensuremath{\mathrm{d}\compvect{#1}{#2}}}
-\newcommand*{\compDvect}[2]{\ensuremath{\Delta\compvect{#1}{#2}}}
-\newcommand*{\scompsdvect}[1]{\ensuremath{\lv%
- \compdvect{#1}{x},%
- \compdvect{#1}{y},%
- \compdvect{#1}{z}\rv}}
-\newcommand*{\scompsDvect}[1]{\ensuremath{\lv%
- \compDvect{#1}{x},%
- \compDvect{#1}{y},%
- \compDvect{#1}{z}\rv}}
-\newcommand*{\dervect}[2]{\ensuremath{\frac{\dvect{#1}}{\mathrm{d}{#2}}}}
-\newcommand*{\Dervect}[2]{\ensuremath{\frac{\Dvect{#1}}{\Delta{#2}}}}
-\newcommand*{\compdervect}[3]{\ensuremath{\dbyd{\compvect{#1}{#2}}{#3}}}
-\newcommand*{\compDervect}[3]{\ensuremath{\DbyD{\compvect{#1}{#2}}{#3}}}
-\newcommand*{\scompsdervect}[2]{\ensuremath{\lv%
- \compdervect{#1}{x}{#2},%
- \compdervect{#1}{y}{#2},%
- \compdervect{#1}{z}{#2}\rv}}
-\newcommand*{\scompsDervect}[2]{\ensuremath{\lv%
- \compDervect{#1}{x}{#2},%
- \compDervect{#1}{y}{#2},%
- \compDervect{#1}{z}{#2}\rv}}
-\ifthenelse{\boolean{@optsinglemagbars}}
- {\newcommand*{\magdervect}[2]{\ensuremath{\absof{\dervect{#1}{#2}}}}
- \newcommand*{\magDervect}[2]{\ensuremath{\absof{\Dervect{#1}{#2}}}}}
- {\newcommand*{\magdervect}[2]{\ensuremath{\magof{\dervect{#1}{#2}}}}
- \newcommand*{\magDervect}[2]{\ensuremath{\magof{\Dervect{#1}{#2}}}}}
-\newcommand*{\dermagvect}[2]{\ensuremath{\dbyd{\magvect{#1}}{#2}}}
-\newcommand*{\Dermagvect}[2]{\ensuremath{\DbyD{\magvect{#1}}{#2}}}
-\newcommand*{\derdirvect}[2]{\ensuremath{\dbyd{\dirvect{#1}}{#2}}}
-\newcommand*{\derdirection}{\derdirvect}
-\newcommand*{\Derdirvect}[2]{\ensuremath{\DbyD{\dirvect{#1}}{#2}}}
-\newcommand*{\Derdirection}{\Derdirvect}
-\ifthenelse{\boolean{@optboldvectors}}
- {\newcommand*{\vectsub}[2]{\ensuremath{\boldsymbol{#1}_{\text{\tiny{}#2}}}}}
- {\ifthenelse{\boolean{@optromanvectors}}
- {\newcommand*{\vectsub}[2]{\ensuremath{\vv{\mathrm{#1}}_{\text{\tiny{#2}}}}}}
- {\newcommand*{\vectsub}[2]{\ensuremath{\vv{#1}_{\text{\tiny{#2}}}}}}}
-\ifthenelse{\boolean{@optromanvectors}}
- {\newcommand*{\compvectsub}[3]{\ensuremath{\ssub{\mathrm{#1}}{#2,\(#3\)}}}}
- {\newcommand*{\compvectsub}[3]{\ensuremath{\ssub{#1}{#2,\(#3\)}}}}
-\newcommand*{\scompsvectsub}[2]{\ensuremath{\lv%
- \compvectsub{#1}{#2}{x},%
- \compvectsub{#1}{#2}{y},%
- \compvectsub{#1}{#2}{z}\rv}}
-\ifthenelse{\boolean{@optsinglemagbars}}
- {\newcommand*{\magvectsub}[2]{\ensuremath{\absof{\vectsub{#1}{#2}}}}}
- {\newcommand*{\magvectsub}[2]{\ensuremath{\magof{\vectsub{#1}{#2}}}}}
-\newcommand*{\magsquaredvectsub}[2]{\ensuremath{\magvectsub{#1}{#2}\squared}}
-\newcommand*{\magnvectsub}[3]{\ensuremath{\magvectsub{#1}{#2}^{#3}}}
-\newcommand*{\magvectsubscomps}[2]{\ensuremath{\sqrt{%
- \compvectsub{#1}{#2}{x}\squared +%
- \compvectsub{#1}{#2}{y}\squared +%
- \compvectsub{#1}{#2}{z}\squared}}}
-\ifthenelse{\boolean{@optromanvectors}}
- {\newcommand*{\dirvectsub}[2]{\ensuremath{\ssub{\widehat{\mathrm{#1}}}{#2}}}}
- {\newcommand*{\dirvectsub}[2]{\ensuremath{\ssub{\widehat{#1}}{#2}}}}
-\newcommand*{\dvectsub}[2]{\ensuremath{\mathrm{d}\vectsub{#1}{#2}}}
-\newcommand*{\Dvectsub}[2]{\ensuremath{\Delta\vectsub{#1}{#2}}}
-\newcommand*{\compdvectsub}[3]{\ensuremath{\mathrm{d}\compvectsub{#1}{#2}{#3}}}
-\newcommand*{\compDvectsub}[3]{\ensuremath{\Delta\compvectsub{#1}{#2}{#3}}}
-\newcommand*{\scompsdvectsub}[2]{\ensuremath{\lv%
- \compdvectsub{#1}{#2}{x},%
- \compdvectsub{#1}{#2}{y},%
- \compdvectsub{#1}{#2}{z}\rv}}
-\newcommand*{\scompsDvectsub}[2]{\ensuremath{\lv%
- \compDvectsub{#1}{#2}{x},%
- \compDvectsub{#1}{#2}{y},%
- \compDvectsub{#1}{#2}{z}\rv}}
-\newcommand*{\dermagvectsub}[3]{\ensuremath{\dbyd{\magvectsub{#1}{#2}}{#3}}}
-\newcommand*{\Dermagvectsub}[3]{\ensuremath{\DbyD{\magvectsub{#1}{#2}}{#3}}}
-\newcommand*{\dervectsub}[3]{\ensuremath{\dbyd{\vectsub{#1}{#2}}{#3}}}
-\newcommand*{\Dervectsub}[3]{\ensuremath{\DbyD{\vectsub{#1}{#2}}{#3}}}
-\ifthenelse{\boolean{@optsinglemagbars}}
- {\newcommand*{\magdervectsub}[3]{\ensuremath{\absof{\dervectsub{#1}{#2}{#3}}}}
- \newcommand*{\magDervectsub}[3]{\ensuremath{\absof{\Dervectsub{#1}{#2}{#3}}}}}
- {\newcommand*{\magdervectsub}[3]{\ensuremath{\magof{\dervectsub{#1}{#2}{#3}}}}
- \newcommand*{\magDervectsub}[3]{\ensuremath{\magof{\Dervectsub{#1}{#2}{#3}}}}}
-\newcommand*{\compdervectsub}[4]{\ensuremath{\dbyd{\compvectsub{#1}{#2}{#3}}{#4}}}
-\newcommand*{\compDervectsub}[4]{\ensuremath{\DbyD{\compvectsub{#1}{#2}{#3}}{#4}}}
-\newcommand*{\scompsdervectsub}[3]{\ensuremath{\lv%
- \compdervectsub{#1}{#2}{x}{#3},%
- \compdervectsub{#1}{#2}{y}{#3},%
- \compdervectsub{#1}{#2}{z}{#3}\rv}}
-\newcommand*{\scompsDervectsub}[3]{\ensuremath{\lv%
- \compDervectsub{#1}{#2}{x}{#3},%
- \compDervectsub{#1}{#2}{y}{#3},%
- \compDervectsub{#1}{#2}{z}{#3}\rv}}
-\newcommand*{\vectdotvect}[2]{\ensuremath{{#1}\cdot{#2}}}
-\newcommand*{\vectDotvect}[2]{\ensuremath{{#1}\bullet{#2}}}
-\newcommand*{\vectdotsvect}[2]{\ensuremath{\scompsvect{#1}\cdot\scompsvect{#2}}}
-\newcommand*{\vectDotsvect}[2]{\ensuremath{\scompsvect{#1}\bullet\scompsvect{#2}}}
-\newcommand*{\vectdotevect}[2]{\ensuremath{%
- \compvect{#1}{x}\compvect{#2}{x}+%
- \compvect{#1}{y}\compvect{#2}{y}+%
- \compvect{#1}{z}\compvect{#2}{z}}}
-\newcommand*{\vectdotsdvect}[2]{\ensuremath{\scompsvect{#1}\cdot\scompsdvect{#2}}}
-\newcommand*{\vectDotsdvect}[2]{\ensuremath{\scompsvect{#1}\bullet\scompsdvect{#2}}}
-\newcommand*{\vectdotsDvect}[2]{\ensuremath{\scompsvect{#1}\cdot\scompsDvect{#2}}}
-\newcommand*{\vectDotsDvect}[2]{\ensuremath{\scompsvect{#1}\bullet\scompsDvect{#2}}}
-\newcommand*{\vectdotedvect}[2]{\ensuremath{%
- \compvect{#1}{x}\compdvect{#2}{x}+%
- \compvect{#1}{y}\compdvect{#2}{y}+%
- \compvect{#1}{z}\compdvect{#2}{z}}}
-\newcommand*{\vectdoteDvect}[2]{\ensuremath{%
- \compvect{#1}{x}\compDvect{#2}{x}+%
- \compvect{#1}{y}\compDvect{#2}{y}+%
- \compvect{#1}{z}\compDvect{#2}{z}}}
-\newcommand*{\vectsubdotsvectsub}[4]{\ensuremath{%
- \scompsvectsub{#1}{#2}\cdot\scompsvectsub{#3}{#4}}}
-\newcommand*{\vectsubDotsvectsub}[4]{\ensuremath{%
- \scompsvectsub{#1}{#2}\bullet\scompsvectsub{#3}{#4}}}
-\newcommand*{\vectsubdotevectsub}[4]{\ensuremath{%
- \compvectsub{#1}{#2}{x}\compvectsub{#3}{#4}{x}+%
- \compvectsub{#1}{#2}{y}\compvectsub{#3}{#4}{y}+%
- \compvectsub{#1}{#2}{z}\compvectsub{#3}{#4}{z}}}
-\newcommand*{\vectsubdotsdvectsub}[4]{\ensuremath{%
- \scompsvectsub{#1}{#2}\cdot\scompsdvectsub{#3}{#4}}}
-\newcommand*{\vectsubDotsdvectsub}[4]{\ensuremath{%
- \scompsvectsub{#1}{#2}\bullet\scompsdvectsub{#3}{#4}}}
-\newcommand*{\vectsubdotsDvectsub}[4]{\ensuremath{%
- \scompsvectsub{#1}{#2}\cdot\scompsDvectsub{#3}{#4}}}
-\newcommand*{\vectsubDotsDvectsub}[4]{\ensuremath{%
- \scompsvectsub{#1}{#2}\bullet\scompsDvectsub{#3}{#4}}}
-\newcommand*{\vectsubdotedvectsub}[4]{\ensuremath{%
- \compvectsub{#1}{#2}{x}\compdvectsub{#3}{#4}{x}+%
- \compvectsub{#1}{#2}{y}\compdvectsub{#3}{#4}{y}+%
- \compvectsub{#1}{#2}{z}\compdvectsub{#3}{#4}{z}}}
-\newcommand*{\vectsubdoteDvectsub}[4]{\ensuremath{%
- \compvectsub{#1}{#2}{x}\compDvectsub{#3}{#4}{x}+%
- \compvectsub{#1}{#2}{y}\compDvectsub{#3}{#4}{y}+%
- \compvectsub{#1}{#2}{z}\compDvectsub{#3}{#4}{z}}}
-\newcommand*{\vectsubdotsdvect}[3]{\ensuremath{%
- \scompsvectsub{#1}{#2}\cdot\scompsdvect{#3}}}
-\newcommand*{\vectsubDotsdvect}[3]{\ensuremath{%
- \scompsvectsub{#1}{#2}\bullet\scompsdvect{#3}}}
-\newcommand*{\vectsubdotsDvect}[3]{\ensuremath{%
- \scompsvectsub{#1}{#2}\cdot\scompsDvect{#3}}}
-\newcommand*{\vectsubDotsDvect}[3]{\ensuremath{%
- \scompsvectsub{#1}{#2}\bullet\scompsDvect{#3}}}
-\newcommand*{\vectsubdotedvect}[3]{\ensuremath{%
- \compvectsub{#1}{#2}{x}\compdvect{#3}{x}+%
- \compvectsub{#1}{#2}{y}\compdvect{#3}{y}+%
- \compvectsub{#1}{#2}{z}\compdvect{#3}{z}}}
-\newcommand*{\vectsubdoteDvect}[3]{\ensuremath{%
- \compvectsub{#1}{#2}{x}\compDvect{#3}{x}+%
- \compvectsub{#1}{#2}{y}\compDvect{#3}{y}+%
- \compvectsub{#1}{#2}{z}\compDvect{#3}{z}}}
-\newcommand*{\dervectdotsvect}[3]{\ensuremath{%
- \scompsdervect{#1}{#2}\cdot\scompsvect{#3}}}
-\newcommand*{\dervectDotsvect}[3]{\ensuremath{%
- \scompsdervect{#1}{#2}\bullet\scompsvect{#3}}}
-\newcommand*{\Dervectdotsvect}[3]{\ensuremath{%
- \scompsDervect{#1}{#2}\cdot\scompsvect{#3}}}
-\newcommand*{\DervectDotsvect}[3]{\ensuremath{%
- \scompsDervect{#1}{#2}\bullet\scompsvect{#3}}}
-\newcommand*{\dervectdotevect}[3]{\ensuremath{%
- \compdervect{#1}{x}{#2}\compvect{#3}{x}+%
- \compdervect{#1}{y}{#2}\compvect{#3}{y}+%
- \compdervect{#1}{z}{#2}\compvect{#3}{z}}}
-\newcommand*{\Dervectdotevect}[3]{\ensuremath{%
- \compDervect{#1}{x}{#2}\compvect{#3}{x}+%
- \compDervect{#1}{y}{#2}\compvect{#3}{y}+%
- \compDervect{#1}{z}{#2}\compvect{#3}{z}}}
-\newcommand*{\vectdotsdervect}[3]{\ensuremath{%
- \scompsvect{#1}\cdot\scompsdervect{#2}{#3}}}
-\newcommand*{\vectDotsdervect}[3]{\ensuremath{%
- \scompsvect{#1}\bullet\scompsdervect{#2}{#3}}}
-\newcommand*{\vectdotsDervect}[3]{\ensuremath{%
- \scompsvect{#1}\cdot\scompsDervect{#2}{#3}}}
-\newcommand*{\vectDotsDervect}[3]{\ensuremath{%
- \scompsvect{#1}\bullet\scompsDervect{#2}{#3}}}
-\newcommand*{\vectdotedervect}[3]{\ensuremath{%
- \compvect{#1}{x}\compdervect{#2}{x}{#3}+%
- \compvect{#1}{y}\compdervect{#2}{y}{#3}+%
- \compvect{#1}{z}\compdervect{#2}{z}{#3}}}
-\newcommand*{\vectdoteDervect}[3]{\ensuremath{%
- \compvect{#1}{x}\compDervect{#2}{x}{#3}+%
- \compvect{#1}{y}\compDervect{#2}{y}{#3}+%
- \compvect{#1}{z}\compDervect{#2}{z}{#3}}}
-\newcommand*{\dervectdotsdvect}[3]{\ensuremath{%
- \scompsdervect{#1}{#2}\cdot\scompsdvect{#3}}}
-\newcommand*{\dervectDotsdvect}[3]{\ensuremath{%
- \scompsdervect{#1}{#2}\bullet\scompsdvect{#3}}}
-\newcommand*{\DervectdotsDvect}[3]{\ensuremath{%
- \scompsDervect{#1}{#2}\cdot\scompsDvect{#3}}}
-\newcommand*{\DervectDotsDvect}[3]{\ensuremath{%
- \scompsDervect{#1}{#2}\bullet\scompsDvect{#3}}}
-\newcommand*{\dervectdotedvect}[3]{\ensuremath{%
- \compdervect{#1}{x}{#2}\compdvect{#3}{x}+%
- \compdervect{#1}{y}{#2}\compdvect{#3}{y}+%
- \compdervect{#1}{z}{#2}\compdvect{#3}{z}}}
-\newcommand*{\DervectdoteDvect}[3]{\ensuremath{%
- \compDervect{#1}{x}{#2}\compDvect{#3}{x}+%
- \compDervect{#1}{y}{#2}\compDvect{#3}{y}+%
- \compDervect{#1}{z}{#2}\compDvect{#3}{z}}}
-\newcommand*{\vectcrossvect}[2]{\ensuremath{%
- {#1}\boldsymbol{\times}{#2}}}
-\newcommand*{\ltriplecross}[3]{\ensuremath{%
- \inparens{{#1}\boldsymbol{\times}{#2}}\boldsymbol{\times}{#3}}}
-\newcommand*{\rtriplecross}[3]{\ensuremath{{#1}\boldsymbol{\times}%
- \inparens{{#2}\boldsymbol{\times}{#3}}}}
-\newcommand*{\ltriplescalar}[3]{\ensuremath{%
- {#1}\boldsymbol{\times}{#2}\cdot{#3}}}
-\newcommand*{\ltripleScalar}[3]{\ensuremath{%
- {#1}\boldsymbol{\times}{#2}\bullet{#3}}}
-\newcommand*{\rtriplescalar}[3]{\ensuremath{%
- {#1}\cdot{#2}\boldsymbol{\times}{#3}}}
-\newcommand*{\rtripleScalar}[3]{\ensuremath{%
- {#1}\bullet{#2}\boldsymbol{\times}{#3}}}
-\newcommand*{\ezero}{\ensuremath{\boldsymbol{e}_0}}
-\newcommand*{\eone}{\ensuremath{\boldsymbol{e}_1}}
-\newcommand*{\etwo}{\ensuremath{\boldsymbol{e}_2}}
-\newcommand*{\ethree}{\ensuremath{\boldsymbol{e}_3}}
-\newcommand*{\efour}{\ensuremath{\boldsymbol{e}_4}}
-\newcommand*{\ek}[1]{\ensuremath{\boldsymbol{e}_{#1}}}
-\newcommand*{\e}{\ek}
-\newcommand*{\uezero}{\ensuremath{\widehat{\boldsymbol{e}}_0}}
-\newcommand*{\ueone}{\ensuremath{\widehat{\boldsymbol{e}}_1}}
-\newcommand*{\uetwo}{\ensuremath{\widehat{\boldsymbol{e}}_2}}
-\newcommand*{\uethree}{\ensuremath{\widehat{\boldsymbol{e}}_3}}
-\newcommand*{\uefour}{\ensuremath{\widehat{\boldsymbol{e}}_4}}
-\newcommand*{\uek}[1]{\ensuremath{\widehat{\boldsymbol{e}}_{#1}}}
-\newcommand*{\ue}{\uek}
-\newcommand*{\ezerozero}{\ek{00}}
-\newcommand*{\ezeroone}{\ek{01}}
-\newcommand*{\ezerotwo}{\ek{02}}
-\newcommand*{\ezerothree}{\ek{03}}
-\newcommand*{\ezerofour}{\ek{04}}
-\newcommand*{\eoneone}{\ek{11}}
-\newcommand*{\eonetwo}{\ek{12}}
-\newcommand*{\eonethree}{\ek{13}}
-\newcommand*{\eonefour}{\ek{14}}
-\newcommand*{\etwoone}{\ek{21}}
-\newcommand*{\etwotwo}{\ek{22}}
-\newcommand*{\etwothree}{\ek{23}}
-\newcommand*{\etwofour}{\ek{24}}
-\newcommand*{\ethreeone}{\ek{31}}
-\newcommand*{\ethreetwo}{\ek{32}}
-\newcommand*{\ethreethree}{\ek{33}}
-\newcommand*{\ethreefour}{\ek{34}}
-\newcommand*{\efourone}{\ek{41}}
-\newcommand*{\efourtwo}{\ek{42}}
-\newcommand*{\efourthree}{\ek{43}}
-\newcommand*{\efourfour}{\ek{44}}
-\newcommand*{\euzero}{\ensuremath{\boldsymbol{e}^0}}
-\newcommand*{\euone}{\ensuremath{\boldsymbol{e}^1}}
-\newcommand*{\eutwo}{\ensuremath{\boldsymbol{e}^2}}
-\newcommand*{\euthree}{\ensuremath{\boldsymbol{e}^3}}
-\newcommand*{\eufour}{\ensuremath{\boldsymbol{e}^4}}
-\newcommand*{\euk}[1]{\ensuremath{\boldsymbol{e}^{#1}}}
-\newcommand*{\eu}{\euk}
-\newcommand*{\ueuzero}{\ensuremath{\widehat{\boldsymbol{e}}^0}}
-\newcommand*{\ueuone}{\ensuremath{\widehat{\boldsymbol{e}}^1}}
-\newcommand*{\ueutwo}{\ensuremath{\widehat{\boldsymbol{e}}^2}}
-\newcommand*{\ueuthree}{\ensuremath{\widehat{\boldsymbol{e}}^3}}
-\newcommand*{\ueufour}{\ensuremath{\widehat{\boldsymbol{e}}^4}}
-\newcommand*{\ueuk}[1]{\ensuremath{\widehat{\boldsymbol{e}}^{#1}}}
-\newcommand*{\ueu}{\ueuk}
-\newcommand*{\euzerozero}{\euk{00}}
-\newcommand*{\euzeroone}{\euk{01}}
-\newcommand*{\euzerotwo}{\euk{02}}
-\newcommand*{\euzerothree}{\euk{03}}
-\newcommand*{\euzerofour}{\euk{04}}
-\newcommand*{\euoneone}{\euk{11}}
-\newcommand*{\euonetwo}{\euk{12}}
-\newcommand*{\euonethree}{\euk{13}}
-\newcommand*{\euonefour}{\euk{14}}
-\newcommand*{\eutwoone}{\euk{21}}
-\newcommand*{\eutwotwo}{\euk{22}}
-\newcommand*{\eutwothree}{\euk{23}}
-\newcommand*{\eutwofour}{\euk{24}}
-\newcommand*{\euthreeone}{\euk{31}}
-\newcommand*{\euthreetwo}{\euk{32}}
-\newcommand*{\euthreethree}{\euk{33}}
-\newcommand*{\euthreefour}{\euk{34}}
-\newcommand*{\eufourone}{\euk{41}}
-\newcommand*{\eufourtwo}{\euk{42}}
-\newcommand*{\eufourthree}{\euk{43}}
-\newcommand*{\eufourfour}{\euk{44}}
-\newcommand*{\gzero}{\ensuremath{\boldsymbol{\gamma}_0}}
-\newcommand*{\gone}{\ensuremath{\boldsymbol{\gamma}_1}}
-\newcommand*{\gtwo}{\ensuremath{\boldsymbol{\gamma}_2}}
-\newcommand*{\gthree}{\ensuremath{\boldsymbol{\gamma}_3}}
-\newcommand*{\gfour}{\ensuremath{\boldsymbol{\gamma}_4}}
-\newcommand*{\gk}[1]{\ensuremath{\boldsymbol{\gamma}_{#1}}}
-\newcommand*{\g}{\gk}
-\newcommand*{\gzerozero}{\gk{00}}
-\newcommand*{\gzeroone}{\gk{01}}
-\newcommand*{\gzerotwo}{\gk{02}}
-\newcommand*{\gzerothree}{\gk{03}}
-\newcommand*{\gzerofour}{\gk{04}}
-\newcommand*{\goneone}{\gk{11}}
-\newcommand*{\gonetwo}{\gk{12}}
-\newcommand*{\gonethree}{\gk{13}}
-\newcommand*{\gonefour}{\gk{14}}
-\newcommand*{\gtwoone}{\gk{21}}
-\newcommand*{\gtwotwo}{\gk{22}}
-\newcommand*{\gtwothree}{\gk{23}}
-\newcommand*{\gtwofour}{\gk{24}}
-\newcommand*{\gthreeone}{\gk{31}}
-\newcommand*{\gthreetwo}{\gk{32}}
-\newcommand*{\gthreethree}{\gk{33}}
-\newcommand*{\gthreefour}{\gk{34}}
-\newcommand*{\gfourone}{\gk{41}}
-\newcommand*{\gfourtwo}{\gk{42}}
-\newcommand*{\gfourthree}{\gk{43}}
-\newcommand*{\gfourfour}{\gk{44}}
-\newcommand*{\guzero}{\ensuremath{\boldsymbol{\gamma}^0}}
-\newcommand*{\guone}{\ensuremath{\boldsymbol{\gamma}^1}}
-\newcommand*{\gutwo}{\ensuremath{\boldsymbol{\gamma}^2}}
-\newcommand*{\guthree}{\ensuremath{\boldsymbol{\gamma}^3}}
-\newcommand*{\gufour}{\ensuremath{\boldsymbol{\gamma}^4}}
-\newcommand*{\guk}[1]{\ensuremath{\boldsymbol{\gamma}^{#1}}}
-\newcommand*{\gu}{\guk}
-\newcommand*{\guzerozero}{\guk{00}}
-\newcommand*{\guzeroone}{\guk{01}}
-\newcommand*{\guzerotwo}{\guk{02}}
-\newcommand*{\guzerothree}{\guk{03}}
-\newcommand*{\guzerofour}{\guk{04}}
-\newcommand*{\guoneone}{\guk{11}}
-\newcommand*{\guonetwo}{\guk{12}}
-\newcommand*{\guonethree}{\guk{13}}
-\newcommand*{\guonefour}{\guk{14}}
-\newcommand*{\gutwoone}{\guk{21}}
-\newcommand*{\gutwotwo}{\guk{22}}
-\newcommand*{\gutwothree}{\guk{23}}
-\newcommand*{\gutwofour}{\guk{24}}
-\newcommand*{\guthreeone}{\guk{31}}
-\newcommand*{\guthreetwo}{\guk{32}}
-\newcommand*{\guthreethree}{\guk{33}}
-\newcommand*{\guthreefour}{\guk{34}}
-\newcommand*{\gufourone}{\guk{41}}
-\newcommand*{\gufourtwo}{\guk{42}}
-\newcommand*{\gufourthree}{\guk{43}}
-\newcommand*{\gufourfour}{\guk{44}}
-\ExplSyntaxOn % Vectors formated as in M\&I, written in LaTeX3
+\ExplSyntaxOn
\NewDocumentCommand{\mivector}{ O{,} m o }%
{%
- \mi_vector:nn { #1 } { #2 }
- \IfValueT{#3}{\;{#3}}
+ \mi_vector:nn { #1 } { #2 }%
+ \IfValueT{#3}{\,{#3}}%
}%
\seq_new:N \l__mi_list_seq
\cs_new_protected:Npn \mi_vector:nn #1 #2
@@ -1121,1344 +860,6 @@
}%
}%
\ExplSyntaxOff
-\ExplSyntaxOn % Column and row vectors, written in LaTeX3
-\seq_new:N \l__vector_arg_seq
-\cs_new_protected:Npn \vector_main:nnnn #1 #2 #3 #4
- {%
- \seq_set_split:Nnn \l__vector_arg_seq { #3 } { #4 }
- \begin{#1matrix}
- \seq_use:Nnnn \l__vector_arg_seq { #2 } { #2 } { #2 }
- \end{#1matrix}
- }%
-\NewDocumentCommand{\rowvector}{ O{,} m }
- {%
- \ensuremath{
- \vector_main:nnnn { p } { \,\, } { #1 } { #2 }
- }%
- }%
-\NewDocumentCommand{\colvector}{ O{,} m }
- {%
- \ensuremath{
- \vector_main:nnnn { p } { \\ } { #1 } { #2 }
- }%
- }%
-\ExplSyntaxOff
-\newcommandx{\scompscvect}[2][1,usedefault]{%
- \ifthenelse{\equal{#1}{}}%
- {%
- \colvector{\msub{#2}{1},\msub{#2}{2},\msub{#2}{3}}%
- }%
- {%
- \colvector{\msub{#2}{0},\msub{#2}{1},\msub{#2}{2},\msub{#2}{3}}%
- }%
-}%
-\newcommandx{\scompsCvect}[2][1,usedefault]{%
- \ifthenelse{\equal{#1}{}}%
- {%
- \colvector{\msup{#2}{1},\msup{#2}{2},\msup{#2}{3}}%
- }%
- {%
- \colvector{\msup{#2}{0},\msup{#2}{1},\msup{#2}{2},\msup{#2}{3}}%
- }%
-}%
-\newcommandx{\scompsrvect}[2][1,usedefault]{%
- \ifthenelse{\equal{#1}{}}%
- {%
- \rowvector[,]{\msub{#2}{1},\msub{#2}{2},\msub{#2}{3}}%
- }%
- {%
- \rowvector[,]{\msub{#2}{0},\msub{#2}{1},\msub{#2}{2},\msub{#2}{3}}%
- }%
-}%
-\newcommandx{\scompsRvect}[2][1,usedefault]{%
- \ifthenelse{\equal{#1}{}}%
- {%
- \rowvector[,]{\msup{#2}{1},\msup{#2}{2},\msup{#2}{3}}%
- }%
- {%
- \rowvector[,]{\msup{#2}{0},\msup{#2}{1},\msup{#2}{2},\msup{#2}{3}}%
- }%
-}%
-\newcommand*{\anglebetween}[2]{\ensuremath{\theta_{\vect{#1},\vect{#2}}}}
-\newcommand*{\bra}[1]{\ensuremath{\left\langle{#1}\right\lvert}}
-\newcommand*{\ket}[1]{\ensuremath{\left\lvert{#1}\right\rangle}}
-\newcommand*{\bracket}[2]{\ensuremath{\left\langle{#1}\!\!\right.%
- \left\lvert{#2}\right\rangle}}
-\newphysicsconstant{oofpez}%
- {\ensuremath{\frac{1}{\phantom{_o}4\pi\epsilon_0}}}%
- {\mi@p{9}{8.9875517873681764}\timestento{9}}%
- {\m\cubed\usk\kg\usk\reciprocalquartic\s\usk\A\reciprocalsquared}%
- [\newton\usk\m\squared\per\coulomb\squared]%
- [\m\per\farad]
-\newphysicsconstant{oofpezcs}%
- {\ensuremath{\frac{1}{\phantom{_o}4\pi\epsilon_0 c^2\phantom{_o}}}}%
- {\tento{-7}}%
- {\m\usk\kg\usk\s\reciprocalsquared\usk\A\reciprocalsquared}%
- [\N\usk\s\squared\per\C\squared]%
- [\T\usk\m\squared]
-\newphysicsconstant{vacuumpermittivity}%
- {\ensuremath{\epsilon_0}}%
- {\mi@p{9.0}{8.854187817}\timestento{-12}}%
- {\m\reciprocalcubed\usk\reciprocal\kg\usk\s\quarted\usk\A\squared}%
- [\C\squared\per\N\usk\m\squared]%
- [\F\per\m]
-\newphysicsconstant{mzofp}%
- {\ensuremath{\frac{\phantom{_oo}\mu_0\phantom{_o}}{4\pi}}}%
- {\tento{-7}}%
- {\m\usk\kg\usk\s\reciprocalsquared\usk\A\reciprocalsquared}%
- [\tesla\usk\m\per\A]%
- [\henry\per\m]
-\newphysicsconstant{vacuumpermeability}%
- {\ensuremath{\mu_0}}%
- {4\pi\timestento{-7}}%
- {\m\usk\kg\usk\s\reciprocalsquared\usk\A\reciprocalsquared}%
- [\T\usk\m\per\A]%
- [\henry\per\m]
-\newphysicsconstant{boltzmann}%
- {\ensuremath{k_B}}%
- {\mi@p{1.4}{1.38064852}\timestento{-23}}%
- {\m\squared\usk\kg\usk\reciprocalsquare\s\usk\reciprocal\K}%
- [\J\per\K]%
- [\J\per\K]
-\newphysicsconstant{boltzmannineV}%
- {\ensuremath{k_B}}%
- {\mi@p{8.6}{8.6173303}\timestento{-5}}%
- {\eV\usk\reciprocal\K}%
- [\eV\per\K]%
- [\eV\per\K]
-\newphysicsconstant{stefanboltzmann}%
- {\ensuremath{\sigma}}%
- {\mi@p{5.7}{5.670367}\timestento{-8}}%
- {\kg\usk\s\reciprocalcubed\usk\K\reciprocalquarted}%
- [\W\per\m\squared\usk\K\quarted]%
- [\W\per\m\squared\usk\K\quarted]
-\newphysicsconstant{planck}%
- {\ensuremath{h}}%
- {\mi@p{6.6}{6.626070040}\timestento{-34}}%
- {\m\squared\usk\kg\usk\reciprocal\s}%
- [\J\usk\s]%
- [\J\usk\s]
-\newphysicsconstant{planckineV}%
- {\ensuremath{h}}%
- {\mi@p{4.1}{4.135667662}\timestento{-15}}%
- {\eV\usk\s}%
- [\eV\usk\s]%
- [\eV\usk\s]
-\newphysicsconstant{planckbar}%
- {\ensuremath{\hslash}}%
- {\mi@p{1.1}{1.054571800}\timestento{-34}}%
- {\m\squared\usk\kg\usk\reciprocal\s}%
- [\J\usk\s]%
- [\J\usk\s]
-\newphysicsconstant{planckbarineV}%
- {\ensuremath{\hslash}}%
- {\mi@p{6.6}{6.582119514}\timestento{-16}}%
- {\eV\usk\s}%
- [\eV\usk\s]%
- [\eV\usk\s]
-\newphysicsconstant{planckc}%
- {\ensuremath{hc}}%
- {\mi@p{2.0}{1.98644568}\timestento{-25}}%
- {\m\cubed\usk\kg\usk\reciprocalsquare\s}%
- [\J\usk\m]%
- [\J\usk\m]
-\newphysicsconstant{planckcineV}%
- {\ensuremath{hc}}%
- {\mi@p{1240}{1.23984193}\timestento{3}}%
- {\eV\usk\text{n}\m}%
- [\eV\usk\text{n}\m]%
- [\eV\usk\text{n}\m]
-\newphysicsconstant{rydberg}%
- {\ensuremath{\msub{R}{\infty}}}%
- {\mi@p{1.1}{1.0973731568508}\timestento{7}}%
- {\reciprocal\m}%
- [\reciprocal\m]%
- [\reciprocal\m]
-\newphysicsconstant{bohrradius}%
- {\ensuremath{a_0}}%
- {\mi@p{5.3}{5.2917721067}\timestento{-11}}%
- {\m}%
- [\m]%
- [\m]
-\newphysicsconstant{finestructure}%
- {\ensuremath{\alpha}}%
- {\mi@p{\frac{1}{137}}{7.2973525664\timestento{-3}}}%
- {}%
- []%
- []
-\newphysicsconstant{avogadro}%
- {\ensuremath{N_A}}%
- {\mi@p{6.0}{6.022140857}\timestento{23}}%
- {\reciprocal\mol}%
- [\reciprocal\mol]%
- [\reciprocal\mol]
-\newphysicsconstant{universalgrav}%
- {\ensuremath{G}}%
- {\mi@p{6.7}{6.67408}\timestento{-11}}%
- {\m\cubed\usk\reciprocal\kg\usk\s\reciprocalsquared}%
- [\N\usk\m\squared\per\kg\squared]%
- [\J\usk\m\per\kg\squared]
-\newphysicsconstant{surfacegravfield}%
- {\ensuremath{g}}%
- {\mi@p{9.8}{9.807}}%
- {\m\usk\s\reciprocalsquared}%
- [\N\per\kg]%
- [\N\per\kg]
-\newphysicsconstant{clight}%
- {\ensuremath{c}}%
- {\mi@p{3}{2.99792458}\timestento{8}}%
- {\m\usk\reciprocal\s}%
- [\m\per\s]%
- [\m\per\s]
-\newphysicsconstant{clightinfeet}%
- {\ensuremath{c}}%
- {\mi@p{1}{0.983571}}%
- {\text{ft}\usk\reciprocal{\text{n}\s}}%
- [\text{ft}\per\text{n}\s]%
- [\text{ft}\per\mathrm{n}\s]
-\newphysicsconstant{Ratom}%
- {\ensuremath{r_{\text{atom}}}}%
- {\tento{-10}}%
- {\m}%
- [\m]%
- [\m]
-\newphysicsconstant{Mproton}%
- {\ensuremath{m_p}}%
- {\mi@p{1.7}{1.672621898}\timestento{-27}}%
- {\kg}%
- [\kg]%
- [\kg]
-\newphysicsconstant{Mneutron}%
- {\ensuremath{m_n}}%
- {\mi@p{1.7}{1.674927471}\timestento{-27}}%
- {\kg}%
- [\kg]%
- [\kg]
-\newphysicsconstant{Mhydrogen}%
- {\ensuremath{m_H}}%
- {\mi@p{1.7}{1.6737236}\timestento{-27}}%
- {\kg}%
- [\kg]%
- [\kg]
-\newphysicsconstant{Melectron}%
- {\ensuremath{m_e}}%
- {\mi@p{9.1}{9.10938356}\timestento{-31}}%
- {\kg}%
- [\kg]%
- [\kg]
-\newphysicsconstant{echarge}%
- {\ensuremath{e}}%
- {\mi@p{1.6}{1.6021766208}\timestento{-19}}%
- {\A\usk\s}%
- [\C]%
- [\C]
-\newphysicsconstant{Qelectron}%
- {\ensuremath{Q_e}}%
- {-\echargevalue}%
- {\A\usk\s}%
- [\C]%
- [\C]
-\newphysicsconstant{qelectron}%
- {\ensuremath{q_e}}%
- {-\echargevalue}%
- {\A\usk\s}%
- [\C]%
- [\C]
-\newphysicsconstant{Qproton}%
- {\ensuremath{Q_p}}%
- {+\echargevalue}%
- {\A\usk\s}%
- [\C]%
- [\C]
-\newphysicsconstant{qproton}%
- {\ensuremath{q_p}}%
- {+\echargevalue}%
- {\A\usk\s}%
- [\C]%
- [\C]
-\newphysicsconstant{MEarth}%
- {\ensuremath{M_{\text{Earth}}}}%
- {\mi@p{6.0}{5.97237}\timestento{24}}%
- {\kg}%
- [\kg]%
- [\kg]
-\newphysicsconstant{MMoon}%
- {\ensuremath{M_{\text{Moon}}}}%
- {\mi@p{7.3}{7.342}\timestento{22}}%
- {\kg}%
- [\kg]%
- [\kg]
-\newphysicsconstant{MSun}%
- {\ensuremath{M_{\text{Sun}}}}%
- {\mi@p{2.0}{1.98855}\timestento{30}}%
- {\kg}%
- [\kg]%
- [\kg]
-\newphysicsconstant{REarth}%
- {\ensuremath{R_{\text{Earth}}}}%
- {\mi@p{6.4}{6.371}\timestento{6}}%
- {\m}%
- [\m]%
- [\m]
-\newphysicsconstant{RMoon}%
- {\ensuremath{R_{\text{Moon}}}}%
- {\mi@p{1.7}{1.7371}\timestento{6}}%
- {\m}%
- [\m]%
- [\m]
-\newphysicsconstant{RSun}%
- {\ensuremath{R_{\text{Sun}}}}%
- {\mi@p{7.0}{6.957}\timestento{8}}%
- {\m}%
- [\m]%
- [\m]
-\newphysicsconstant{ESdist}%
- {\magvectsub{r}{ES}}%
- {\mi@p{1.5}{1.496}\timestento{11}}%
- {\m}%
- [\m]%
- [\m]
-\newphysicsconstant{SEdist}%
- {\magvectsub{r}{SE}}%
- {\mi@p{1.5}{1.496}\timestento{11}}%
- {\m}%
- [\m]%
- [\m]
-\newphysicsconstant{EMdist}%
- {\magvectsub{r}{EM}}%
- {\mi@p{3.8}{3.81550}\timestento{8}}%
- {\m}%
- [\m]%
- [\m]
-\newphysicsconstant{MEdist}%
- {\magvectsub{r}{ME}}%
- {\mi@p{3.8}{3.81550}\timestento{8}}%
- {\m}%
- [\m]%
- [\m]
-\newphysicsconstant{LSun}%
- {\ensuremath{L_{\text{Sun}}}}%
- {\mi@p{3.8}{3.8460}\timestento{26}}%
- {\m\squared\usk\kg\usk\s\reciprocalcubed}%
- [\W]
- [\J\per\s]
-\newphysicsconstant{TSun}%
- {\ensuremath{T_{\text{Sun}}}}%
- {\mi@p{5800}{5778}}%
- {\K}%
- [\K]%
- [\K]
-\newphysicsconstant{MagSun}%
- {\ensuremath{M_{\text{Sun}}}}%
- {+4.83}%
- {}%
- []%
- []
-\newphysicsconstant{magSun}%
- {\ensuremath{m_{\text{Sun}}}}%
- {-26.74}%
- {}%
- []%
- []
-\newcommand*{\coulombconstant}{\oofpez}
-\newcommand*{\altcoulombconstant}{\oofpezcs}
-\newcommand*{\biotsavartconstant}{\mzofp}
-\newcommand*{\boltzmannconstant}{\boltzmann}
-\newcommand*{\stefanboltzmannconstant}{\stefanboltzmann}
-\newcommand*{\planckconstant}{\planck}
-\newcommand*{\reducedplanckconstant}{\planckbar}
-\newcommand*{\planckconstanttimesc}{\planckc}
-\newcommand*{\rydbergconstant}{\rydberg}
-\newcommand*{\finestructureconstant}{\finestructure}
-\newcommand*{\avogadroconstant}{\avogadro}
-\newcommand*{\universalgravitationalconstant}{\universalgrav}
-\newcommand*{\earthssurfacegravitationalfield}{\surfacegravfield}
-\newcommand*{\photonconstant}{\clight}
-\newcommand*{\elementarycharge}{\echarge}
-\newcommand*{\EarthSundistance}{\ESdist}
-\newcommand*{\SunEarthdistance}{\SEdist}
-\newcommand*{\EarthMoondistance}{\ESdist}
-\newcommand*{\MoonEarthdistance}{\SEdist}
-\newcommand*{\Lstar}[1][\(\star\)]{\ensuremath{L_{\text{#1}}}\xspace}
-\newcommand*{\Lsolar}{\ensuremath{\Lstar[\(\odot\)]}\xspace}
-\newcommand*{\Tstar}[1][\(\star\)]{\ensuremath{T_{\text{#1}}}\xspace}
-\newcommand*{\Tsolar}{\ensuremath{\Tstar[\(\odot\)]}\xspace}
-\newcommand*{\Rstar}[1][\(\star\)]{\ensuremath{R_{\text{#1}}}\xspace}
-\newcommand*{\Rsolar}{\ensuremath{\Rstar[\(\odot\)]}\xspace}
-\newcommand*{\Mstar}[1][\(\star\)]{\ensuremath{M_{\text{#1}}}\xspace}
-\newcommand*{\Msolar}{\ensuremath{\Mstar[\(\odot\)]}\xspace}
-\newcommand*{\Fstar}[1][\(\star\)]{\ensuremath{F_{\text{#1}}}\xspace}
-\newcommand*{\fstar}[1][\(\star\)]{\ensuremath{f_{\text{#1}}}\xspace}
-\newcommand*{\Fsolar}{\ensuremath{\Fstar[\(\odot\)]}\xspace}
-\newcommand*{\fsolar}{\ensuremath{\fstar[\(\odot\)]}\xspace}
-\newcommand*{\Magstar}[1][\(\star\)]{\ensuremath{M_{\text{#1}}}\xspace}
-\newcommand*{\magstar}[1][\(\star\)]{\ensuremath{m_{\text{#1}}}\xspace}
-\newcommand*{\Magsolar}{\ensuremath{\Magstar[\(\odot\)]}\xspace}
-\newcommand*{\magsolar}{\ensuremath{\magstar[\(\odot\)]}\xspace}
-\newcommand*{\Dstar}[1][\(\star\)]{\ensuremath{D_{\text{#1}}}\xspace}
-\newcommand*{\dstar}[1][\(\star\)]{\ensuremath{d_{\text{#1}}}\xspace}
-\newcommand*{\Dsolar}{\ensuremath{\Dstar[\(\odot\)]}\xspace}
-\newcommand*{\dsolar}{\ensuremath{\dstar[\(\odot\)]}\xspace}
-\newcommand*{\onehalf}{\ensuremath{\frac{1}{2}}\xspace}
-\newcommand*{\onethird}{\ensuremath{\frac{1}{3}}\xspace}
-\newcommand*{\onefourth}{\ensuremath{\frac{1}{4}}\xspace}
-\newcommand*{\onefifth}{\ensuremath{\frac{1}{5}}\xspace}
-\newcommand*{\onesixth}{\ensuremath{\frac{1}{6}}\xspace}
-\newcommand*{\oneseventh}{\ensuremath{\frac{1}{7}}\xspace}
-\newcommand*{\oneeighth}{\ensuremath{\frac{1}{8}}\xspace}
-\newcommand*{\oneninth}{\ensuremath{\frac{1}{9}}\xspace}
-\newcommand*{\onetenth}{\ensuremath{\frac{1}{10}}\xspace}
-\newcommand*{\twooneths}{\ensuremath{\frac{2}{1}}\xspace}
-\newcommand*{\twohalves}{\ensuremath{\frac{2}{2}}\xspace}
-\newcommand*{\twothirds}{\ensuremath{\frac{2}{3}}\xspace}
-\newcommand*{\twofourths}{\ensuremath{\frac{2}{4}}\xspace}
-\newcommand*{\twofifths}{\ensuremath{\frac{2}{5}}\xspace}
-\newcommand*{\twosixths}{\ensuremath{\frac{2}{6}}\xspace}
-\newcommand*{\twosevenths}{\ensuremath{\frac{2}{7}}\xspace}
-\newcommand*{\twoeighths}{\ensuremath{\frac{2}{8}}\xspace}
-\newcommand*{\twoninths}{\ensuremath{\frac{2}{9}}\xspace}
-\newcommand*{\twotenths}{\ensuremath{\frac{2}{10}}\xspace}
-\newcommand*{\threeoneths}{\ensuremath{\frac{3}{1}}\xspace}
-\newcommand*{\threehalves}{\ensuremath{\frac{3}{2}}\xspace}
-\newcommand*{\threethirds}{\ensuremath{\frac{3}{3}}\xspace}
-\newcommand*{\threefourths}{\ensuremath{\frac{3}{4}}\xspace}
-\newcommand*{\threefifths}{\ensuremath{\frac{3}{5}}\xspace}
-\newcommand*{\threesixths}{\ensuremath{\frac{3}{6}}\xspace}
-\newcommand*{\threesevenths}{\ensuremath{\frac{3}{7}}\xspace}
-\newcommand*{\threeeighths}{\ensuremath{\frac{3}{8}}\xspace}
-\newcommand*{\threeninths}{\ensuremath{\frac{3}{9}}\xspace}
-\newcommand*{\threetenths}{\ensuremath{\frac{3}{10}}\xspace}
-\newcommand*{\fouroneths}{\ensuremath{\frac{4}{1}}\xspace}
-\newcommand*{\fourhalves}{\ensuremath{\frac{4}{2}}\xspace}
-\newcommand*{\fourthirds}{\ensuremath{\frac{4}{3}}\xspace}
-\newcommand*{\fourfourths}{\ensuremath{\frac{4}{4}}\xspace}
-\newcommand*{\fourfifths}{\ensuremath{\frac{4}{5}}\xspace}
-\newcommand*{\foursixths}{\ensuremath{\frac{4}{6}}\xspace}
-\newcommand*{\foursevenths}{\ensuremath{\frac{4}{7}}\xspace}
-\newcommand*{\foureighths}{\ensuremath{\frac{4}{8}}\xspace}
-\newcommand*{\fourninths}{\ensuremath{\frac{4}{9}}\xspace}
-\newcommand*{\fourtenths}{\ensuremath{\frac{4}{10}}\xspace}
-\newcommand*{\sumoverall}[1]{\ensuremath{\displaystyle
- \sum_{\substack{\text{\tiny{all }}\text{\tiny{{#1}}}}}}}
-\newcommand*{\dx}[1]{\ensuremath{\,\mathrm{d}{#1}}}
-\newcommand*{\dslashx}[1]{\ensuremath{\,\mathchar'26\mkern-12mu \mathrm{d}{#1}}}
-\newcommandx{\evaluatedfromto}[2][2,usedefault]{\ensuremath{%
- \Bigg.\Bigg\rvert_{#1}^{#2}}}
-\newcommand*{\evaluatedat}{\evaluatedfromto}
-\newcommandx{\integral}[4][1,2,usedefault]{\ensuremath{%
- \int_{\ifthenelse{\equal{#1}{}}{}{#4=#1}}^{\ifthenelse{%
- \equal{#2}{}}{}{#4=#2}}}{#3}\dx{#4}}
-\newcommand*{\opensurfaceintegral}[2]{\ensuremath{%
- \iint\nolimits_{#1}\vectdotvect{#2}{\dirvect{n}}\dx{A}}}
-\newcommand*{\closedsurfaceintegral}[2]{\ensuremath{%
- \varoiint\nolimits_{#1}\vectdotvect{#2}{\dirvect{n}}\dx{A}}}
-\newcommand*{\openlineintegral}[2]{\ensuremath{%
- \int\nolimits_{#1}\vectdotvect{#2}{\dirvect{t}}\dx{\ell}}}
-\newcommand*{\closedlineintegral}[2]{\ensuremath{%
- \oint\nolimits_{#1}\vectdotvect{#2}{\dirvect{t}}\dx{\ell}}}
-\newcommand*{\volumeintegral}[2]{\ensuremath{%
- \iiint\nolimits_{#1}{#2}\dx{V}}}
-\newcommandx{\dbydt}[1][1]{\ensuremath{%
- \frac{\mathrm{d}{#1}}{\mathrm{d}t}}}
-\newcommandx{\DbyDt}[1][1]{\ensuremath{%
- \frac{\Delta{#1}}{\Delta t}}}
-\newcommandx{\ddbydt}[1][1]{\ensuremath{%
- \frac{\mathrm{d}^{2}{#1}}{\mathrm{d}t^{2}}}}
-\newcommandx{\DDbyDt}[1][1]{\ensuremath{%
- \frac{\Delta^{2}{#1}}{\Delta t^{2}}}}
-\newcommandx{\pbypt}[1][1]{\ensuremath{%
- \frac{\partial{#1}}{\partial t}}}
-\newcommandx{\ppbypt}[1][1]{\ensuremath{%
- \frac{\partial^{2}{#1}}{\partial t^{2}}}}
-\newcommand*{\dbyd}[2]{\ensuremath{\frac{%
- \mathrm{d}{#1}}{\mathrm{d}{#2}}}}
-\newcommand*{\DbyD}[2]{\ensuremath{\frac{%
- \Delta{#1}}{\Delta{#2}}}}
-\newcommand*{\ddbyd}[2]{\ensuremath{%
- \frac{\mathrm{d}^{2}{#1}}{\mathrm{d}{#2}^{2}}}}
-\newcommand*{\DDbyD}[2]{\ensuremath{%
- \frac{\Delta^{2}{#1}}{\Delta{#2}^{2}}}}
-\newcommand*{\pbyp}[2]{\ensuremath{%
- \frac{\partial{#1}}{\partial{#2}}}}
-\newcommand*{\ppbyp}[2]{\ensuremath{%
- \frac{\partial^{2}{#1}}{\partial{#2}^{2}}}}
-\newcommandx{\seriesfofx}[1][1=x,usedefault]{\ensuremath{%
- f({#1}) \approx f(a) + \frac{f^\prime (a)}{1!}({#1}-a) +
- \frac{f^{\prime\prime}(a)}{2!}({#1}-a)^2 +
- \frac{f^{\prime\prime\prime}(a)}{3!}({#1}-a)^3 + \ldots}\xspace}
-\newcommandx{\seriesexpx}[1][1=x,usedefault]{\ensuremath{%
- e^{#1} \approx 1 + {#1} + \frac{{#1}^2}{2!} + \frac{{#1}^3}{3!} + \ldots}\xspace}
-\newcommandx{\seriessinx}[1][1=x,usedefault]{\ensuremath{%
- \sin {#1} \approx {#1} - \frac{{#1}^3}{3!} + \frac{{#1}^5}{5!} - \ldots}\xspace}
-\newcommandx{\seriescosx}[1][1=x,usedefault]{\ensuremath{%
- \cos {#1} \approx 1 - \frac{{#1}^2}{2!} + \frac{{#1}^4}{4!} - \ldots}\xspace}
-\newcommandx{\seriestanx}[1][1=x,usedefault]{\ensuremath{%
- \tan {#1} \approx {#1} + \frac{{#1}^3}{3} + \frac{2{#1}^5}{15} + \ldots}\xspace}
-\newcommandx{\seriesatox}[1][1=x,usedefault]{\ensuremath{%
- a^{#1} \approx 1 + {#1} \ln{a} + \frac{({#1} \ln a)^2}{2!} +
- \frac{({#1} \ln a)^3}{3!} + \ldots}\xspace}
-\newcommandx{\serieslnoneplusx}[1][1=x,usedefault]{\ensuremath{%
- \ln(1 \pm {#1}) \approx \pm\; {#1} - \frac{{#1}^2}{2} \pm \frac{{#1}^3}{3} - %
- \frac{{#1}^4}{4} \pm \ldots}\xspace}
-\newcommandx{\binomialseries}[1][1=x,usedefault]{\ensuremath{%
- (1 + {#1})^n \approx 1 + n{#1} + \frac{n(n-1)}{2!}{#1}^2 + \ldots}\xspace}
-\newcommand*{\gradient}{\ensuremath{\boldsymbol{\nabla}}}
-\newcommand*{\divergence}{\ensuremath{\boldsymbol{\nabla}\bullet}}
-\newcommand*{\curl}{\ensuremath{\boldsymbol{\nabla\times}}}
-\newcommand{\taigrad}{\ensuremath{\nabla}}%
-\newcommand{\taisvec}{\ensuremath{%
- \stackinset{c}{0.07ex}{c}{0.1ex}{\tiny$-$}{$\nabla$}}
-}%
-\newcommand{\taidivg}{\ensuremath{%
- \stackinset{c}{0.07ex}{c}{0.1ex}{$\cdot$}{$\nabla$}}
-}%
-\newcommand{\taicurl}{\ensuremath{%
- \stackinset{c}{0.04ex}{c}{0.32ex}{\tiny$\times$}{$\nabla$}}
-}%
-\newcommand*{\laplacian}{\ensuremath{\boldsymbol{\nabla}^2}}
-\newcommand*{\dalembertian}{\ensuremath{\boldsymbol{\Box}}}
-\newcommand*{\diracdelta}[1]{\ensuremath{\delta}(#1)}
-\newcommand*{\orderof}[1]{\ensuremath{\mathcal{O}(#1)}}
-\DeclareMathOperator{\asin}{\sin^{-1}}
-\DeclareMathOperator{\acos}{\cos^{-1}}
-\DeclareMathOperator{\atan}{\tan^{-1}}
-\DeclareMathOperator{\asec}{\sec^{-1}}
-\DeclareMathOperator{\acsc}{\csc^{-1}}
-\DeclareMathOperator{\acot}{\cot^{-1}}
-\DeclareMathOperator{\sech}{sech}
-\DeclareMathOperator{\csch}{csch}
-\DeclareMathOperator{\asinh}{\sinh^{-1}}
-\DeclareMathOperator{\acosh}{\cosh^{-1}}
-\DeclareMathOperator{\atanh}{\tanh^{-1}}
-\DeclareMathOperator{\asech}{\sech^{-1}}
-\DeclareMathOperator{\acsch}{\csch^{-1}}
-\DeclareMathOperator{\acoth}{\coth^{-1}}
-\DeclareMathOperator{\sgn}{sgn}
-\DeclareMathOperator{\dex}{dex}
-\newcommand*{\logb}[1][\relax]{\ensuremath{\log_{#1}}}
-\ifthenelse{\boolean{@optboldvectors}}
- {\newcommand*{\cB}{\ensuremath{\boldsymbol{c\mskip -3.00mu B}}}}
- {\ifthenelse{\boolean{@optromanvectors}}
- {\newcommand*{\cB}{\ensuremath{\textsf{c}\mskip -3.00mu\mathrm{B}}}}
- {\newcommand*{\cB}{\ensuremath{c\mskip -3.00mu B}}}}
-\newcommand*{\newpi}{\ensuremath{\pi\mskip -7.8mu\pi}}
-\newcommand*{\scripty}[1]{\ensuremath{\mathcalligra{#1}}}
-\newcommand*{\Lagr}{\ensuremath{\mathcal{L}}}
-\newcommandx{\flux}[1][1]{\ensuremath{\ssub{\Phi}{#1}}}
-\newcommandx{\circulation}[1][1]{\ensuremath{\ssub{\Gamma}{#1}}}
-\newcommand*{\absof}[1]{\ensuremath{%
- \left\lvert{\ifblank{#1}{\:\_\:}{#1}}\right\rvert}}
-\newcommand*{\inparens}[1]{\ensuremath{%
- \left({\ifblank{#1}{\:\_\:}{#1}}\right)}}
-\newcommand*{\magof}[1]{\ensuremath{%
- \left\lVert{\ifblank{#1}{\:\_\:}{#1}}\right\rVert}}
-\newcommand*{\dimsof}[1]{\ensuremath{%
- \left[{\ifblank{#1}{\:\_\:}{#1}}\right]}}
-\newcommand*{\unitsof}[1]{\ensuremath{%
- \left[{\ifblank{#1}{\:\_\:}{#1}}\right]_u}}
-\newcommand*{\changein}[1]{\ensuremath{\delta{#1}}}
-\newcommand*{\Changein}[1]{\ensuremath{\Delta{#1}}}
-\newcommandx{\timestento}[2][2=\!\!,usedefault]{\ensuremath{%
- \ifthenelse{\equal{#2}{}}
- {\unit{\;\times\;10^{#1}}{}}
- {\unit{\;\times\;10^{#1}}{#2}}}}
-\newcommand*{\xtento}{\timestento}
-\newcommandx{\tento}[2][2=\!\!,usedefault]{\ensuremath{%
- \ifthenelse{\equal{#2}{}}
- {\unit{10^{#1}}{}}
- {\unit{10^{#1}}{#2}}}}
-\newcommand*{\ee}[2]{\texttt{{#1}e{#2}}}
-\newcommand*{\EE}[2]{\texttt{{#1}E{#2}}}
-\newcommand*{\dms}[3]{\ensuremath{%
- \indegrees{#1}\inarcminutes{#2}\inarcseconds{#3}}}
-\newcommand*{\hms}[3]{\ensuremath{%
- {#1}^{\hour}{#2}^{\mathrm{m}}{#3}^{\s}}}
-\newcommand*{\clockreading}{\hms}
-\newcommand*{\latitude}[1]{\unit{#1}{\mkern-\thickmuskip\degree}}
-\newcommand*{\latitudeN}[1]{\unit{#1}{\mkern-\thickmuskip\degree\;\mathrm{N}}}
-\newcommand*{\latitudeS}[1]{\unit{#1}{\mkern-\thickmuskip\degree\;\mathrm{S}}}
-\newcommand*{\longitude}[1]{\unit{#1}{\mkern-\thickmuskip\degree}}
-\newcommand*{\longitudeE}[1]{\unit{#1}{\mkern-\thickmuskip\degree\;\mathrm{E}}}
-\newcommand*{\longitudeW}[1]{\unit{#1}{\mkern-\thickmuskip\degree\;\mathrm{W}}}
-\newcommand*{\ssub}[2]{\ensuremath{#1_{\text{#2}}}}
-\newcommand*{\ssup}[2]{\ensuremath{#1^{\text{#2}}}}
-\newcommand*{\ssud}[3]{\ensuremath{#1^{\text{#2}}_{\text{#3}}}}
-\newcommand*{\msub}[2]{\ensuremath{#1_{#2}}}
-\newcommand*{\msup}[2]{\ensuremath{#1^{#2}}}
-\newcommand*{\msud}[3]{\ensuremath{#1^{#2}_{#3}}}
-\newcommand*{\levicivita}[1]{\ensuremath{%
- \varepsilon_{\scriptscriptstyle{#1}}}}
-\newcommand*{\kronecker}[1]{\ensuremath{%
- \delta_{\scriptscriptstyle{#1}}}}
-\newcommand*{\xaxis}{\ensuremath{x\text{-axis}}\xspace}
-\newcommand*{\yaxis}{\ensuremath{y\text{-axis}}\xspace}
-\newcommand*{\zaxis}{\ensuremath{z\text{-axis}}\xspace}
-\newcommand*{\naxis}[1]{\ensuremath{{#1}\text{-axis}}\xspace}
-\newcommand*{\axis}{\ensuremath{\text{-axis}}\xspace}
-\newcommand*{\xyplane}{\ensuremath{xy\text{-plane}}\xspace}
-\newcommand*{\yzplane}{\ensuremath{yz\text{-plane}}\xspace}
-\newcommand*{\zxplane}{\ensuremath{zx\text{-plane}}\xspace}
-\newcommand*{\yxplane}{\ensuremath{yx\text{-plane}}\xspace}
-\newcommand*{\zyplane}{\ensuremath{zy\text{-plane}}\xspace}
-\newcommand*{\xzplane}{\ensuremath{xz\text{-plane}}\xspace}
-\newcommand*{\plane}{\ensuremath{\text{-plane}}\xspace}
-\newcommand*{\cuberoot}[1]{\ensuremath{\sqrt[3]{#1}}}
-\newcommand*{\fourthroot}[1]{\ensuremath{\sqrt[4]{#1}}}
-\newcommand*{\fifthroot}[1]{\ensuremath{\sqrt[5]{#1}}}
-\newcommand*{\fsqrt}[1]{\ensuremath{{#1}^\onehalf}}
-\newcommand*{\fcuberoot}[1]{\ensuremath{{#1}^\onethird}}
-\newcommand*{\ffourthroot}[1]{\ensuremath{{#1}^\onefourth}}
-\newcommand*{\ffifthroot}[1]{\ensuremath{{#1}^\onefifth}}
-\newcommand*{\relgamma}[1]{\ensuremath{%
- \frac{1}{\sqrt{1-\inparens{\frac{#1}{c}}\squared}}}}
-\newcommand*{\frelgamma}[1]{\ensuremath{%
- \inparens{1-\frac{{#1}\squared}{c\squared}}^{-\onehalf}}}
-\newcommand*{\oosqrtomxs}[1]{\ensuremath{\frac{1}{\sqrt{1-{#1}\squared}}}}
-\newcommand*{\oosqrtomx}[1]{\ensuremath{\frac{1}{\sqrt{1-{#1}}}}}
-\newcommand*{\ooomx}[1]{\ensuremath{\frac{1}{1-{#1}}}}
-\newcommand*{\ooopx}[1]{\ensuremath{\frac{1}{1+{#1}}}}
-\newcommand*{\isequals}{\wordoperator{?}{=}\xspace}
-\newcommand*{\wordoperator}[2]{\ensuremath{%
- \mathrel{\vcenter{\offinterlineskip
- \halign{\hfil\tiny\upshape##\hfil\cr\noalign{\vskip-.5ex}
- {#1}\cr\noalign{\vskip.5ex}{#2}\cr}}}}}
-\newcommand*{\definedas}{\wordoperator{defined}{as}\xspace}
-\newcommand*{\associated}{\wordoperator{associated}{with}\xspace}
-\newcommand*{\adjustedby}{\wordoperator{adjusted}{by}\xspace}
-\newcommand*{\earlierthan}{\wordoperator{earlier}{than}\xspace}
-\newcommand*{\laterthan}{\wordoperator{later}{than}\xspace}
-\newcommand*{\forevery}{\wordoperator{for}{every}\xspace}
-\newcommand*{\pwordoperator}[2]{\ensuremath{\left(%
- \mathrel{\vcenter{\offinterlineskip%
- \halign{\hfil\tiny\upshape##\hfil\cr\noalign{\vskip-.5ex}%
- {#1}\cr\noalign{\vskip.5ex}{#2}\cr}}}\right)}}%
-\newcommand*{\pdefinedas}{\pwordoperator{defined}{as}\xspace}
-\newcommand*{\passociated}{\pwordoperator{associated}{with}\xspace}
-\newcommand*{\padjustedby}{\pwordoperator{adjusted}{by}\xspace}
-\newcommand*{\pearlierthan}{\pwordoperator{earlier}{than}\xspace}
-\newcommand*{\platerthan}{\pwordoperator{later}{than}\xspace}
-\newcommand*{\pforevery}{\pwordoperator{for}{every}\xspace}
-\newcommand*{\defines}{\ensuremath{\stackrel{\text{\tiny{def}}}{=}}\xspace}
-\newcommand*{\inframe}[1][\relax]{\ensuremath{%
- \xrightarrow[\text\tiny{\mathcal #1}]{}}\xspace}
-\newcommand*{\associates}{\ensuremath{%
- \xrightarrow{\text{\tiny{assoc}}}}\xspace}
-\newcommand*{\becomes}{\ensuremath{%
- \xrightarrow{\text{\tiny{becomes}}}}\xspace}
-\newcommand*{\rrelatedto}[1]{\ensuremath{%
- \xLongrightarrow{\text{\tiny{#1}}}}}
-\newcommand*{\lrelatedto}[1]{\ensuremath{%
- \xLongleftarrow[\text{\tiny{#1}}]{}}}
-\newcommand*{\brelatedto}[2]{\ensuremath{%
- \xLongleftrightarrow[\text{\tiny{#1}}]{\text{\tiny{#2}}}}}
-\newcommand*{\genericinteractionplaces}[5]{\ensuremath{\inparens{#1}
- \frac{\inparens{#2}\inparens{#3}}{\inparens{#4}^2}{{\ifblank{#5}{%
- \mivector{\_ , \_ , \_}}{#5}}}}}
-\newcommand*{\genericfieldofparticleplaces}[4]{\ensuremath{\inparens{#1}
- \frac{\inparens{#2}}{\inparens{#3}^2}{{\ifblank{#4}{\mivector{\_ , \_ , \_}}{#4}}}}}
-\newcommand*{\genericpotentialenergyplaces}[4]{\ensuremath{%
- \inparens{#1}\frac{\inparens{#2}\inparens{#3}}{\inparens{#4}}}}
-\newcommand*{\genericelectricdipoleplaces}[5]{%
- \ensuremath{\inparens{#1}\frac{\inparens{#2}\inparens{#3}}{\inparens{#4}^3}%
- {{\ifblank{#5}{\mivector{\_ , \_ , \_}}{#5}}}}}
-\newcommand*{\genericelectricdipoleonaxisplaces}[5]{%
- \ensuremath{\inparens{#1}\frac{2\inparens{#2}\inparens{#3}}{\inparens{#4}^3}%
- {{\ifblank{#5}{\mivector{\_ , \_ , \_}}{#5}}}}}
-\newcommand*{\gfieldofparticle}{\ensuremath{\universalgravmathsymbol\frac{M}%
- {\magsquaredvect{r}}\inparens{-\dirvect{r}}}}
-\newcommand*{\gravitationalinteractionplaces}[4]{%
- \genericinteractionplaces{\universalgrav}{#1}{#2}{#3}{#4}}
-\newcommand*{\gfieldofparticleplaces}[3]{%
- \genericfieldofparticleplaces{\universalgrav}{#1}{#2}{#3}}
-\newcommand*{\electricinteractionplaces}[4]{%
- \genericinteractionplaces{\oofpez}{#1}{#2}{#3}{#4}}
-\newcommand*{\Efieldofparticleplaces}[3]{%
- \genericfieldofparticleplaces{\oofpez}{#1}{#2}{#3}}
-\newcommand*{\Bfieldofparticleplaces}[5]{\ensuremath{\inparens{\mzofp}%
- \frac{\inparens{#1}\inparens{#2}}{\inparens{#3}^2}{{\ifblank{#4}{%
- \mivector{\_ , \_ , \_}}{#4}}}\times{{\ifblank{#5}{\mivector{\_ , \_ , \_}}{#5}}}}}
-\newcommand*{\springinteractionplaces}[3]{\ensuremath{\inparens{#1}
- \inparens{#2}{{\ifblank{#3}{\mivector{\_ , \_ , \_}}{#3}}}}}
-\newcommand*{\gravitationalpotentialenergyplaces}[3]{\ensuremath{%
- -\genericpotentialenergyplaces{\universalgrav}{#1}{#2}{#3}}}
-\newcommand*{\electricpotentialenergyplaces}[3]{%
- \genericpotentialenergyplaces{\oofpez}{#1}{#2}{#3}}
-\newcommand*{\springpotentialenergyplaces}[2]{\ensuremath{%
- \onehalf\inparens{#1}\inparens{#2}^2}}
-\newcommand*{\electricdipoleonaxisplaces}[4]{%
- \genericelectricdipoleonaxisplaces{\oofpez}{\absof{#1}}{#2}{#3}{{\ifblank{#4}{%
- \mivector{\_ , \_ , \_}}{#4}}}}
-\newcommand*{\electricdipoleonbisectorplaces}[4]{%
- \genericelectricdipoleplaces{\oofpez}{\absof{#1}}{#2}{#3}{{\ifblank{#4}{%
- \mivector{\_ , \_ , \_}}{#4}}}}
-\newcommand{\define}[2]{\newcommand{#1}{#2}}
-\newcommand*{\momentumprinciple}{\ensuremath{%
- \vectsub{p}{sys,final}=\vectsub{p}{sys,initial}+\Fnetsys\Delta t}}
-\newcommand*{\LHSmomentumprinciple}{\ensuremath{\vectsub{p}{sys,final}}}
-\newcommand*{\RHSmomentumprinciple}{\ensuremath{%
- \vectsub{p}{sys,initial}+\Fnetsys\Delta t}}
-\newcommand*{\momentumprinciplediff}{\ensuremath{%
- \Dvectsub{p}{sys}=\Fnetsys\Delta t}}
-\newcommand*{\energyprinciple}{\ensuremath{%
- \ssub{E}{sys,final}=\ssub{E}{sys,initial}+W+Q}}
-\newcommand*{\LHSenergyprinciple}{\ensuremath{\ssub{E}{sys,final}}}
-\newcommand*{\RHSenergyprinciple}{\ensuremath{\ssub{E}{sys,initial}+W+Q}}
-\newcommand*{\energyprinciplediff}{\ensuremath{\Delta\ssub{E}{sys}=W+Q}}
-\newcommand*{\angularmomentumprinciple}{\ensuremath{%
- \vectsub{L}{\(A\),sys,final}=\vectsub{L}{\(A\),sys,initial}+\Tsub{net}\Delta t}}
-\newcommand*{\LHSangularmomentumprinciple}{\ensuremath{%
- \vectsub{L}{\(A\),sys,final}}}
-\newcommand*{\RHSangularmomentumprinciple}{\ensuremath{%
- \vectsub{L}{\(A\),sys,initial}+\Tsub{net}\Delta t}}
-\newcommand*{\angularmomentumprinciplediff}{\ensuremath{%
- \Dvectsub{L}{\(A\),sys}=\Tsub{net}\Delta t}}
-\newcommand*{\gravitationalinteraction}{\ensuremath{%
- \universalgravmathsymbol\frac{\msub{M}{1}\msub{M}{2}}{%
- \magvectsub{r}{12}\squared}(-\dirvectsub{r}{12})}}
-\newcommand*{\electricinteraction}{\ensuremath{%
- \oofpezmathsymbol\frac{\msub{Q}{1}\msub{Q}{2}}{\magvectsub{r}{12}\squared}
- \dirvectsub{r}{12}}}
-\newcommand*{\springinteraction}{\ensuremath{\ks\magvect{s}(-\dirvect{s})}}
-\newcommand*{\Bfieldofparticle}{\ensuremath{%
- \mzofpmathsymbol\frac{Q\magvect{v}}{\magsquaredvect{r}}\dirvect{v}\times
- \dirvect{r}}}
-\newcommand*{\Efieldofparticle}{\ensuremath{%
- \oofpezmathsymbol\frac{Q}{\magsquaredvect{r}}\dirvect{r}}}
-\newcommandx{\Esys}[1][1]{\ifthenelse{%
- \equal{#1}{}}{\ssub{E}{sys}}{\ssub{E}{sys,#1}}}
-\newcommandx{\Us}[1][1]{\ifthenelse{%
- \equal{#1}{}}{\ssub{U}{\(s\)}}{\ssub{U}{\(s\),#1}}}
-\newcommandx{\Ug}[1][1]{\ifthenelse{%
- \equal{#1}{}}{\ssub{U}{\(g\)}}{\ssub{U}{\(g\),#1}}}
-\newcommandx{\Ue}[1][1]{\ifthenelse{%
- \equal{#1}{}}{\ssub{U}{\(e\)}}{\ssub{U}{\(e\),#1}}}
-\newcommandx{\Ktrans}[1][1]{\ifthenelse{\equal{#1}{}}{\ssub{K}{trans}}
- {\ssub{K}{trans,#1}}}
-\newcommandx{\Krot}[1][1]{\ifthenelse{%
- \equal{#1}{}}{\ssub{K}{rot}}{\ssub{K}{rot,#1}}}
-\newcommandx{\Kvib}[1][1]{\ifthenelse{%
- \equal{#1}{}}{\ssub{K}{vib}}{\ssub{K}{vib,#1}}}
-\newcommandx{\Eparticle}[1][1]{\ifthenelse{\equal{#1}{}}{\ssub{E}{particle}}
- {\ssub{E}{particle,#1}}}
-\newcommandx{\Einternal}[1][1]{\ifthenelse{\equal{#1}{}}{\ssub{E}{internal}}
- {\ssub{E}{internal,#1}}}
-\newcommandx{\Erest}[1][1]{\ifthenelse{\equal{#1}{}}{\ssub{E}{rest}}{\ssub{E}
- {rest,#1}}}
-\newcommandx{\Echem}[1][1]{\ifthenelse{\equal{#1}{}}{\ssub{E}{chem}}{\ssub{E}
- {chem,#1}}}
-\newcommandx{\Etherm}[1][1]{\ifthenelse{\equal{#1}{}}{\ssub{E}{therm}}
- {\ssub{E}{therm,#1}}}
-\newcommandx{\Evib}[1][1]{\ifthenelse{%
- \equal{#1}{}}{\ssub{E}{vib}}{\ssub{E}{vib,#1}}}
-\newcommandx{\Ephoton}[1][1]{\ifthenelse{\equal{#1}{}}{\ssub{E}{photon}}
- {\ssub{E}{photon,#1}}}
-\newcommand*{\DEsys}{\Changein\Esys}
-\newcommand*{\DUs}{\Changein\Us}
-\newcommand*{\DUg}{\Changein\Ug}
-\newcommand*{\DUe}{\Changein\Ue}
-\newcommand*{\DKtrans}{\Changein\Ktrans}
-\newcommand*{\DKrot}{\Changein\Krot}
-\newcommand*{\DKvib}{\Changein\Kvib}
-\newcommand*{\DEparticle}{\Changein\Eparticle}
-\newcommand*{\DEinternal}{\Changein\Einternal}
-\newcommand*{\DErest}{\Changein\Erest}
-\newcommand*{\DEchem}{\Changein\Echem}
-\newcommand*{\DEtherm}{\Changein\Etherm}
-\newcommand*{\DEvib}{\Changein\Evib}
-\newcommand*{\DEphoton}{\Changein\Ephoton}
-\newcommand*{\springpotentialenergy}{\onehalf\ks\magsquaredvect{s}}
-\newcommand*{\finalspringpotentialenergy}
- {\ssub{\left(\springpotentialenergy\right)}{\!\!final}}
-\newcommand*{\initialspringpotentialenergy}
- {\ssub{\left(\springpotentialenergy\right)}{\!\!initial}}
-\newcommand*{\gravitationalpotentialenergy}{\ensuremath{%
- -G\frac{\msub{M}{1}\msub{M}{2}}{\magvectsub{r}{12}}}}
-\newcommand*{\finalgravitationalpotentialenergy}
- {\ssub{\left(\gravitationalpotentialenergy\right)}{\!\!final}}
-\newcommand*{\initialgravitationalpotentialenergy}
- {\ssub{\left(\gravitationalpotentialenergy\right)}{\!\!initial}}
-\newcommand*{\electricpotentialenergy}{\ensuremath{%
- \oofpezmathsymbol\frac{\ssub{Q}{1}\ssub{Q}{2}}{\magvectsub{r}{12}}}}
-\newcommand*{\finalelectricpotentialenergy}
- {\ssub{\left(\electricpotentialenergy\right)}{\!\!final}}
-\newcommand*{\initialelectricpotentialenergy}
- {\ssub{\left(\electricpotentialenergy\right)}{\!\!initial}}
-\newcommand*{\ks}{\msub{k}{s}}
-\newcommand*{\Fnet}{\ensuremath{\vectsub{F}{net}}}
-\newcommand*{\Fnetext}{\ensuremath{\vectsub{F}{net,ext}}}
-\newcommand*{\Fnetsys}{\ensuremath{\vectsub{F}{net,sys}}}
-\newcommand*{\Fsub}[1]{\ensuremath{\vectsub{F}{#1}}}
-\newcommand*{\Ltotal}{\ensuremath{\vectsub{L}{\(A\),total}}}
-\newcommand*{\Lsys}{\ensuremath{\vectsub{L}{\(A\),sys}}}
-\newcommand*{\Lsub}[1]{\ensuremath{\vectsub{L}{\(A\),{#1}}}}
-\newcommand*{\Tnet}{\ensuremath{\vectsub{\tau}{\(A\),net}}}
-\newcommand*{\Tnetext}{\ensuremath{\vectsub{\tau}{\(A\),net,ext}}}
-\newcommand*{\Tnetsys}{\ensuremath{\vectsub{\tau}{\(A\),net,sys}}}
-\newcommand*{\Tsub}[1]{\ensuremath{\vectsub{\tau}{\(A\),#1}}}
-\newcommand*{\LHSmaxwelliint}[1][\partial V]{\ensuremath{%
- \closedsurfaceintegral{#1}{\vect{E}}}}
-\newcommand*{\RHSmaxwelliint}{\ensuremath{\frac{\ssub{Q}{\(e\),net}}%
- {\vacuumpermittivitymathsymbol}}}
-\newcommand*{\RHSmaxwelliinta}[1][V]{\ensuremath{%
- \frac{1}{\vacuumpermittivitymathsymbol}\volumeintegral{#1}{\msub{\rho}{e}}}}
-\newcommand*{\RHSmaxwelliintfree}{\ensuremath{0}}
-\newcommand*{\maxwelliint}[1][\partial V]{\ensuremath{%
- \LHSmaxwelliint[#1]=\RHSmaxwelliint}}
-\newcommandx*{\maxwelliinta}[2][1={\partial V},2={V},usedefault]{\ensuremath{%
- \LHSmaxwelliint[#1]=\RHSmaxwelliinta[#2]}}
-\newcommand*{\maxwelliintfree}[1][\partial V]{\ensuremath{%
- \LHSmaxwelliint[#1]=\RHSmaxwelliintfree}}
-\newcommand*{\LHSmaxwelliiint}[1][\partial V]{\ensuremath{%
- \closedsurfaceintegral{#1}{\vect{B}}}}
-\newcommand*{\RHSmaxwelliiint}{\ensuremath{0}}
-\newcommand*{\RHSmaxwelliiintm}{\ensuremath{%
- \vacuumpermeabilitymathsymbol\ssub{Q}{\(m\),net}}}
-\newcommand*{\RHSmaxwelliiintma}[1][V]{\ensuremath{%
- \vacuumpermeabilitymathsymbol\volumeintegral{#1}{\msub{\rho}{m}}}}
-\newcommand*{\RHSmaxwelliiintfree}{\ensuremath{0}}
-\newcommand*{\maxwelliiint}[1][\partial V]{\ensuremath{%
- \LHSmaxwelliiint[#1]=\RHSmaxwelliiint}}
-\newcommand*{\maxwelliiintm}[1][\partial V]{\ensuremath{%
- \LHSmaxwelliiint[#1]=\RHSmaxwelliiintm}}
-\newcommandx*{\maxwelliiintma}[2][1={\partial V},2={V},usedefault]{\ensuremath{%
- \LHSmaxwelliiint[#1]=\RHSmaxwelliiintma[#2]}}
-\newcommand*{\maxwelliiintfree}[1][\partial V]{\ensuremath{%
- \LHSmaxwelliiint[#1]=\RHSmaxwelliiintfree}}
-\newcommand*{\LHSmaxwelliiiint}[1][\partial\Omega]{\ensuremath{%
- \closedlineintegral{#1}{\vect{E}}}}
-\newcommand*{\RHSmaxwelliiiint}[1][\Omega]{\ensuremath{%
- -\dbydt\opensurfaceintegral{#1}{\vect{B}}}}
-\newcommand*{\RHSmaxwelliiiintm}[1][\Omega]{\ensuremath{%
- -\dbydt\opensurfaceintegral{#1}{\vect{B}}%
- -\vacuumpermeabilitymathsymbol\ssub{I}{\(m\),net}}}
-\newcommand*{\RHSmaxwelliiiintma}[1][\Omega]{\ensuremath{%
- -\dbydt\opensurfaceintegral{#1}{\vect{B}}%
- -\vacuumpermeabilitymathsymbol\opensurfaceintegral{#1}{\vectsub{J}{\(m\)}}}}
-\newcommand*{\RHSmaxwelliiiintfree}{\RHSmaxwelliiiint}
-\newcommandx*{\maxwelliiiint}[2][1={\partial\Omega},2={\Omega},usedefault]%
- {\ensuremath{\LHSmaxwelliiiint[#1]=\RHSmaxwelliiiint[#2]}}
-\newcommandx*{\maxwelliiiintm}[2][1={\partial\Omega},2={\Omega},usedefault]%
- {\ensuremath{\LHSmaxwelliiiint[#1]=\RHSmaxwelliiiintm[#2]}}
-\newcommandx*{\maxwelliiiintma}[2][1={\partial\Omega},2={\Omega},usedefault]%
- {\ensuremath{\LHSmaxwelliiiint[#1]=\RHSmaxwelliiiintma[#2]}}
-\newcommand*{\maxwelliiiintfree}{\maxwelliiiint}
-\newcommand*{\LHSmaxwellivint}[1][\partial\Omega]{\ensuremath{%
- \closedlineintegral{#1}{\vect{B}}}}
-\newcommand*{\RHSmaxwellivint}[1][\Omega]{\ensuremath{%
- \vacuumpermeabilitymathsymbol\vacuumpermittivitymathsymbol%
- \dbydt\opensurfaceintegral{#1}{\vect{E}}+%
- \vacuumpermeabilitymathsymbol\ssub{I}{\(e\),net}}}
-\newcommand*{\RHSmaxwellivinta}[1][\Omega]{\ensuremath{%
- \vacuumpermeabilitymathsymbol\vacuumpermittivitymathsymbol%
- \dbydt\opensurfaceintegral{#1}{\vect{E}}+%
- \vacuumpermeabilitymathsymbol\opensurfaceintegral{#1}{\vectsub{J}{\(e\)}}}}
-\newcommand*{\RHSmaxwellivintfree}[1][\Omega]{\ensuremath{%
- \vacuumpermeabilitymathsymbol\vacuumpermittivitymathsymbol%
- \dbydt\opensurfaceintegral{#1}{\vect{E}}}}
-\newcommandx*{\maxwellivint}[2][1={\partial\Omega},2={\Omega},usedefault]%
- {\ensuremath{\LHSmaxwellivint[#1]=\RHSmaxwellivint[#2]}}
-\newcommandx*{\maxwellivinta}[2][1={\partial\Omega},2={\Omega},usedefault]%
- {\ensuremath{\LHSmaxwellivint[#1]=\RHSmaxwellivinta[#2]}}
-\newcommandx*{\maxwellivintfree}[2][1={\partial\Omega},2={\Omega},usedefault]%
- {\ensuremath{\LHSmaxwellivint[#1]=\RHSmaxwellivintfree[#2]}}
-\newcommand*{\LHSmaxwellidif}{\ensuremath{\divergence{\vect{E}}}}
-\newcommand*{\RHSmaxwellidif}{\ensuremath{\frac{\msub{\rho}{e}}
- {\vacuumpermittivitymathsymbol}}}
-\newcommand*{\RHSmaxwellidiffree}{\ensuremath{0}}
-\newcommand*{\maxwellidif}{\ensuremath{\LHSmaxwellidif=\RHSmaxwellidif}}
-\newcommand*{\maxwellidiffree}{\ensuremath{\LHSmaxwellidif=\RHSmaxwellidiffree}}
-\newcommand*{\LHSmaxwelliidif}{\ensuremath{\divergence{\vect{B}}}}
-\newcommand*{\RHSmaxwelliidif}{\ensuremath{0}}
-\newcommand*{\RHSmaxwelliidifm}{\ensuremath{\vacuumpermeabilitymathsymbol%
- \msub{\rho}{m}}}
-\newcommand*{\RHSmaxwelliidiffree}{\ensuremath{0}}
-\newcommand*{\maxwelliidif}{\ensuremath{\LHSmaxwelliidif=\RHSmaxwelliidif}}
-\newcommand*{\maxwelliidifm}{\ensuremath{\LHSmaxwelliidif=\RHSmaxwelliidifm}}
-\newcommand*{\maxwelliidiffree}{\ensuremath{\LHSmaxwelliidif=\RHSmaxwelliidiffree}}
-\newcommand*{\LHSmaxwelliiidif}{\ensuremath{\curl{\vect{E}}}}
-\newcommand*{\RHSmaxwelliiidif}{\ensuremath{-\pbypt[\vect{B}]}}
-\newcommand*{\RHSmaxwelliiidifm}{\ensuremath{-\pbypt[\vect{B}]-%
- \vacuumpermeabilitymathsymbol\vectsub{J}{\(m\)}}}
-\newcommand*{\RHSmaxwelliiidiffree}{\RHSmaxwelliiidif}
-\newcommand*{\maxwelliiidif}{\ensuremath{\LHSmaxwelliiidif=\RHSmaxwelliiidif}}
-\newcommand*{\maxwelliiidifm}{\ensuremath{\LHSmaxwelliiidif=\RHSmaxwelliiidifm}}
-\newcommand*{\maxwelliiidiffree}{\ensuremath{\LHSmaxwelliiidif=\RHSmaxwelliiidif}}
-\newcommand*{\LHSmaxwellivdif}{\ensuremath{\curl{\vect{B}}}}
-\newcommand*{\RHSmaxwellivdif}{\ensuremath{\vacuumpermeabilitymathsymbol%
- \vacuumpermittivitymathsymbol\pbypt[\vect{E}]+%
- \vacuumpermeabilitymathsymbol\vectsub{J}{\(e\)}}}
-\newcommand*{\RHSmaxwellivdiffree}{\ensuremath{\vacuumpermeabilitymathsymbol
- \vacuumpermittivitymathsymbol\pbypt[\vect{E}]}}
-\newcommand*{\maxwellivdif}{\ensuremath{\LHSmaxwellivdif=\RHSmaxwellivdif}}
-\newcommand*{\maxwellivdiffree}{\ensuremath{\LHSmaxwellivdif=\RHSmaxwellivdiffree}}
-\newcommand*{\RHSlorentzforce}{\ensuremath{\msub{q}{e}\left(\vect{E}+%
- \vectcrossvect{\vect{v}}{\vect{B}}\right)}}
-\newcommand*{\RHSlorentzforcem}{\ensuremath{\RHSlorentzforce+\msub{q}{m}\left(%
- \vect{B}-\vectcrossvect{\vect{v}}{\frac{\vect{E}}{c^2}}\right)}}
-\newcommandx{\eulerlagrange}[1][1={q_i},usedefault]{\ensuremath{%
- \pbyp{\mathcal{L}}{#1}-\dbydt\inparens{\pbyp{\mathcal{L}}{\dot{#1}}} = 0}}
-\newcommandx{\Eulerlagrange}[1][1={q_i},usedefault]{\ensuremath{%
- \DbyD{\mathcal{L}}{#1}-\DbyDt\inparens{\DbyD{\mathcal{L}}{\dot{#1}}} = 0}}
-\newcommand*{\vpythonline}{\lstinline[style=vpython]}
-\newcommand*{\glowscriptline}{\lstinline[style=vpython]}
-\lstnewenvironment{vpythonblock}[2]{%
- \lstset{style=vpython,caption={#1},label={#2}}}{}
-\lstnewenvironment{glowscriptblock}[2]{%
- \lstset{style=vpython,caption={#1},label={#2}}}{}
-\newcommand*{\vpythonfile}[3]{%
- \newpage\lstinputlisting[style=vpython,caption={#1},label={#2}]{#3}}
-\newcommand*{\glowscriptfile}[3]{%
- \newpage\lstinputlisting[style=vpython,caption={#1},label={#2}]{#3}}
-\newcommandx{\emptyanswer}[2][1=0.80,2=0.1,usedefault]
- {\begin{minipage}{#1\textwidth}\hfill\vspace{#2\textheight}\end{minipage}}
-\newenvironmentx{activityanswer}[5][1=white,2=black,3=black,4=0.90,%
- 5=0.10,usedefault]{%
- \def\skipper{#5}%
- \def\response@fbox{\fcolorbox{#2}{#1}}%
- \begin{center}%
- \begin{lrbox}{\@tempboxa}%
- \begin{minipage}[c][#5\textheight][c]{#4\textwidth}\color{#3}%
- \vspace{#5\textheight}}{%
- \vspace{\skipper\textheight}%
- \end{minipage}%
- \end{lrbox}%
- \response@fbox{\usebox{\@tempboxa}}%
- \end{center}%
-}%
-\newenvironmentx{adjactivityanswer}[5][1=white,2=black,3=black,4=0.90,5=0.00,%
- usedefault]{%
- \def\skipper{#5}%
- \def\response@fbox{\fcolorbox{#2}{#1}}%
- \begin{center}%
- \begin{lrbox}{\@tempboxa}%
- \begin{minipage}[c]{#4\textwidth}\color{#3}%
- \vspace{#5\textheight}}{%
- \vspace{\skipper\textheight}%
- \end{minipage}%
- \end{lrbox}%
- \response@fbox{\usebox{\@tempboxa}}%
- \end{center}%
-}%
-\newcommandx{\emptybox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,%
- 6=0.10,usedefault]%
- {\begin{center}%
- \fcolorbox{#3}{#2}{%
- \begin{minipage}[c][#6\textheight][c]{#5\textwidth}\color{#4}%
- {#1}%
- \end{minipage}}%
- \vspace{\baselineskip}%
- \end{center}%
-}%
-\newcommandx{\adjemptybox}[7][1=\hfill,2=white,3=black,4=black,5=0.90,6=,%
- 7=0.0,usedefault]
- {\begin{center}%
- \fcolorbox{#3}{#2}{%
- \begin{minipage}[c]{#5\textwidth}\color{#4}%
- \vspace{#7\textheight}%
- {#1}%
- \vspace{#7\textheight}%
- \end{minipage}}%
- \vspace{\baselineskip}%
- \end{center}%
-}%
-\newcommandx{\answerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,%
- 6=0.1,usedefault]%
- {\ifthenelse{\equal{#1}{}}%
- {\begin{center}%
- \fcolorbox{#3}{#2}{%
- \emptyanswer[#5][#6]}%
- \vspace{\baselineskip}%
- \end{center}}%
- {\emptybox[#1][#2][#3][#4][#5][#6]}%
-}%
-\newcommandx{\adjanswerbox}[7][1=\hfill,2=white,3=black,4=black,5=0.90,%
- 6=0.1,7=0.0,usedefault]%
- {\ifthenelse{\equal{#1}{}}%
- {\begin{center}%
- \fcolorbox{#3}{#2}{%
- \emptyanswer[#5][#6]}%
- \vspace{\baselineskip}%
- \end{center}}%
- {\adjemptybox[#1][#2][#3][#4][#5][#6][#7]}%
-}%
-\newcommandx{\smallanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,%
- 6=0.10,usedefault]%
- {\ifthenelse{\equal{#1}{}}%
- {\begin{center}%
- \fcolorbox{#3}{#2}{%
- \emptyanswer[#5][#6]}%
- \vspace{\baselineskip}%
- \end{center}}%
- {\emptybox[#1][#2][#3][#4][#5][#6]}%
-}%
-\newcommandx{\smallanswerform}[4][1=q1,2=Response,3=0.10,4=0.90,usedefault]{%
- \vspace{\baselineskip}%
- \begin{Form}
- \begin{center}%
- \TextField[value={#2},%
- name=#1,%
- width=#4\linewidth,%
- height=#3\textheight,%
- backgroundcolor=formcolor,%
- multiline=true,%
- charsize=10pt,%
- bordercolor=black]{}%
- \end{center}%
- \end{Form}%
- \vspace{\baselineskip}%
-}%
-\newcommandx{\mediumanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,%
- 6=0.20,usedefault]{%
- \ifthenelse{\equal{#1}{}}%
- {\begin{center}%
- \fcolorbox{#3}{#2}{%
- \emptyanswer[#5][#6]}%
- \vspace{\baselineskip}%
- \end{center}}%
- {\emptybox[#1][#2][#3][#4][#5][#6]}%
-}%
-\newcommandx{\mediumanswerform}[4][1=q1,2=Response,3=0.20,4=0.90,usedefault]{%
- \vspace{\baselineskip}%
- \begin{Form}
- \begin{center}%
- \TextField[value={#2},%
- name=#1,%
- width=#4\linewidth,%
- height=#3\textheight,%
- backgroundcolor=formcolor,%
- multiline=true,%
- charsize=10pt,%
- bordercolor=black]{}%
- \end{center}%
- \end{Form}%
- \vspace{\baselineskip}%
-}%
-\newcommandx{\largeanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,%
- 6=0.25,usedefault]{%
- \ifthenelse{\equal{#1}{}}%
- {\begin{center}%
- \fcolorbox{#3}{#2}{%
- \emptyanswer[#5][#6]}%
- \vspace{\baselineskip}%
- \end{center}}%
- {\emptybox[#1][#2][#3][#4][#5][#6]}%
-}%
-\newcommandx{\largeanswerform}[4][1=q1,2=Response,3=0.25,4=0.90,usedefault]{%
- \vspace{\baselineskip}%
- \begin{Form}
- \begin{center}%
- \TextField[value={#2},%
- name=#1,%
- width=#4\linewidth,%
- height=#3\textheight,%
- backgroundcolor=formcolor,%
- multiline=true,%
- charsize=10pt,%
- bordercolor=black]{}%
- \end{center}%
- \end{Form}%
- \vspace{\baselineskip}%
-}%
-\newcommandx{\largeranswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,%
- 6=0.33,usedefault]{%
- \ifthenelse{\equal{#1}{}}%
- {\begin{center}%
- \fcolorbox{#3}{#2}{%
- \emptyanswer[#5][#6]}%
- \vspace{\baselineskip}%
- \end{center}}%
- {\emptybox[#1][#2][#3][#4][#5][#6]}%
-}%
-\newcommandx{\largeranswerform}[4][1=q1,2=Response,3=0.33,4=0.90,%
- usedefault]{%
- \vspace{\baselineskip}%
- \begin{Form}
- \begin{center}%
- \TextField[value={#2},%
- name=#1,%
- width=#4\linewidth,%
- height=#3\textheight,%
- backgroundcolor=formcolor,%
- multiline=true,%
- charsize=10pt,%
- bordercolor=black]{}%
- \end{center}%
- \end{Form}%
- \vspace{\baselineskip}%
-}%
-\newcommandx{\hugeanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,%
- 6=0.50,usedefault]{%
- \ifthenelse{\equal{#1}{}}
- {\begin{center}%
- \fcolorbox{#3}{#2}{%
- \emptyanswer[#5][#6]}%
- \vspace{\baselineskip}%
- \end{center}}%
- {\emptybox[#1][#2][#3][#4][#5][#6]}%
-}%
-\newcommandx{\hugeanswerform}[4][1=q1,2=Response,3=0.50,4=0.90,usedefault]{%
- \vspace{\baselineskip}%
- \begin{Form}
- \begin{center}%
- \TextField[value={#2},%
- name=#1,%
- width=#4\linewidth,%
- height=#3\textheight,%
- backgroundcolor=formcolor,%
- multiline=true,%
- charsize=10pt,%
- bordercolor=black]{}%
- \end{center}%
- \end{Form}%
- \vspace{\baselineskip}%
-}%
-\newcommandx{\hugeranswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,%
- 6=0.75,usedefault]{%
- \ifthenelse{\equal{#1}{}}%
- {\begin{center}%
- \fcolorbox{#3}{#2}{%
- \emptyanswer[#5][#6]}%
- \vspace{\baselineskip}%
- \end{center}}%
- {\emptybox[#1][#2][#3][#4][#5][#6]}%
-}%
-\newcommandx{\hugeranswerform}[4][1=q1,2=Response,3=0.75,4=0.90,usedefault]{%
- \vspace{\baselineskip}%
- \begin{Form}
- \begin{center}%
- \TextField[value={#2},%
- name=#1,%
- width=#4\linewidth,%
- height=#3\textheight,%
- backgroundcolor=formcolor,%
- multiline=true,%
- charsize=10pt,%
- bordercolor=black]{}%
- \end{center}%
- \end{Form}%
- \vspace{\baselineskip}%
-}%
-\newcommandx{\fullpageanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,%
- 6=1.00,usedefault]{%
- \ifthenelse{\equal{#1}{}}%
- {\begin{center}%
- \fcolorbox{#3}{#2}{%
- \emptyanswer[#5][#6]}%
- \vspace{\baselineskip}%
- \end{center}}%
- {\emptybox[#1][#2][#3][#4][#5][#6]}%
-}%
-\newcommandx{\fullpageanswerform}[4][1=q1,2=Response,3=1.00,4=0.90,usedefault]{%
- \vspace{\baselineskip}%
- \begin{Form}
- \begin{center}%
- \TextField[value={#2},%
- name=#1,%
- width=#4\linewidth,%
- height=#3\textheight,%
- backgroundcolor=formcolor,%
- multiline=true,%
- charsize=10pt,%
- bordercolor=black]{}%
- \end{center}%
- \end{Form}%
- \vspace{\baselineskip}%
-}%
-\mdfdefinestyle{miinstructornotestyle}{%
- hidealllines=false,skipbelow=\baselineskip,skipabove=\baselineskip,
- leftmargin=40pt,rightmargin=40pt,linewidth=1,roundcorner=10,
- nobreak=true,
- frametitle={INSTRUCTOR NOTE},
- frametitlebackgroundcolor=cyan!60,frametitlerule=true,frametitlerulewidth=1,
- backgroundcolor=cyan!25,
- linecolor=black,fontcolor=black,shadow=true}
-\NewEnviron{miinstructornote}{%
- \begin{mdframed}[style=miinstructornotestyle]
- \begin{adjactivityanswer}[cyan!25][cyan!25][black]
- \BODY
- \end{adjactivityanswer}
- \end{mdframed}
-}%
-\mdfdefinestyle{mistudentnotestyle}{%
- hidealllines=false,skipbelow=\baselineskip,skipabove=\baselineskip,
- leftmargin=40pt,rightmargin=40pt,linewidth=1,roundcorner=10,
- nobreak=true,
- frametitle={STUDENT NOTE},
- frametitlebackgroundcolor=cyan!60,frametitlerule=true,frametitlerulewidth=1,
- backgroundcolor=cyan!25,
- linecolor=black,fontcolor=black,shadow=true}
-\NewEnviron{mistudentnote}{%
- \begin{mdframed}[style=mistudentnotestyle]
- \begin{adjactivityanswer}[cyan!25][cyan!25][black]
- \BODY
- \end{adjactivityanswer}
- \end{mdframed}
-}%
-\mdfdefinestyle{miderivationstyle}{%
- hidealllines=false,skipbelow=\baselineskip,skipabove=\baselineskip,
- leftmargin=0pt,rightmargin=0pt,linewidth=1,roundcorner=10,
- nobreak=true,
- frametitle={DERIVATION},
- frametitlebackgroundcolor=orange!60,frametitlerule=true,frametitlerulewidth=1,
- backgroundcolor=orange!25,
- linecolor=black,fontcolor=black,shadow=true}
-\NewEnviron{miderivation}{%
- \begin{mdframed}[style=miderivationstyle]
- \setcounter{equation}{0}
- \begin{align}
- \BODY
- \end{align}
- \end{mdframed}
-}%
-\NewEnviron{miderivation*}{%
- \begin{mdframed}[style=miderivationstyle]
- \setcounter{equation}{0}
- \begin{align*}
- \BODY
- \end{align*}
- \end{mdframed}
-}%
-\mdfdefinestyle{mistandardstyle}{%
- hidealllines=false,skipbelow=\baselineskip,skipabove=\baselineskip,
- leftmargin=40pt,rightmargin=40pt,linewidth=1,roundcorner=10,
- nobreak=true,
- frametitle={STANDARD},
- frametitlebackgroundcolor=cyan!60,frametitlerule=true,frametitlerulewidth=1,
- backgroundcolor=cyan!25,
- linecolor=black,fontcolor=black,shadow=true}
-\NewEnviron{mistandard}{%
- \begin{mdframed}[style=mistandardstyle]
- \begin{adjactivityanswer}[cyan!25][cyan!25][black]
- \BODY
- \end{adjactivityanswer}
- \end{mdframed}
-}%
-\mdfdefinestyle{bwinstructornotestyle}{%
- hidealllines=false,skipbelow=\baselineskip,skipabove=\baselineskip,
- leftmargin=40pt,rightmargin=40pt,linewidth=1,roundcorner=10,
- nobreak=true,
- frametitle={INSTRUCTOR NOTE},
- frametitlebackgroundcolor=gray!50,frametitlerule=true,frametitlerulewidth=1,
- backgroundcolor=gray!20,
- linecolor=black,fontcolor=black,shadow=true}
-\NewEnviron{bwinstructornote}{%
- \begin{mdframed}[style=bwinstructornotestyle]
- \begin{adjactivityanswer}[gray!20][gray!20][black]
- \BODY
- \end{adjactivityanswer}
- \end{mdframed}
-}%
-\mdfdefinestyle{bwstudentnotestyle}{%
- hidealllines=false,skipbelow=\baselineskip,skipabove=\baselineskip,
- leftmargin=40pt,rightmargin=40pt,linewidth=1,roundcorner=10,
- nobreak=true,
- frametitle={STUDENT NOTE},
- frametitlebackgroundcolor=gray!50,frametitlerule=true,frametitlerulewidth=1,
- backgroundcolor=gray!20,
- linecolor=black,fontcolor=black,shadow=true}
-\NewEnviron{bwstudentnote}{%
- \begin{mdframed}[style=bwstudentnotestyle]
- \begin{adjactivityanswer}[gray!20][gray!20][black]
- \BODY
- \end{adjactivityanswer}
- \end{mdframed}
-}%
-\mdfdefinestyle{bwderivationstyle}{%
- hidealllines=false,skipbelow=\baselineskip,skipabove=\baselineskip,
- leftmargin=0pt,rightmargin=0pt,linewidth=1,roundcorner=10,
- nobreak=true,
- frametitle={DERIVATION},
- frametitlebackgroundcolor=gray!50,frametitlerule=true,frametitlerulewidth=1,
- backgroundcolor=gray!20,
- linecolor=black,fontcolor=black,shadow=true}
-\NewEnviron{bwderivation}{%
- \begin{mdframed}[style=bwderivationstyle]
- \setcounter{equation}{0}
- \begin{align}
- \BODY
- \end{align}
- \end{mdframed}
-}%
-\NewEnviron{bwderivation*}{%
- \begin{mdframed}[style=bwderivationstyle]
- \setcounter{equation}{0}
- \begin{align*}
- \BODY
- \end{align*}
- \end{mdframed}
-}%
-\mdfdefinestyle{bwstandardstyle}{%
- hidealllines=false,skipbelow=\baselineskip,skipabove=\baselineskip,
- leftmargin=40pt,rightmargin=40pt,linewidth=1,roundcorner=10,
- nobreak=true,
- frametitle={STANDARD},
- frametitlebackgroundcolor=gray!50,frametitlerule=true,frametitlerulewidth=1,
- backgroundcolor=gray!20,
- linecolor=black,fontcolor=black,shadow=true}
-\NewEnviron{bwstandard}{%
- \begin{mdframed}[style=bwstandardstyle]
- \begin{adjactivityanswer}[gray!20][gray!20][black]
- \BODY
- \end{adjactivityanswer}
- \end{mdframed}
-}%
-\NewEnviron{mysolution}{%
- \setcounter{equation}{0}
- \begin{align}
- \BODY
- \end{align}
-}%
-\NewEnviron{mysolution*}{%
- \setcounter{equation}{0}
- \begin{align*}
- \BODY
- \end{align*}
-}%
-\newenvironment{problem}[1]{%
- \newpage%
- \section*{#1}%
- \newlist{parts}{enumerate}{2}%
- \setlist[parts]{label=(\alph*)}}{\newpage}
-\newcommand{\problempart}{\item}%
-\newcommand{\reason}[1]{\begin{minipage}{5cm}{#1}\end{minipage}}
-\newcommand*{\checkpoint}{%
- \vspace{1cm}\begin{center}%
- \colorbox{yellow!80}{|--------- CHECKPOINT ---------|}%
- \end{center}}%
-\newcommandx*{\image}[4][1={scale=1},usedefault]{%
- \begin{figure}[H]
- \begin{center}%
- \includegraphics[#1]{#2}%
- \end{center}%
- \caption{#3}%
- \label{#4}%
- \end{figure}}
-\newcommand*{\sneakyone}[1]{\ensuremath{\cancelto{1}{#1}}}
-\newcommand*{\parallelto}{\ensuremath{{{\mkern3mu\vphantom{\perp}\vrule depth 0pt
- \mkern2mu\vrule depth 0pt\mkern3mu}}}}
-\newcommand*{\perpendicularto}{\ensuremath{\perp}}
-\newcommand*{\qed}{\ensuremath{\text{ Q.E.D.}}}
-\newcommand*{\chkquantity}[1]{%
- \begin{center}
- \begin{tabular}{C{4.5cm} C{4cm} C{4cm} C{4cm}}
- name & baseunit & drvdunit & altnunit \tabularnewline
- \cs{#1} & \csname #1onlybaseunit\endcsname & \csname #1onlydrvdunit\endcsname &
- \csname #1onlyaltnunit\endcsname
- \end{tabular}
- \end{center}
-}%
-\newcommand*{\chkconstant}[1]{%
- \begin{center}
- \begin{tabular}{C{4cm} C{4cm} C{4cm}}
- name & symbol & value \tabularnewline
- \cs{#1} & \csname #1mathsymbol\endcsname & \csname #1value\endcsname
- \tabularnewline
- baseunit & drvdunit & altnunit \tabularnewline
- \csname #1onlybaseunit\endcsname & \csname #1onlydrvdunit\endcsname &
- \csname #1onlyaltnunit\endcsname
- \end{tabular}
- \end{center}
-}%
\endinput
%%
%% End of file `mandi.sty'.
diff --git a/Master/texmf-dist/tex/latex/mandi/mandiexp.sty b/Master/texmf-dist/tex/latex/mandi/mandiexp.sty
new file mode 100644
index 00000000000..27cba04645f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mandi/mandiexp.sty
@@ -0,0 +1,201 @@
+%%
+%% This is file `mandiexp.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mandiexp.dtx (with options: `package')
+%%
+%% Copyright (C) 2021 by Paul J. Heafner <heafnerj@gmail.com>
+%% ---------------------------------------------------------------------------
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, either version 1.3 of this license or (at
+%% your option) any later version. The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX version
+%% 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Paul J. Heafner.
+%%
+%% This work consists of the files mandi.dtx
+%% mandistudent.dtx
+%% mandiexp.dtx
+%% mandi.ins
+%% mandi.pdf
+%% README.md
+%%
+%% and includes the derived files mandi.sty
+%% mandistudent.sty
+%% mandiexp.sty
+%% vdemo.py
+%% ---------------------------------------------------------------------------
+%%
+\def\mandiexp@version{\mandi@version}
+\def\mandiexp@date{\mandi@date}
+\NeedsTeXFormat{LaTeX2e}[2020-02-02]
+\DeclareRelease{v3.0.0}{2021-08-21}{mandiexp.sty}
+\DeclareCurrentRelease{v\mandi@version}{\mandi@date}
+\ProvidesPackage{mandiexp}
+ [\mandiexp@date\space v\mandiexp@version\space Macros for Matter & Interactions]
+\newcommand*{\mandiexpversion}{v\mandiexp@version\space dated \mandiexp@date}
+\RequirePackage{mandi}
+\typeout{}%
+\typeout{mandiexp: You are using mandiexp \mandiexpversion.}
+\typeout{mandiexp: This package requires LuaLaTeX.}%
+\typeout{}%
+\NewDocumentCommand{\lhsmomentumprinciple}{ s }{%
+ \Delta
+ \IfBooleanTF{#1}%
+ {\vec*{p}}%
+ {\vec{p}}%
+ _{\symup{sys}}%
+}%
+\NewDocumentCommand{\rhsmomentumprinciple}{ s }{%
+ \IfBooleanTF{#1}%
+ {\vec*{F}}%
+ {\vec{F}}%
+ _{\symup{sys,net}}\,\Delta t%
+}%
+\NewDocumentCommand{\lhsmomentumprincipleupdate}{ s }{%
+ \IfBooleanTF{#1}%
+ {\vec*{p}}%
+ {\vec{p}}%
+ _{\symup{sys,final}}%
+}%
+\NewDocumentCommand{\rhsmomentumprincipleupdate}{ s }{%
+ \IfBooleanTF{#1}%
+ {\vec*{p}}%
+ {\vec{p}}%
+ _{\symup{sys,initial}}+%
+ \IfBooleanTF{#1}%
+ {\vec*{F}}%
+ {\vec{F}}%
+ _{\symup{sys,net}}\,\Delta t%
+}%
+\NewDocumentCommand{\momentumprinciple}{ s }{%
+ \IfBooleanTF{#1}%
+ {\lhsmomentumprinciple* = \rhsmomentumprinciple*}%
+ {\lhsmomentumprinciple = \rhsmomentumprinciple}%
+}%
+\NewDocumentCommand{\momentumprincipleupdate}{ s }{%
+ \IfBooleanTF{#1}%
+ {\lhsmomentumprincipleupdate* = \rhsmomentumprincipleupdate*}%
+ {\lhsmomentumprincipleupdate = \rhsmomentumprincipleupdate}%
+}%
+\NewDocumentCommand{\lhsenergyprinciple}{}{%
+ \Delta E_{\symup{sys}}%
+}%
+\NewDocumentCommand{\rhsenergyprinciple}{ O{} }{%
+ W_{\symup{ext}}#1%
+}%
+\NewDocumentCommand{\lhsenergyprincipleupdate}{}{%
+ E_{\symup{sys,final}}%
+}%
+\NewDocumentCommand{\rhsenergyprincipleupdate}{ O{} }{%
+ E_{\symup{sys,initial}}+%
+ W_{\symup{ext}}#1%
+}%
+\NewDocumentCommand{\energyprinciple}{ O{} }{%
+ \lhsenergyprinciple = \rhsenergyprinciple[#1]%
+}%
+\NewDocumentCommand{\energyprincipleupdate}{ O{} }{%
+ \lhsenergyprincipleupdate = \rhsenergyprincipleupdate[#1]%
+}%
+\NewDocumentCommand{\lhsangularmomentumprinciple}{ s }{%
+ \Delta
+ \IfBooleanTF{#1}%
+ {\vec*{L}}%
+ {\vec{L}}%
+ _{A\symup{,sys,net}}%
+}%
+\NewDocumentCommand{\rhsangularmomentumprinciple}{ s }{%
+ \IfBooleanTF{#1}%
+ {\vec*{\tau}}%
+ {\vec{\tau}}%
+ _{A\symup{,sys,net}}\,\Delta t%
+}%
+\NewDocumentCommand{\lhsangularmomentumprincipleupdate}{ s }{%
+ \IfBooleanTF{#1}%
+ {\vec*{L}}%
+ {\vec{L}}%
+ _{A,\symup{sys,final}}%
+}%
+\NewDocumentCommand{\rhsangularmomentumprincipleupdate}{ s }{%
+ \IfBooleanTF{#1}%
+ {\vec*{L}}%
+ {\vec{L}}%
+ _{A\symup{,sys,initial}}+%
+ \IfBooleanTF{#1}%
+ {\vec*{\tau}}%
+ {\vec{\tau}}%
+ _{A\symup{,sys,net}}\,\Delta t%
+}%
+\NewDocumentCommand{\angularmomentumprinciple}{ s }{%
+ \IfBooleanTF{#1}%
+ {\lhsangularmomentumprinciple* = \rhsangularmomentumprinciple*}%
+ {\lhsangularmomentumprinciple = \rhsangularmomentumprinciple}%
+}%
+\NewDocumentCommand{\angularmomentumprincipleupdate}{ s }{%
+ \IfBooleanTF{#1}%
+ {\lhsangularmomentumprincipleupdate* = \rhsangularmomentumprincipleupdate*}%
+ {\lhsangularmomentumprincipleupdate = \rhsangularmomentumprincipleupdate}%
+}%
+\NewDocumentCommand{\energyof}{ m o }{%
+ E_{#1\IfValueT{#2}{,#2}}%
+}%
+\NewDocumentCommand{\systemenergy}{ o }{%
+ E_{\symup{sys}\IfValueT{#1}{,#1}}%
+}%
+\NewDocumentCommand{\particleenergy}{ o }{%
+ E_{\symup{particle}\IfValueT{#1}{,#1}}%
+}%
+\NewDocumentCommand{\restenergy}{ o }{%
+ E_{\symup{rest}\IfValueT{#1}{,#1}}%
+}%
+\NewDocumentCommand{\internalenergy}{ o }{%
+ E_{\symup{internal}\IfValueT{#1}{,#1}}%
+}%
+\NewDocumentCommand{\chemicalenergy}{ o }{%
+ E_{\symup{chem}\IfValueT{#1}{,#1}}%
+}%
+\NewDocumentCommand{\thermalenergy}{ o }{%
+ E_{\symup{therm}\IfValueT{#1}{,#1}}%
+}%
+\NewDocumentCommand{\photonenergy}{ o }{%
+ E_{\symup{photon}\IfValueT{#1}{,#1}}%
+}%
+\NewDocumentCommand{\translationalkineticenergy}{ s d[] }{%
+ \IfBooleanTF{#1}%
+ {E_\bgroup \symup{K}}%
+ {K_\bgroup\symup{trans}}%
+ \IfValueT{#2}{,#2}%
+ \egroup%
+}%
+\NewDocumentCommand{\rotationalkineticenergy}{ s d[] }{%
+ \IfBooleanTF{#1}%
+ {E_\bgroup}%
+ {K_\bgroup}%
+ \symup{rot}\IfValueT{#2}{,#2}%
+ \egroup%
+}%
+\NewDocumentCommand{\vibrationalkineticenergy}{ s d[] }{%
+ \IfBooleanTF{#1}%
+ {E_\bgroup}%
+ {K_\bgroup}%
+ \symup{vib}\IfValueT{#2}{,#2}%
+ \egroup%
+}%
+\NewDocumentCommand{\gravitationalpotentialenergy}{ o }{%
+ U_{\symup{g}\IfValueT{#1}{,#1}}%
+}%
+\NewDocumentCommand{\electricpotentialenergy}{ o }{%
+ U_{\symup{e}\IfValueT{#1}{,#1}}%
+}%
+\NewDocumentCommand{\springpotentialenergy}{ o }{%
+ U_{\symup{s}\IfValueT{#1}{,#1}}%
+}%
+\endinput
+%%
+%% End of file `mandiexp.sty'.
diff --git a/Master/texmf-dist/tex/latex/mandi/mandistudent.sty b/Master/texmf-dist/tex/latex/mandi/mandistudent.sty
new file mode 100644
index 00000000000..1d683424cdd
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mandi/mandistudent.sty
@@ -0,0 +1,473 @@
+%%
+%% This is file `mandistudent.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mandistudent.dtx (with options: `package')
+%%
+%% Copyright (C) 2021 by Paul J. Heafner <heafnerj@gmail.com>
+%% ---------------------------------------------------------------------------
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, either version 1.3 of this license or (at
+%% your option) any later version. The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX version
+%% 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Paul J. Heafner.
+%%
+%% This work consists of the files mandi.dtx
+%% mandistudent.dtx
+%% mandiexp.dtx
+%% mandi.ins
+%% mandi.pdf
+%% README.md
+%%
+%% and includes the derived files mandi.sty
+%% mandistudent.sty
+%% mandiexp.sty
+%% vdemo.py
+%% ---------------------------------------------------------------------------
+%%
+\def\mandistudent@version{\mandi@version}
+\def\mandistudent@date{\mandi@date}
+\NeedsTeXFormat{LaTeX2e}[2020-02-02]
+\DeclareRelease{v3.0.0}{2021-08-21}{mandistudent.sty}
+\DeclareCurrentRelease{v\mandi@version}{\mandi@date}
+\ProvidesPackage{mandistudent}
+ [\mandistudent@date\space v\mandistudent@version\space Macros for introductory physics]
+\newcommand*{\mandistudentversion}{v\mandistudent@version\space dated \mandistudent@date}
+\RequirePackage{amsmath} % AMS goodness (don't load amssymb or amsfonts)
+\RequirePackage[inline]{enumitem} % needed for physicsproblem environment
+\RequirePackage{eso-pic} % needed for \hilite
+\RequirePackage[g]{esvect} % needed for nice vector arrow, style g
+\RequirePackage{pgfopts} % needed for key-value interface
+\RequirePackage{iftex} % needed for requiring LuaLaTeX
+\RequirePackage{makebox} % needed for consistent \dirvect; \makebox
+\RequirePackage{mandi}
+\RequirePackage{mathtools} % needed for paired delimiters; extends amsmath
+\RequirePackage{nicematrix} % needed for column and row vectors
+\RequirePackage[most]{tcolorbox} % needed for program listings
+\RequirePackage{tensor} % needed for index notation
+\RequirePackage{tikz} % needed for \hilite
+\usetikzlibrary{shapes,fit,tikzmark} % needed for \hilite
+\RequirePackage{unicode-math} % needed for Unicode support
+\RequirePackage{hyperref} % load last
+\RequireLuaTeX % require this engine
+\unimathsetup{math-style=ISO}
+\unimathsetup{warnings-off={mathtools-colon,mathtools-overbracket}}
+\setmathfont[Scale=MatchLowercase]
+ {Latin Modern Math} % default math font; better J
+\setmathfont[Scale=MatchLowercase,range={sfit/{latin},bfsfit/{latin}}]
+ {TeX Gyre DejaVu Math} % single-storey lowercase g
+\setmathfont[Scale=MatchLowercase,range={sfup/{latin},bfsfup/{latin}}]
+ {TeX Gyre DejaVu Math} % single-storey lowercase g
+\setmathfont[Scale=MatchLowercase,range={\mathscr,\mathbfscr}]{XITS Math}
+\setmathfont[Scale=MatchLowercase,range={\mathcal,\mathbfcal},StylisticSet=1]{XITS Math}
+\setmathfont[Scale=MatchLowercase,range={"E17C-"E1F6}]{STIX Two Math}
+\newfontfamily{\symsfgreek}{STIX Two Math}
+\newcommand{\symsfupalpha} {\text{\symsfgreek{^^^^e196}}}
+\newcommand{\symsfupbeta} {\text{\symsfgreek{^^^^e197}}}
+\newcommand{\symsfupgamma} {\text{\symsfgreek{^^^^e198}}}
+\newcommand{\symsfupdelta} {\text{\symsfgreek{^^^^e199}}}
+\newcommand{\symsfupepsilon} {\text{\symsfgreek{^^^^e1af}}}
+\newcommand{\symsfupvarepsilon} {\text{\symsfgreek{^^^^e19a}}}
+\newcommand{\symsfupzeta} {\text{\symsfgreek{^^^^e19b}}}
+\newcommand{\symsfupeta} {\text{\symsfgreek{^^^^e19c}}}
+\newcommand{\symsfuptheta} {\text{\symsfgreek{^^^^e19d}}}
+\newcommand{\symsfupvartheta} {\text{\symsfgreek{^^^^e1b0}}}
+\newcommand{\symsfupiota} {\text{\symsfgreek{^^^^e19e}}}
+\newcommand{\symsfupkappa} {\text{\symsfgreek{^^^^e19f}}}
+\newcommand{\symsfuplambda} {\text{\symsfgreek{^^^^e1a0}}}
+\newcommand{\symsfupmu} {\text{\symsfgreek{^^^^e1a1}}}
+\newcommand{\symsfupnu} {\text{\symsfgreek{^^^^e1a2}}}
+\newcommand{\symsfupxi} {\text{\symsfgreek{^^^^e1a3}}}
+\newcommand{\symsfupomicron} {\text{\symsfgreek{^^^^e1a4}}}
+\newcommand{\symsfuppi} {\text{\symsfgreek{^^^^e1a5}}}
+\newcommand{\symsfupvarpi} {\text{\symsfgreek{^^^^e1b3}}}
+\newcommand{\symsfuprho} {\text{\symsfgreek{^^^^e1a6}}}
+\newcommand{\symsfupvarrho} {\text{\symsfgreek{^^^^e1b2}}}
+\newcommand{\symsfupsigma} {\text{\symsfgreek{^^^^e1a8}}}
+\newcommand{\symsfupvarsigma} {\text{\symsfgreek{^^^^e1a7}}}
+\newcommand{\symsfuptau} {\text{\symsfgreek{^^^^e1a9}}}
+\newcommand{\symsfupupsilon} {\text{\symsfgreek{^^^^e1aa}}}
+\newcommand{\symsfupphi} {\text{\symsfgreek{^^^^e1b1}}}
+\newcommand{\symsfupvarphi} {\text{\symsfgreek{^^^^e1ab}}}
+\newcommand{\symsfupchi} {\text{\symsfgreek{^^^^e1ac}}}
+\newcommand{\symsfuppsi} {\text{\symsfgreek{^^^^e1ad}}}
+\newcommand{\symsfupomega} {\text{\symsfgreek{^^^^e1ae}}}
+\newcommand{\symsfupDelta} {\text{\symsfgreek{^^^^e180}}}
+\newcommand{\symsfupGamma} {\text{\symsfgreek{^^^^e17f}}}
+\newcommand{\symsfupTheta} {\text{\symsfgreek{^^^^e18e}}}
+\newcommand{\symsfupLambda} {\text{\symsfgreek{^^^^e187}}}
+\newcommand{\symsfupXi} {\text{\symsfgreek{^^^^e18a}}}
+\newcommand{\symsfupPi} {\text{\symsfgreek{^^^^e18c}}}
+\newcommand{\symsfupSigma} {\text{\symsfgreek{^^^^e18f}}}
+\newcommand{\symsfupUpsilon} {\text{\symsfgreek{^^^^e191}}}
+\newcommand{\symsfupPhi} {\text{\symsfgreek{^^^^e192}}}
+\newcommand{\symsfupPsi} {\text{\symsfgreek{^^^^e194}}}
+\newcommand{\symsfupOmega} {\text{\symsfgreek{^^^^e195}}}
+\newcommand{\symsfitalpha} {\text{\symsfgreek{^^^^e1d8}}}
+\newcommand{\symsfitbeta} {\text{\symsfgreek{^^^^e1d9}}}
+\newcommand{\symsfitgamma} {\text{\symsfgreek{^^^^e1da}}}
+\newcommand{\symsfitdelta} {\text{\symsfgreek{^^^^e1db}}}
+\newcommand{\symsfitepsilon} {\text{\symsfgreek{^^^^e1f1}}}
+\newcommand{\symsfitvarepsilon} {\text{\symsfgreek{^^^^e1dc}}}
+\newcommand{\symsfitzeta} {\text{\symsfgreek{^^^^e1dd}}}
+\newcommand{\symsfiteta} {\text{\symsfgreek{^^^^e1de}}}
+\newcommand{\symsfittheta} {\text{\symsfgreek{^^^^e1df}}}
+\newcommand{\symsfitvartheta} {\text{\symsfgreek{^^^^e1f2}}}
+\newcommand{\symsfitiota} {\text{\symsfgreek{^^^^e1e0}}}
+\newcommand{\symsfitkappa} {\text{\symsfgreek{^^^^e1e1}}}
+\newcommand{\symsfitlambda} {\text{\symsfgreek{^^^^e1e2}}}
+\newcommand{\symsfitmu} {\text{\symsfgreek{^^^^e1e3}}}
+\newcommand{\symsfitnu} {\text{\symsfgreek{^^^^e1e4}}}
+\newcommand{\symsfitxi} {\text{\symsfgreek{^^^^e1e5}}}
+\newcommand{\symsfitomicron} {\text{\symsfgreek{^^^^e1e6}}}
+\newcommand{\symsfitpi} {\text{\symsfgreek{^^^^e1e7}}}
+\newcommand{\symsfitvarpi} {\text{\symsfgreek{^^^^e1f5}}}
+\newcommand{\symsfitrho} {\text{\symsfgreek{^^^^e1e8}}}
+\newcommand{\symsfitvarrho} {\text{\symsfgreek{^^^^e1f4}}}
+\newcommand{\symsfitsigma} {\text{\symsfgreek{^^^^e1ea}}}
+\newcommand{\symsfitvarsigma} {\text{\symsfgreek{^^^^e1e9}}}
+\newcommand{\symsfittau} {\text{\symsfgreek{^^^^e1eb}}}
+\newcommand{\symsfitupsilon} {\text{\symsfgreek{^^^^e1ec}}}
+\newcommand{\symsfitphi} {\text{\symsfgreek{^^^^e1f3}}}
+\newcommand{\symsfitvarphi} {\text{\symsfgreek{^^^^e1ed}}}
+\newcommand{\symsfitchi} {\text{\symsfgreek{^^^^e1ee}}}
+\newcommand{\symsfitpsi} {\text{\symsfgreek{^^^^e1ef}}}
+\newcommand{\symsfitomega} {\text{\symsfgreek{^^^^e1f0}}}
+\newcommand{\symsfitDelta} {\text{\symsfgreek{^^^^e1c2}}}
+\newcommand{\symsfitGamma} {\text{\symsfgreek{^^^^e1c1}}}
+\newcommand{\symsfitTheta} {\text{\symsfgreek{^^^^e1d0}}}
+\newcommand{\symsfitLambda} {\text{\symsfgreek{^^^^e1c9}}}
+\newcommand{\symsfitXi} {\text{\symsfgreek{^^^^e1cc}}}
+\newcommand{\symsfitPi} {\text{\symsfgreek{^^^^e1ce}}}
+\newcommand{\symsfitSigma} {\text{\symsfgreek{^^^^e1d1}}}
+\newcommand{\symsfitUpsilon} {\text{\symsfgreek{^^^^e1d3}}}
+\newcommand{\symsfitPhi} {\text{\symsfgreek{^^^^e1d4}}}
+\newcommand{\symsfitPsi} {\text{\symsfgreek{^^^^e1d6}}}
+\newcommand{\symsfitOmega} {\text{\symsfgreek{^^^^e1d7}}}
+\DeclareFontFamily{U}{esvect}{}
+\DeclareFontShape{U}{esvect}{m}{n}{%
+ <-5.5> vect5
+ <5.5-6.5> vect6
+ <6.5-7.5> vect7
+ <7.5-8.5> vect8
+ <8.5-9.5> vect9
+ <9.5-> vect10
+}{}%
+\typeout{}%
+\typeout{mandistudent: You are using mandistudent \mandistudentversion.}%
+\typeout{mandistudent: This package requires LuaLaTeX.}%
+\typeout{mandistudent: This package changes the default math font(s).}%
+\typeout{mandistudent: This package redefines the \protect\vec\space command.}%
+\typeout{}%
+\RenewDocumentCommand{\vec}{ s m e{_^} }{%
+ % Note the \, used to make superscript look better.
+ \IfBooleanTF {#1}
+ {\vv{#2}% % * gives an arrow
+ % Use \sp{} primitive for superscript.
+ % Adjust superscript for the arrow.
+ \sp{\IfValueT{#4}{\,#4}\vphantom{\smash[t]{\big|}}}
+ }%
+ {\symbfit{#2} % no * gives us bold
+ % Use \sp{} primitive for superscript.
+ % No superscript adjustment needed.
+ \sp{\IfValueT{#4}{#4}\vphantom{\smash[t]{\big|}}}
+ }%
+ % Use \sb{} primitive for subscript.
+ \sb{\IfValueT{#3}{#3}\vphantom{\smash[b]{|}}}
+}%
+\NewDocumentCommand{\dirvec}{ s m e{_^} }{%
+ \widehat{\makebox*{\(w\)}{\ensuremath{%
+ \IfBooleanTF {#1}
+ {%
+ #2
+ }%
+ {%
+ \symbfit{#2}
+ }%
+ }%
+ }%
+ }%
+ \sb{\IfValueT{#3}{#3}\vphantom{\smash[b]{|}}}
+ \sp{\IfValueT{#4}{\,#4}\vphantom{\smash[t]{\big|}}}
+}%
+\NewDocumentCommand{\zerovec}{ s }{%
+ \IfBooleanTF {#1}
+ {\vv{0}}%
+ {\symbfup{0}}%
+}%
+\ExplSyntaxOn
+\NewDocumentCommand{\colvec}{ O{,} m }{%
+ \vector_main:nnnn { p } { \\ } { #1 } { #2 }
+}%
+\NewDocumentCommand{\rowvec}{ O{,} m }{%
+ \vector_main:nnnn { p } { & } { #1 } { #2 }
+}%
+\seq_new:N \l__vector_arg_seq
+\cs_new_protected:Npn \vector_main:nnnn #1 #2 #3 #4 {%
+ \seq_set_split:Nnn \l__vector_arg_seq { #3 } { #4 }
+ \begin{#1NiceMatrix}[r]
+ \seq_use:Nnnn \l__vector_arg_seq { #2 } { #2 } { #2 }
+ \end{#1NiceMatrix}
+}%
+\ExplSyntaxOff
+\NewDocumentCommand{\changein}{}{\Delta}
+\DeclarePairedDelimiterX{\doublebars}[1]{\lVert}{\rVert}{\ifblank{#1}{\:\cdot\:}{#1}}
+\DeclarePairedDelimiterX{\singlebars}[1]{\lvert}{\rvert}{\ifblank{#1}{\:\cdot\:}{#1}}
+\DeclarePairedDelimiterX{\anglebrackets}[1]{\langle}{\rangle}{\ifblank{#1}{\:\cdot\:}{#1}}
+\DeclarePairedDelimiterX{\parentheses}[1]{(}{)}{\ifblank{#1}{\:\cdot\:}{#1}}
+\DeclarePairedDelimiterX{\squarebrackets}[1]{\lbrack}{\rbrack}{\ifblank{#1}{\:\cdot\:}{#1}}
+\DeclarePairedDelimiterX{\curlybraces}[1]{\lbrace}{\rbrace}{\ifblank{#1}{\:\cdot\:}{#1}}
+\NewDocumentCommand{\magnitude}{}{\doublebars}
+\NewDocumentCommand{\norm}{}{\doublebars}
+\NewDocumentCommand{\absolutevalue}{}{\singlebars}
+\NewDocumentCommand{\parallelto}{}
+ {\mkern3mu\vphantom{\perp}\vrule depth 0pt\mkern2mu\vrule depth 0pt\mkern3mu}
+\NewDocumentCommand{\perpendicularto}{}{\perp}
+\NewDocumentEnvironment{physicsproblem}{ m }{%
+ \newpage%
+ \section*{#1}%
+ \newlist{parts}{enumerate}{2}%
+ \setlist[parts]{label=\bfseries(\alph*)}}%
+ {}%
+\NewDocumentEnvironment{physicsproblem*}{ m }{%
+ \newpage%
+ \section*{#1}%
+ \newlist{parts}{enumerate*}{2}%
+ \setlist[parts]{label=\bfseries(\alph*)}}%
+ {}%
+\NewDocumentCommand{\problempart}{}{\item}%
+\NewDocumentEnvironment{physicssolution}{ +b }{%
+ % Make equation numbering consecutive through the document.
+ \begin{align}
+ #1
+ \end{align}
+}{}%
+\NewDocumentEnvironment{physicssolution*}{ +b }{%
+ % Make equation numbering consecutive through the document.
+ \begin{align*}
+ #1
+ \end{align*}
+}{}%
+\NewDocumentCommand{\reason}{ O{4cm} m }
+ {&&\begin{minipage}{#1}\raggedright\small #2\end{minipage}}
+\newcounter{tikzhighlightnode}
+\NewDocumentCommand{\hilite}{ O{magenta!60} m O{rectangle} }{%
+ \stepcounter{tikzhighlightnode}%
+ \tikzmarknode{highlighted-node-\number\value{tikzhighlightnode}}{#2}%
+ \edef\temp{%
+ \noexpand\AddToShipoutPictureBG{%
+ \noexpand\begin{tikzpicture}[overlay,remember picture]%
+ \noexpand\iftikzmarkoncurrentpage{highlighted-node-\number\value{tikzhighlightnode}}%
+ \noexpand\node[inner sep=1.0pt,fill=#1,#3,fit=(highlighted-node-\number\value{tikzhighlightnode})]{};%
+ \noexpand\fi
+ \noexpand\end{tikzpicture}%
+ }%
+ }%
+ \temp%
+}%
+\NewDocumentCommand{\image}{ O{scale=1} m m m }{%
+ \begin{figure}[ht!]
+ \begin{center}%
+ \includegraphics[#1]{#2}%
+ \end{center}%
+ \caption{#3}%
+ \label{#4}%
+ \end{figure}%
+}%
+\NewDocumentCommand{\veccomp}{ s m }{%
+ % Consider renaming this to \vectorsym.
+ \IfBooleanTF{#1}
+ {%
+ \symnormal{#2}%
+ }%
+ {%
+ \symbfit{#2}%
+ }%
+}%
+\NewDocumentCommand{\tencomp}{ s m }{%
+ % Consider renaming this to \tensororsym.
+ \IfBooleanTF{#1}
+ {%
+ \symsfit{#2}%
+ }%
+ {%
+ \symbfsfit{#2}
+ }%
+}%
+\NewDocumentCommand{\valence}{ s m m }{%
+ \IfBooleanTF{#1}
+ {(#2,#3)}
+ {\binom{#2}{#3}}
+}%
+\NewDocumentCommand{\contraction}{ s m }{%
+ \IfBooleanTF{#1}
+ {\mathsf{C}}%
+ {\symbb{C}}%
+ _{#2}
+}%
+\NewDocumentCommand{\slot}{ s d[] }{%
+ % d[] must be used because of the way consecutive optional
+ % arguments are handled. See xparse docs for details.
+ \IfBooleanTF{#1}
+ {%
+ \IfValueTF{#2}
+ {% Insert a vector, but don't show the slot.
+ \smash{\makebox[1.5em]{\ensuremath{#2}}}
+ }%
+ {% No vector, no slot.
+ \smash{\makebox[1.5em]{\ensuremath{}}}
+ }%
+ }%
+ {%
+ \IfValueTF{#2}
+ {% Insert a vector and show the slot.
+ \underline{\smash{\makebox[1.5em]{\ensuremath{#2}}}}
+ }%
+ {% No vector; just show the slot.
+ \underline{\smash{\makebox[1.5em]{\ensuremath{}}}}
+ }%
+ }%
+}%
+\NewDocumentCommand{\diff}{ s }{%
+ \mathop{}\!
+ \IfBooleanTF{#1}
+ {\symbfsfup{d}}%
+ {\symsfup{d}}%
+}%
+\directlua{%
+ luaotfload.add_colorscheme("colordigits",
+ {["8000FF"] = {"one","two","three","four","five","six","seven","eight","nine","zero"}})
+}%
+\newfontfamily\colordigits{DejaVuSansMono}[RawFeature={color=colordigits}]
+\newfontfamily{\gsfontfamily}{DejaVuSansMono} % new font for listings
+\definecolor{gsbggray} {rgb}{0.90,0.90,0.90} % background gray
+\definecolor{gsgray} {rgb}{0.30,0.30,0.30} % gray
+\definecolor{gsgreen} {rgb}{0.00,0.60,0.00} % green
+\definecolor{gsorange} {rgb}{0.80,0.45,0.12} % orange
+\definecolor{gspeach} {rgb}{1.00,0.90,0.71} % peach
+\definecolor{gspearl} {rgb}{0.94,0.92,0.84} % pearl
+\definecolor{gsplum} {rgb}{0.74,0.46,0.70} % plum
+\lstdefinestyle{vpython}{% % style for listings
+ backgroundcolor=\color{gsbggray},% % background color
+ basicstyle=\colordigits\footnotesize,% % default style
+ breakatwhitespace=true% % break at whitespace
+ breaklines=true,% % break long lines
+ captionpos=b,% % position caption
+ classoffset=1,% % STILL DON'T UNDERSTAND THIS
+ commentstyle=\color{gsgray},% % font for comments
+ deletekeywords={print},% % delete keywords from the given language
+ emph={self,cls,@classmethod,@property},% % words to emphasize
+ emphstyle=\color{gsorange}\itshape,% % font for emphasis
+ escapeinside={(*@}{@*)},% % add LaTeX within your code
+ frame=tb,% % frame style
+ framerule=2.0pt,% % frame thickness
+ framexleftmargin=5pt,% % extra frame left margin
+ %identifierstyle=\sffamily,% % style for identifiers
+ keywordstyle=\gsfontfamily\color{gsplum},% % color for keywords
+ language=Python,% % select language
+ linewidth=\linewidth,% % width of listings
+ morekeywords={% % VPython/GlowScript specific keywords
+ __future__,abs,acos,align,ambient,angle,append,append_to_caption,%
+ append_to_title,arange,arrow,asin,astuple,atan,atan2,attach_arrow,%
+ attach_trail,autoscale,axis,background,billboard,bind,black,blue,border,%
+ bounding_box,box,bumpaxis,bumpmap,bumpmaps,camera,canvas,caption,capture,%
+ ceil,center,clear,clear_trail,click,clone,CoffeeScript,coils,color,combin,%
+ comp,compound,cone,convex,cos,cross,curve,cyan,cylinder,data,degrees,del,%
+ delete,depth,descender,diff_angle,digits,division,dot,draw_complete,%
+ ellipsoid,emissive,end_face_color,equals,explog,extrusion,faces,factorial,%
+ False,floor,follow,font,format,forward,fov,frame,gcurve,gdisplay,gdots,%
+ get_library,get_selected,ghbars,global,GlowScript,graph,graphs,green,gvbars,%
+ hat,headlength,headwidth,height,helix,hsv_to_rgb,index,interval,keydown,%
+ keyup,label,length,lights,line,linecolor,linewidth,logx,logy,lower_left,%
+ lower_right,mag,mag2,magenta,make_trail,marker_color,markers,material,%
+ max,min,mouse,mousedown,mousemove,mouseup,newball,norm,normal,objects,%
+ offset,one,opacity,orange,origin,path,pause,pi,pixel_to_world,pixels,plot,%
+ points,pos,pow,pps,print,print_function,print_options,proj,purple,pyramid,%
+ quad,radians,radius,random,rate,ray,read_local_file,readonly,red,redraw,%
+ retain,rgb_to_hsv,ring,rotate,round,scene,scroll,shaftwidth,shape,shapes,%
+ shininess,show_end_face,show_start_face,sign,sin,size,size_units,sleep,%
+ smooth,space,sphere,sqrt,start,start_face_color,stop,tan,text,textpos,%
+ texture,textures,thickness,title,trail_color,trail_object,trail_radius,%
+ trail_type,triangle,trigger,True,twist,unbind,up,upper_left,upper_right,%
+ userpan,userspin,userzoom,vec,vector,vertex,vertical_spacing,visible,%
+ visual,vpython,VPython,waitfor,white,width,world,xtitle,yellow,yoffset,%
+ ytitle%
+ },%
+ morekeywords={print,None,TypeError},% % additional keywords
+ morestring=[b]{"""},% % treat triple quotes as strings
+ numbers=left,% % where to put line numbers
+ numbersep=10pt,% % how far line numbers are from code
+ numberstyle=\bfseries\tiny,% % set to 'none' for no line numbers
+ showstringspaces=false,% % show spaces in strings
+ showtabs=false,% % show tabs within strings
+ stringstyle=\gsfontfamily\color{gsgreen},% % color for strings
+ upquote=true,% % how to typeset quotes
+}%
+\NewTCBListing[auto counter,list inside=gsprogs]{glowscriptblock}
+ { O{} D(){glowscript.org} m }{%
+ breakable,%
+ center,%
+ code = \newpage,%
+ %derivpeach,%
+ enhanced,%
+ hyperurl interior = https://#2,%
+ label = {gs:\thetcbcounter},%
+ left = 8mm,%
+ list entry = \thetcbcounter~~~~~#3,%
+ listing only,%
+ listing style = vpython,%
+ nameref = {#3},%
+ title = \texttt{GlowScript} Program \thetcbcounter: #3,%
+ width = 0.9\textwidth,%
+ {#1},
+}%
+\NewDocumentCommand{\listofglowscriptprograms}{}{\tcblistof[\section*]{gsprogs}
+ {List of \texttt{GlowScript} Programs}}%
+\NewTCBInputListing[auto counter,list inside=vpprogs]{\vpythonfile}
+ { O{} m m }{%
+ breakable,%
+ center,%
+ code = \newpage,%
+ %derivgray,%
+ enhanced,%
+ hyperurl interior = https://,%
+ label = {vp:\thetcbcounter},%
+ left = 8mm,%
+ list entry = \thetcbcounter~~~~~#3,%
+ listing file = {#2},%
+ listing only,%
+ listing style = vpython,%
+ nameref = {#3},%
+ title = \texttt{VPython} Program \thetcbcounter: #3,%
+ width = 0.9\textwidth,%
+ {#1},%
+}%
+\NewDocumentCommand{\listofvpythonprograms}{}{\tcblistof[\section*]{vpprogs}
+ {List of \texttt{VPython} Programs}}%
+\DeclareTotalTCBox{\glowscriptinline}{ m }{%
+ bottom = 0pt,%
+ bottomrule = 0.0mm,%
+ boxsep = 1.0mm,%
+ colback = gsbggray,%
+ colframe = gsbggray,%
+ left = 0pt,%
+ leftrule = 0.0mm,%
+ nobeforeafter,%
+ right = 0pt,%
+ rightrule = 0.0mm,%
+ sharp corners,%
+ tcbox raise base,%
+ top = 0pt,%
+ toprule = 0.0mm,%
+}{\lstinline[style = vpython]{#1}}%
+\NewDocumentCommand{\vpythoninline}{}{\glowscriptinline}%
+\endinput
+%%
+%% End of file `mandistudent.sty'.