summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/mandi/mandiexp.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-01-27 21:41:19 +0000
committerKarl Berry <karl@freefriends.org>2022-01-27 21:41:19 +0000
commitdf6b587b2e27c8feb1d15b398cafa51305e9ae69 (patch)
tree6efddf5117c7f0accae88493d41a57e088566564 /Master/texmf-dist/tex/latex/mandi/mandiexp.sty
parentfe1ed2642ef6192d34790de9ae036ea97c7f1a9a (diff)
mandi (27jan22)
git-svn-id: svn://tug.org/texlive/trunk@61764 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/mandi/mandiexp.sty')
-rw-r--r--Master/texmf-dist/tex/latex/mandi/mandiexp.sty459
1 files changed, 302 insertions, 157 deletions
diff --git a/Master/texmf-dist/tex/latex/mandi/mandiexp.sty b/Master/texmf-dist/tex/latex/mandi/mandiexp.sty
index a6c44a2b290..2dbc81637ee 100644
--- a/Master/texmf-dist/tex/latex/mandi/mandiexp.sty
+++ b/Master/texmf-dist/tex/latex/mandi/mandiexp.sty
@@ -6,7 +6,7 @@
%%
%% mandiexp.dtx (with options: `package')
%%
-%% Copyright (C) 2021 by Paul J. Heafner <heafnerj@gmail.com>
+%% Copyright (C) 2021,2022 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
@@ -29,173 +29,318 @@
%% and includes the derived files mandi.sty
%% mandistudent.sty
%% mandiexp.sty
-%% vdemo.py
+%% vdemo.py (not needed)
%% ---------------------------------------------------------------------------
%%
-\def\mandiexp@version{\mandi@version}
-\def\mandiexp@date{\mandi@date}
+\def\mandiexp@version{3.1.0}
+\def\mandiexp@date{2022-01-27}
\NeedsTeXFormat{LaTeX2e}[2020-02-02]
-\DeclareRelease{v3.0.0}{2021-08-22}{mandiexp.sty}
-\DeclareCurrentRelease{v\mandi@version}{\mandi@date}
+\DeclareRelease{v3.1.0}{2022-01-27}{mandiexp.sty}
+\DeclareCurrentRelease{v\mandiexp@version}{\mandiexp@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}
+\IfFormatAtLeastTF {2020-10-01} % load xparse if necessary
+ {}%
+ {\RequirePackage{xparse}}%
\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}}%
-}%
+\NewDocumentCommand{\lhsmomentumprinciple}{ s }%
+ {%
+ \Delta
+ \IfBooleanTF{#1}%
+ {%
+ \vec*{p}
+ }%
+ {%
+ \vec{p}%
+ }%
+ \sb{\symup{sys}}%
+ }%
+\NewDocumentCommand{\rhsmomentumprinciple}{ s }%
+ {%
+ \IfBooleanTF{#1}%
+ {%
+ \vec*{F}%
+ }%
+ {%
+ \vec{F}%
+ }%
+ \sb{\symup{sys,net}}\,\Delta t%
+ }%
+\NewDocumentCommand{\lhsmomentumprincipleupdate}{ s }%
+ {%
+ \IfBooleanTF{#1}%
+ {%
+ \vec*{p}%
+ }%
+ {%
+ \vec{p}%
+ }%
+ \sb{\symup{sys,final}}%
+ }%
+\NewDocumentCommand{\rhsmomentumprincipleupdate}{ s }%
+ {%
+ \IfBooleanTF{#1}%
+ {%
+ \vec*{p}%
+ }%
+ {%
+ \vec{p}%
+ }%
+ \sb{\symup{sys,initial}}+%
+ \IfBooleanTF{#1}%
+ {%
+ \vec*{F}%
+ }%
+ {%
+ \vec{F}%
+ }%
+ \sb{\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}%
+ }%
+ \sb{A\symup{,sys,net}}%
+ }%
+\NewDocumentCommand{\rhsangularmomentumprinciple}{ s }%
+ {%
+ \IfBooleanTF{#1}%
+ {%
+ \vec*{\tau}%
+ }%
+ {%
+ \vec{\tau}%
+ }%
+ \sb{A\symup{,sys,net}}\,\Delta t%
+ }%
+\NewDocumentCommand{\lhsangularmomentumprincipleupdate}{ s }%
+ {%
+ \IfBooleanTF{#1}%
+ {%
+ \vec*{L}%
+ }%
+ {%
+ \vec{L}%
+ }%
+ \sb{A,\symup{sys,final}}%
+ }%
+\NewDocumentCommand{\rhsangularmomentumprincipleupdate}{ s }%
+ {%
+ \IfBooleanTF{#1}%
+ {%
+ \vec*{L}%
+ }%
+ {%
+ \vec{L}%
+ }%
+ \sb{A\symup{,sys,initial}}+%
+ \IfBooleanTF{#1}%
+ {%
+ \vec*{\tau}%
+ }%
+ {%
+ \vec{\tau}%
+ }%
+ \sb{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[] }%
+ {%
+ % d[] must be used because of the way consecutive optional
+ % arguments are handled. See xparse docs for details.
+ % See https://tex.stackexchange.com/a/569011/218142
+ \IfBooleanTF{#1}%
+ {%
+ E_\bgroup \symup{K}%
+ }%
+ {%
+ K_\bgroup\symup{trans}%
+ }%
+ \IfValueT{#2}{,#2}%
+ \egroup%
+ }%
+\NewDocumentCommand{\rotationalkineticenergy}{ s d[] }%
+ {%
+ % d[] must be used because of the way consecutive optional
+ % arguments are handled. See xparse docs for details.
+ % See https://tex.stackexchange.com/a/569011/218142
+ \IfBooleanTF{#1}%
+ {%
+ E_\bgroup%
+ }%
+ {%
+ K_\bgroup%
+ }%
+ \symup{rot}\IfValueT{#2}{,#2}%
+ \egroup%
+ }%
+\NewDocumentCommand{\vibrationalkineticenergy}{ s d[] }%
+ {%
+ % d[] must be used because of the way consecutive optional
+ % arguments are handled. See xparse docs for details.
+ % See https://tex.stackexchange.com/a/569011/218142
+ \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'.