diff options
author | Karl Berry <karl@freefriends.org> | 2021-08-22 19:58:29 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-08-22 19:58:29 +0000 |
commit | eab8544bd60408c04ed14726e87bf5dace53a63c (patch) | |
tree | 7afc598c8b5afabea5a151a106aa141af269c28a /Master/texmf-dist/tex/latex/mandi | |
parent | ea10d49412b34c5ad60d939f0f866c7ad381f2ad (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.sty | 3237 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mandi/mandiexp.sty | 201 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mandi/mandistudent.sty | 473 |
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'. |