summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-05-06 21:24:33 +0000
committerKarl Berry <karl@freefriends.org>2022-05-06 21:24:33 +0000
commit3a120a5906b39cb1ad83deb6d09abfe31aa5b6c7 (patch)
tree1c9f655bc0dc839f042d1f624f5a59dadfde9641 /Master/texmf-dist/tex
parent3cc18a5231ac4bf1b2c12cfdb5843114daf41a77 (diff)
mathsemantics (6may22)
git-svn-id: svn://tug.org/texlive/trunk@63241 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-abbreviations.sty53
-rw-r--r--Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-commons.sty13
-rw-r--r--Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-manifolds.sty197
-rw-r--r--Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-names.sty65
-rw-r--r--Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-optimization.sty40
-rw-r--r--Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-semantic.sty112
-rw-r--r--Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-syntax.sty428
-rw-r--r--Master/texmf-dist/tex/latex/mathsemantics/mathsemantics.sty19
8 files changed, 927 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-abbreviations.sty b/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-abbreviations.sty
new file mode 100644
index 00000000000..e156608aad7
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-abbreviations.sty
@@ -0,0 +1,53 @@
+\ProvidesPackage{mathsemantics-abbreviations}[2022/05/06]
+
+% Resolve the dependencies of this package
+\RequirePackage{mathsemantics-commons}
+
+% Define some English abbreviations
+\let\aa\undefined \newcommand{\aa}{a.a.\xspace}
+\newcommand{\ale}{a.e.\xspace}
+\let\cf\undefined \newcommand{\cf}{cf.\xspace}
+\newcommand{\eg}{e.\,g.\xspace}
+\newcommand{\Eg}{E.\,g.\xspace}
+\let\ie\undefined \newcommand{\ie}{i.\,e.\xspace}
+\newcommand{\Ie}{I.\,e.\xspace}
+\newcommand{\iid}{i.\,i.\,d.\xspace}
+\let\st\undefined \newcommand{\st}{s.\,t.\xspace} % WileyNJD-v2.cls (loads soul.sty)
+\newcommand{\wolog}{w.l.o.g.\xspace} % \wlog is a LaTeX core command which writes to the .log file
+\newcommand{\wrt}{w.r.t.\xspace}
+
+% Define some German abbreviations
+\newcommand{\bspw}{bspw.\xspace}
+\newcommand{\bzgl}{bzgl.\xspace}
+\newcommand{\bzw}{bzw.\xspace}
+\newcommand{\dah}{d.\,h.\xspace}
+\newcommand{\Dah}{D.\,h.\xspace}
+\newcommand{\etc}{etc.\xspace}
+\newcommand{\evtl}{evtl.\xspace}
+\newcommand{\Evtl}{Evtl.\xspace}
+\newcommand{\fue}{f.\,ü.\xspace}
+\newcommand{\fs}{f.\,s.\xspace}
+\newcommand{\iA}{i.\,A.\xspace}
+\newcommand{\IA}{I.\,A.\xspace}
+\newcommand{\idR}{i.\,d.\,R.\xspace}
+\newcommand{\IdR}{I.\,d.\,R.\xspace}
+\newcommand{\iW}{i.\,W.\xspace}
+\newcommand{\IW}{I.\,W.\xspace}
+\newcommand{\mE}{m.\,E.\xspace}
+\newcommand{\oBdA}{o.\,B.\,d.\,A.\xspace}
+\newcommand{\OBdA}{O.\,B.\,d.\,A.\xspace}
+\let\og\undefined \newcommand{\og}{o.\,g.\xspace} % cedram.cls
+\newcommand{\oae}{o.\,ä.\xspace}
+\newcommand{\pa}{p.\,a.\xspace}
+\newcommand{\spd}{s.\,p.\,d.\xspace}
+\let\so\undefined \newcommand{\so}{s.\,t.\xspace} % WileyNJD-v2.cls (loads soul.sty)
+\newcommand{\ua}{u.\,a.\xspace}
+\newcommand{\ug}{u.\,g.\xspace}
+\newcommand{\usw}{usw.\xspace}
+\newcommand{\Ua}{U.\,a.\xspace}
+\newcommand{\uU}{u.\,U.\xspace}
+\newcommand{\UnU}{U.\,U.\xspace}
+\newcommand{\vgl}{vgl.\xspace}
+\newcommand{\zB}{z.\,B.\xspace}
+\newcommand{\ZB}{Z.\,B.\xspace}
+\newcommand{\zHd}{z.\,Hd.\xspace} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-commons.sty b/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-commons.sty
new file mode 100644
index 00000000000..7f32621c535
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-commons.sty
@@ -0,0 +1,13 @@
+\ProvidesPackage{mathsemantics-commons}[2022/05/06]
+
+% Packages which allow control flow
+\RequirePackage{ifthen}
+\RequirePackage{xifthen}
+\RequirePackage{ifxetex}
+
+\RequirePackage{xparse}
+\RequirePackage{xspace}
+\let\Bbbk\relax
+\RequirePackage{amssymb} % load diableable by an option?
+\RequirePackage{mathtools}
+\RequirePackage{calc} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-manifolds.sty b/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-manifolds.sty
new file mode 100644
index 00000000000..7c3c80d4935
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-manifolds.sty
@@ -0,0 +1,197 @@
+% This LaTeX package provides numerous commands relevant to typesetting
+% material related to manifolds and differential geometry.
+\ProvidesPackage{mathsemantics-manifolds}[2022/05/06]
+
+% Resolve the dependencies of this package
+\RequirePackage{mathsemantics-semantic}
+
+% Define some symbols
+\newcommand{\bitangentSpaceSymbol}{\cT^{**}}
+\newcommand{\cotangentSpaceSymbol}{\cT^*}
+\newcommand{\covariantDerivativeSymbol}{\textup{D}}
+\newcommand{\secondCovariantDerivativeSymbol}{\covariantDerivativeSymbol^2}
+\newcommand{\geodesicSymbol}{\gamma}
+\@ifundefined{widearc}{%
+ \DeclareSymbolFont{yhlargesymbols}{OMX}{yhex}{m}{n}
+ \DeclareMathAccent{\wideparen}{\mathord}{yhlargesymbols}{"F3}
+ \newcommand{\geodesicArcSymbol}{\wideparen}
+ }{%
+ \newcommand{\geodesicArcSymbol}{\widearc}
+}
+\newcommand{\parallelTransportSymbol}{\textup{P}}
+\newcommand{\retractionSymbol}{\textup{retr}}
+\newcommand{\tangentSpaceSymbol}{\cT}
+\newcommand{\tensorSpaceSymbol}{\cT}
+\newcommand{\vectorTransportSymbol}{\textup{T}}
+
+% Define a command for the bitangent space
+% Argument {#1} is the base point
+% The optional argument [#2] (default \cM) is the manifold
+\NewDocumentCommand{\bitangentSpace}{ m O{\cM} }{\bitangentSpaceSymbol_{#1}#2}
+
+% Define a command for the cotangent space
+% Argument {#1} is the base point
+% The optional argument [#2] (default \cM) is the manifold
+\NewDocumentCommand{\cotangentSpace}{ m O{\cM} }{\cotangentSpaceSymbol_{#1}\!#2}
+
+% Define a command for the cotangent bundle
+% The optional argument [#1] (default \cM) is the manifold
+\NewDocumentCommand{\cotangentBundle}{ O{\cM} }{\cotangentSpaceSymbol\!#1}
+
+% Define a command for the covariant derivative (connection)
+% Argument {#1} is the vector (field) which determines the direction of differentiation
+% The optional argument [#2] denotes the tensor field being differentiated
+\NewDocumentCommand{\covariantDerivative}{ m O{} }{\covariantDerivativeSymbol_{#1}#2}
+
+\DeclareMathOperator{\expOp}{exp}
+% Define a command for the exponential map
+% Argument {#1} is used to scale the brackets around #3
+% Argument {#2} is the source base point
+% Argument {#3} is a corresponding tangent vector
+\NewDocumentCommand{\exponential}{ O{} m d() }{%
+ \expOp_{#2}\IfNoValueF{#3}{\enclose[#1]{(}{#3}{)}}%
+}
+
+% Define a command for various versions of geodesic curves
+% * The optional argument (#1) can be used to locally set the geodesic symbol.
+% note that globally setting it, you can also redefine `\geodesicSymbol'
+% * The optional argument <#2> defines the type: [s]symbol, [l]ong, [a]rc, or [p]lain (the default)
+% * The optional argument [#2] scales the delimiters
+% * Argument {#4} is the initial point (t = 0) of the geodesic
+% * Argument {#5} is the final point (t = 1) of the geodesic (for types l and a)
+% * Argument {#5} is the initial tangent direction of the geodesic (for type p)
+% * The optional argument (#6) denotes the evaluation point
+\NewDocumentCommand{\geodesic}{ D||{\geodesicSymbol} D<>{plain} o G{} G{} d() }{%
+ \ifthenelse{\equal{#2}{s}}{%
+ {#1}% format: just the symbol
+ \IfNoValueF{#6}{\enclose[#3]{(}{#6}{)}}% if arg given
+ }{% not s
+ \ifthenelse{\equal{#2}{l}}{% long form
+ {#1}% format: arg; p1, p2
+ \enclose[#3]{(}{%
+ \IfNoValueTF{#6}{\cdot}{#6};#4\,,\,#5%
+ }{)}%print \cdot if not param given
+ }{% neither s nor l
+ \ifthenelse{\equal{#2}{a}}{%
+ {#1}_{\geodesicArcSymbol{#4,#5}}%
+ \IfNoValueF{#6}{\enclose[#3]{(}{#6}{)}}% if arg given -> print
+ }{% neither s nor l nor a -> plain
+ {#1}_{#4,#5}%
+ \IfNoValueF{#6}{\enclose[#3]{(}{#6}{)}}% if arg given -> print
+ }%
+ }%
+ }%
+}
+
+\DeclareMathOperator{\logOp}{log}
+% Define a command for the logarithmic map
+% Argument {#1} is used to scale the brackets around #3
+% Argument {#2} is the source base point
+% Argument {#3} is a second point
+\NewDocumentCommand{\logarithm}{ O{} m d() }{%
+ \logOp_{#2}\IfNoValueF{#3}{\enclose[#1]{(}{#3}{)}}%
+}
+
+% Define a command for the logarithmic map
+% Argument {#1} is used to scale the brackets around #3
+% Argument {#2} is the source base point
+% Argument {#3} is a second point
+\NewDocumentCommand{\inverseRetract}{ O{} m d() }{%
+ \retractionSymbol^{-1}_{#2}\IfNoValueF{#3}{\enclose[#1]{(}{#3}{)}}%
+}
+
+% Define a command for the Lie bracket (of two vector fields)
+% The optional argument [#1] scales the delimiters
+% Argument {#2} is the first vector field
+% Argument {#3} is the second vector field
+\NewDocumentCommand{\lie}{ O{} m m }{\enclose[#1]{[}{#2,#3}{]}}
+
+% Define a command for the parallel transport, where
+% Argument {#1} (optional) is used to scale the brackets around #4
+% Argument {#2} is the source base point
+% Argument {#3} is the destination base point
+% Argument {#4} is a tangent vector from the source base points tangent space (in round brackets)
+% Argument {#5} (optional) can be used to specify that this parallel transport is along a curve
+\NewDocumentCommand{\parallelTransport}{ O{} m m d() O{}}{%
+ \parallelTransportSymbol^{#5}_{#3\leftarrow#2}%
+ \IfNoValueF{#4}{\enclose[#1]{(}{#4}{)}}%
+}
+
+% Define a command for the parallel transport with direction, where
+% Argument {#1} (optional) is used to scale the brackets around #4
+% Argument {#2} is the source base point
+% Argument {#3} is the direction to transport into
+% Argument {#4} is a tangent vector from the source base points tangent space (in round brackets)
+% Argument {#5} (optional) can be used to specify that this parallel transport is along a curve
+\NewDocumentCommand{\parallelTransportDir}{ O{} m m d() O{}}{%
+ \parallelTransportSymbol^{#5}_{#2,#3}%
+ \IfNoValueF{#4}{\enclose[#1]{(}{#4}{)}}%
+}
+
+% Define a command for a retraction map
+% Argument {#1} is used to scale the brackets around #3
+% Argument {#2} is the source base point
+% Argument {#3} is a corresponding tangent vector
+\NewDocumentCommand{\retract}{ O{} m d() }{%
+ \retractionSymbol_{#2}\IfNoValueF{#3}{\enclose[#1]{(}{#3}{)}}%
+}
+
+% Define a command for the Riemannian metric (inner product in the tangent space)
+% The optional argument [#1] scales the delimiters
+% Argument {#2} is the first tangent vector
+% Argument {#3} is the second tangent vector
+% The optional argument [#4] can be used to denote the base point or to specify the metric
+\NewDocumentCommand{\riemannian}{ O{} m m O{} }{\enclose[#1]{(}{#2\,,\,#3}{)}_{#4}}
+
+% Define a command for the norm induced by the Riemannian metric (inner product in the tangent space)
+% The optional argument [#1] scales the delimiters
+% Argument {#2} is the tangent vector
+% The optional argument [#3] can be used to denote the base point or to specify the metric
+\NewDocumentCommand{\riemanniannorm}{ O{} m O{} }{\norm[#1]{#2}_{#3}}
+
+% Define a command for the second covariant derivative
+% Argument {#1} is the vector (field) which determines the first direction of differentiation
+% Argument {#2} is the vector (field) which determines the second direction of differentiation
+% The optimal argument (#3) denotes the tensor field being differentiated
+\NewDocumentCommand{\secondCovariantDerivative}{ m m O{} }{\secondCovariantDerivativeSymbol_{#1,#2}#3}
+
+% Define a command for the tangent space
+% Argument {#1} is the base point
+% The optional argument [#2] (default \cM) is the manifold
+\NewDocumentCommand{\tangentSpace}{ m O{\cM} }{\tangentSpaceSymbol_{#1}#2}
+
+% Define a command for the tangent bundle
+% The optional argument [#1] (default \cM) is the manifold
+\NewDocumentCommand{\tangentBundle}{ O{\cM} }{\tangentSpaceSymbol{}#1}
+
+% Define a command for the (r,s)-tensor bundle
+% Argument {#1} is the number r of elements of the cotangent space the tensors accept.
+% Argument {#2} is the number s of elements of the tangent space the tensors accept.
+% The optimal argument [#3] (default \cM) is the manifold
+\NewDocumentCommand{\tensorBundle}{ m m O{\cM} }{\tensorSpaceSymbol^{(#1,#2)}#3}
+
+% Define a command for the space of (r,s)-tensors over a vector space V
+% Argument {#1} is the number r of elements of the dual space V^* the tensors accept.
+% Argument {#2} is the number s of elements of the space V the tensors accept.
+% The optimal argument [#3] (default empty) denotes the vector space V.
+\NewDocumentCommand{\tensorSpace}{ m m O{} }{\tensorSpaceSymbol^{(#1,#2)}\IfNoValueF{#3}{(#3)}}
+
+% Define a command for the general vector transport, where
+% Argument {#1} (optional) is used to scale the brackets around #4
+% Argument {#2} is the source base point
+% Argument {#3} is the destination base point
+% Argument {#4} (optional) is a tangent vector from the source base point's tangent space
+% Argument {#5} (optional) can be used to specify that this vector transport is from a retraction or symmetric
+\NewDocumentCommand{\vectorTransport}{ O{} m m d() O{}}{%
+ \vectorTransportSymbol_{#3\leftarrow#2}^{#5}\IfNoValueF{#4}{\enclose[#1]{(}{#4}{)}}%
+}
+
+% Define a command for the general vector transport with direction, where
+% Argument {#1} (optional) is used to scale the brackets around #4
+% Argument {#2} is the source base point
+% Argument {#3} is the dirction to transport to (using the retraction in #5)
+% Argument {#4} (optional) is a tangent vector from the source base point's tangent space
+% Argument {#5} (optional) can be used to specify that this vector transport is from a retraction or symmetric
+\NewDocumentCommand{\vectorTransportDir}{ O{} m m d() O{}}{%
+ \vectorTransportSymbol_{#2,#3}^{#5}\IfNoValueF{#4}{\enclose[#1]{(}{#4}{)}}%
+}
diff --git a/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-names.sty b/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-names.sty
new file mode 100644
index 00000000000..360e889eca0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-names.sty
@@ -0,0 +1,65 @@
+\ProvidesPackage{mathsemantics-names}[2022/05/06]
+
+% Resolve the dependencies of this package
+\RequirePackage{mathsemantics-commons}
+
+% Define a default markdown for named (mostly software related)
+% packages, and some commands for often-used packages as well
+\newcommand{\namemd}[1]{\textsc{#1}\xspace}
+\newcommand{\adimat}{\namemd{ADiMat}}
+\newcommand{\ampl}{\namemd{AMPL}}
+\newcommand{\BibTeX}{\namemd{Bib\TeX}}
+\newcommand{\BibLaTeX}{\namemd{Bib\LaTeX}}
+\newcommand{\cg}{\namemd{CG}}
+\newcommand{\cpp}{\namemd{C++}}
+\newcommand{\cppmat}{\namemd{cppmat}}
+\newcommand{\dolfin}{\namemd{Dolfin}}
+\newcommand{\dolfinplot}{\namemd{Dolfin-Plot}}
+\newcommand{\dolfinadjoint}{\namemd{Dolfin-Adjoint}}
+\newcommand{\doxygen}{\namemd{Doxygen}}
+\newcommand{\femorph}{\namemd{FEMorph}}
+\newcommand{\fenics}{\namemd{FEniCS}}
+\newcommand{\ffc}{\namemd{FFC}}
+\newcommand{\fmg}{\namemd{FMG}}
+\newcommand{\fortran}{\namemd{Fortran}}
+\newcommand{\gitlab}{\namemd{GitLab}}
+\newcommand{\gmres}{\namemd{Gmres}}
+\newcommand{\gmsh}{\namemd{Gmsh}}
+\newcommand{\ipopt}{\namemd{Ipopt}}
+\newcommand{\libsvm}{\namemd{LIBSVM}}
+\newcommand{\liblinear}{\namemd{LIBLINEAR}}
+\newcommand{\macmpec}{\namemd{MacMPEC}}
+\newcommand{\manifoldsjl}{\namemd{Manifolds.jl}}
+\newcommand{\manopt}{\namemd{Manopt}}
+\newcommand{\manoptjl}{\namemd{Manopt.jl}}
+\newcommand{\mathematica}{\namemd{Mathematica}}
+\newcommand{\matlab}{\namemd{Matlab}}
+\newcommand{\maple}{\namemd{Maple}}
+\newcommand{\maxima}{\namemd{Maxima}}
+\newcommand{\meshio}{\namemd{meshio}}
+\newcommand{\metis}{\namemd{Metis}}
+\newcommand{\minres}{\namemd{Minres}}
+\newcommand{\mshr}{\namemd{mshr}}
+\newcommand{\mvirt}{\namemd{MVIRT}}
+\newcommand{\numapde}{\namemd{numapde}}
+\newcommand{\numpy}{\namemd{NumPy}}
+\newcommand{\paraview}{\namemd{Paraview}}
+\newcommand{\pdflatex}{\namemd{PDF\LaTeX}}
+\newcommand{\perl}{\namemd{Perl}}
+\newcommand{\petsc}{\namemd{PETSc}}
+\newcommand{\pymat}{\namemd{pymat}}
+\newcommand{\python}{\namemd{Python}}
+\newcommand{\scikit}{\namemd{SciKit}}
+\newcommand{\scikitlearn}{\namemd{SciKit-learn}}
+\newcommand{\scipy}{\namemd{SciPy}}
+\newcommand{\sphinx}{\namemd{Sphinx}}
+\newcommand{\subgmres}{\namemd{SubGmres}}
+\newcommand{\subminres}{\namemd{SubMinres}}
+\newcommand{\superlu}{\namemd{SuperLU}}
+\newcommand{\svmlight}{\namemd{SVM${}^\text{light}$}}
+\newcommand{\TikZ}{Ti\textit{k}Z\xspace}
+\newcommand{\tritetmesh}{\namemd{TriTetMesh}}
+\newcommand{\ufl}{\namemd{UFL}}
+\newcommand{\uqlab}{\namemd{UQLab}}
+\newcommand{\viper}{\namemd{Viper}}
+\newcommand{\xml}{\namemd{XML}} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-optimization.sty b/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-optimization.sty
new file mode 100644
index 00000000000..fecbf027d79
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-optimization.sty
@@ -0,0 +1,40 @@
+% This LaTeX package provides numerous commands relevant to typesetting
+% material related to manifolds and differential geometry.
+\ProvidesPackage{mathsemantics-optimization}[2022/05/06]
+
+% Resolve the dependencies of this package
+\RequirePackage{mathsemantics-semantic}
+
+% Define some symbols
+\newcommand{\normalCone}{\cN}
+\newcommand{\radialCone}{\cK}
+\newcommand{\tangentCone}{\cT}
+\newcommand{\linearizingCone}{\cT^{\textup{lin}}}
+
+% Define a command for the radial cone
+% The optional argument [#1] scales the delimiters
+% Argument {#2} is the set
+% Argument {#3} is the base point
+\NewDocumentCommand{\radialcone}{ O{} m m }{\radialCone_{#2}\enclose[#1]{(}{#3}{)}}
+
+% Define a command for the tangent cone
+% The optional argument [#1] scales the delimiters
+% Argument {#2} is the set
+% Argument {#3} is the base point
+\NewDocumentCommand{\tangentcone}{ O{} m m }{\tangentCone_{#2}\enclose[#1]{(}{#3}{)}}
+
+% Define a command for the linearizing cone
+% The optional argument [#1] scales the delimiters
+% Argument {#2} is the set
+% Argument {#3} is the base point
+\NewDocumentCommand{\linearizingcone}{ O{} m m }{\linearizingCone_{#2}\enclose[#1]{(}{#3}{)}}
+
+% Define a command for the normal cone
+% The optional argument [#1] scales the delimiters
+% Argument {#2} is the set
+% Argument {#3} is the base point
+\NewDocumentCommand{\normalcone}{ O{} m m }{\normalCone_{#2}\enclose[#1]{(}{#3}{)}}
+
+% Define a command for the polar cone
+% Argument {#1} is the set
+\NewDocumentCommand{\polarcone}{ m }{#1^\circ}
diff --git a/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-semantic.sty b/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-semantic.sty
new file mode 100644
index 00000000000..6ccb0f7b624
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-semantic.sty
@@ -0,0 +1,112 @@
+\ProvidesPackage{mathsemantics-semantic}[2022/05/06]
+
+% Resolve the dependencies of this package
+\RequirePackage{mathsemantics-commons}
+\RequirePackage{mathsemantics-syntax}
+
+\newcommand{\abs}[2][]{\enclose[#1]{\lvert}{#2}{\rvert}}
+\newcommand{\ceil}[2][]{\enclose[#1]{\lceil}{#2}{\rceil}}
+\newcommand{\dual}[3][]{\enclose[#1]{\langle}{#2\,,#3}{\rangle}}
+\newcommand{\floor}[2][]{\enclose[#1]{\lfloor}{#2}{\rfloor}}
+\newcommand{\avg}[2][]{\enclose[#1]{\lbrace}{#2}{\rbrace}}
+\newcommand{\inner}[3][]{\enclose[#1]{(}{#2\,,\,#3}{)}}
+\newcommand{\jump}[2][]{\enclose[#1]{\llbracket}{#2}{\rrbracket}}
+\newcommand{\norm}[2][]{\enclose[#1]{\lVert}{#2}{\rVert}}
+\newcommand{\restr}[3][]{\enclose[#1]{.}{#2}{\rvert}_{#3}}
+\newcommand{\setMid}{|}
+\newcommand{\setDef}[3][]{\encloseSet[#1]{\{}{#2}{\setMid}{#3}{\}}}
+% Define the distance to a set operator
+% The optional argument #1 scales the delimiters
+% Argument #2 is the set
+% Argument #3 is the quantity
+\DeclareMathOperator{\distOp}{dist}
+\NewDocumentCommand{\dist}{ O{} g g }{\IfNoValueTF{#3}{\IfNoValueTF{#2}{\distOp}{\distOp_{#2}}}{\distOp_{#2}\enclose[#1]{(}{#3}{)}}}
+
+% Define the projection operator
+% The optional argument #1 scales the delimiters
+% Argument #2 is the set to be projected onto
+% Argument #3 is the quantity to be projected
+\DeclareMathOperator{\projOp}{proj}
+\NewDocumentCommand{\proj}{ O{} g d() }{%
+ \IfNoValueTF{#2}{\projOp}{\projOp_{#2}}\IfNoValueF{#3}{\enclose[#1]{(}{#3}{)}}%
+}
+
+% Define the prox operator
+% The optional argument #1 scales the delimiters
+% Argument #2 is the function whose prox map we are taking
+% Argument #3 is the argument of the prox map
+\DeclareMathOperator{\proxOp}{prox}
+\NewDocumentCommand{\prox}{ O{} g d() }{%
+ \IfNoValueTF{#2}{\proxOp}{\proxOp_{#2}}\IfNoValueF{#3}{\enclose[#1]{(}{#3}{)}}%
+}
+
+% Define some mathematical and other operators
+\DeclareMathOperator{\aff}{aff}
+\DeclareMathOperator{\arcosh}{arcosh}
+\DeclareMathOperator{\arcoth}{arcoth}
+\DeclareMathOperator{\arsinh}{arsinh}
+\DeclareMathOperator{\artanh}{artanh}
+\DeclareMathOperator*{\argmax}{arg\,max}
+\DeclareMathOperator*{\Argmax}{Arg\,max}
+\DeclareMathOperator*{\argmin}{arg\,min}
+\DeclareMathOperator*{\Argmin}{Arg\,min}
+\DeclareMathOperator{\bdiv}{\textup{\textbf{div}}}
+\DeclareMathOperator{\card}{card}
+\DeclareMathOperator{\clconv}{\overline{\conv}}
+\let\closure\undefined \DeclareMathOperator{\closure}{cl} % WileyNJD-v2.cls (loads stix.sty)
+\DeclareMathOperator{\cofac}{cof}
+\newcommand{\compactly}{\hookrightarrow\hookrightarrow}
+\DeclareMathOperator{\cone}{cone}
+\DeclareMathOperator{\conv}{conv}
+\newcommand{\corresponds}{\mathrel{\widehat{=}}}
+\DeclareMathOperator{\cov}{Cov}
+\DeclareMathOperator{\curl}{curl}
+\DeclareMathOperator{\dev}{dev}
+\let\div\undefined \DeclareMathOperator{\div}{div}
+\DeclareMathOperator{\Div}{Div}
+% https://tex.stackexchange.com/questions/140642/conditionally-remove-the-space-before-a-one-letter-operator
+\newcommand{\dInt}{\mathop{}\!\textup{d}}
+\let\d\undefined\newcommand{\d}{\dInt}
+\let\diag\undefined \DeclareMathOperator{\diag}{diag} % etna.cls
+\DeclareMathOperator{\diam}{diam}
+\DeclareMathOperator{\dom}{dom}
+\newcommand{\dotcup}{\ensuremath{\mathaccent\cdot\cup}}
+\DeclareMathSymbol{\dprod}{\mathbin}{operators}{"3A}
+\let\e\undefined \newcommand{\e}{\mathrm{e}} % ifacconf.cls
+\newcommand{\embed}{\hookrightarrow}
+\newcommand{\embeds}{\embed}
+\DeclareMathOperator{\epi}{epi}
+\newcommand{\eR}{\overline{\bbR}}
+\DeclareMathOperator*{\esssup}{ess\,sup}
+\DeclareMathOperator*{\essinf}{ess\,inf}
+\let\grad\undefined \DeclareMathOperator{\grad}{grad} % etna.cls
+\DeclareMathOperator{\Graph}{Graph}
+\newcommand{\id}{\textup{id}}
+\DeclareMathOperator{\image}{image}
+\DeclareMathOperator{\interior}{int}
+\DeclareMathOperator{\inj}{inj}
+\newcommand{\laplace}{\Delta}
+\DeclareMathOperator*{\limessinf}{lim\,ess\,inf}
+\DeclareMathOperator*{\limesssup}{lim\,ess\,sup}
+\DeclareMathOperator{\lin}{lin}
+\let\rank\undefined \DeclareMathOperator{\rank}{rank} % etna.cls
+\DeclareMathOperator{\range}{range}
+\DeclareMathOperator{\ri}{ri}
+\DeclareMathOperator{\sgn}{sgn}
+\DeclareMathOperator{\Sgn}{Sgn}
+\DeclareMathOperator{\Span}{span}
+\let\supp\undefined \DeclareMathOperator{\supp}{supp} % etna.cls
+\DeclareMathOperator{\sym}{sym}
+\DeclareMathOperator{\trace}{trace}
+\newcommand{\transposeSymbol}{\mkern-1.5mu\textup{T}}
+\AtBeginDocument{\providecommand*{\transp}{{\transposeSymbol}}} % postpone it since newtxmath.sty has its own \transp
+\DeclareMathOperator{\var}{Var}
+\newcommand{\weakly}{\rightharpoonup}
+\newcommand{\weaklystar}{\stackrel\star\rightharpoonup}
+
+\@ifpackageloaded{academicon}{%
+ \definecolor{orcidlogocolor}{HTML}{A6CE39}
+ \providecommand*{\orcid}[1]{\href{https://orcid.org/#1}{\textcolor{orcidlogocolor}{\aiOrcid}~\detokenize{#1}}}
+}{%
+ \providecommand*{\orcid}[1]{\href{https://orcid.org/#1}{ORCID~\detokenize{#1}}}
+}
diff --git a/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-syntax.sty b/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-syntax.sty
new file mode 100644
index 00000000000..d11cd624051
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics-syntax.sty
@@ -0,0 +1,428 @@
+\ProvidesPackage{mathsemantics-syntax}[2022/05/06]
+\provideboolean{mathsemantics@syntax@shortbb}
+\setboolean{mathsemantics@syntax@shortbb}{false}% default: false
+\DeclareOption{shortbb}{%
+ \setboolean{mathsemantics@syntax@shortbb}{true}% Some Code
+}
+\ProcessOptions\relax
+\RequirePackage{mathsemantics-commons}
+
+% Define commands for bold upper-case letters in math mode
+\newcommand{\bA}{{\boldsymbol{A}}}
+\newcommand{\bB}{{\boldsymbol{B}}}
+\newcommand{\bC}{{\boldsymbol{C}}}
+\newcommand{\bD}{{\boldsymbol{D}}}
+\newcommand{\bE}{{\boldsymbol{E}}}
+\newcommand{\bF}{{\boldsymbol{F}}}
+\newcommand{\bG}{{\boldsymbol{G}}}
+\newcommand{\bH}{{\boldsymbol{H}}}
+\newcommand{\bI}{{\boldsymbol{I}}}
+\newcommand{\bJ}{{\boldsymbol{J}}}
+\newcommand{\bK}{{\boldsymbol{K}}}
+\newcommand{\bL}{{\boldsymbol{L}}}
+\newcommand{\bM}{{\boldsymbol{M}}}
+\newcommand{\bN}{{\boldsymbol{N}}}
+\newcommand{\bO}{{\boldsymbol{O}}}
+\newcommand{\bP}{{\boldsymbol{P}}}
+\newcommand{\bQ}{{\boldsymbol{Q}}}
+\newcommand{\bR}{{\boldsymbol{R}}}
+\newcommand{\bS}{{\boldsymbol{S}}}
+\newcommand{\bT}{{\boldsymbol{T}}}
+\newcommand{\bU}{{\boldsymbol{U}}}
+\newcommand{\bV}{{\boldsymbol{V}}}
+\newcommand{\bW}{{\boldsymbol{W}}}
+\newcommand{\bX}{{\boldsymbol{X}}}
+\newcommand{\bY}{{\boldsymbol{Y}}}
+\newcommand{\bZ}{{\boldsymbol{Z}}}
+
+% Define commands for bold lower-case letters in math mode
+\newcommand{\ba}{{\boldsymbol{a}}}
+\newcommand{\bb}{{\boldsymbol{b}}}
+\newcommand{\bc}{{\boldsymbol{c}}}
+\newcommand{\bd}{{\boldsymbol{d}}}
+\newcommand{\be}{{\boldsymbol{e}}}
+\let\bf\undefined \newcommand{\bf}{{\boldsymbol{f}}}
+\newcommand{\bg}{{\boldsymbol{g}}}
+\newcommand{\bh}{{\boldsymbol{h}}}
+\let\bi\undefined \newcommand{\bi}{{\boldsymbol{i}}} % Taylor and Francis
+\newcommand{\bj}{{\boldsymbol{j}}}
+\newcommand{\bk}{{\boldsymbol{k}}}
+\newcommand{\bl}{{\boldsymbol{l}}}
+\let\bm\undefined \newcommand{\bm}{{\boldsymbol{m}}} % Taylor and Francis
+\newcommand{\bn}{{\boldsymbol{n}}}
+\newcommand{\bo}{{\boldsymbol{o}}}
+\newcommand{\bp}{{\boldsymbol{p}}}
+\newcommand{\bq}{{\boldsymbol{q}}}
+\newcommand{\br}{{\boldsymbol{r}}}
+\newcommand{\bs}{{\boldsymbol{s}}}
+\newcommand{\bt}{{\boldsymbol{t}}}
+\newcommand{\bu}{{\boldsymbol{u}}}
+\newcommand{\bv}{{\boldsymbol{v}}}
+\newcommand{\bw}{{\boldsymbol{w}}}
+\newcommand{\bx}{{\boldsymbol{x}}}
+\newcommand{\by}{{\boldsymbol{y}}}
+\newcommand{\bz}{{\boldsymbol{z}}}
+
+% Define commands for bold numbers 0, 1 in math mode
+\newcommand{\bnull}{{\boldsymbol{0}}}
+\newcommand{\bone}{{\boldsymbol{1}}}
+
+% Define commands for bold lower-case Greek letters in math mode
+\newcommand{\balpha}{{\boldsymbol{\alpha}}}
+\newcommand{\bbeta}{{\boldsymbol{\beta}}}
+\newcommand{\bgamma}{{\boldsymbol{\gamma}}}
+\newcommand{\bdelta}{{\boldsymbol{\delta}}}
+\newcommand{\bepsilon}{{\boldsymbol{\epsilon}}}
+\newcommand{\bvarepsilon}{{\boldsymbol{\varepsilon}}}
+\newcommand{\bzeta}{{\boldsymbol{\zeta}}}
+\newcommand{\boldeta}{{\boldsymbol{\eta}}} % exception: \boldeta instead of \beta
+\newcommand{\btheta}{{\boldsymbol{\theta}}}
+\newcommand{\bvartheta}{{\boldsymbol{\vartheta}}}
+\newcommand{\biota}{{\boldsymbol{\iota}}}
+\newcommand{\bkappa}{{\boldsymbol{\kappa}}}
+\newcommand{\bvarkappa}{{\boldsymbol{\varkappa}}}
+\newcommand{\blambda}{{\boldsymbol{\lambda}}}
+\newcommand{\bmu}{{\boldsymbol{\mu}}}
+\newcommand{\bnu}{{\boldsymbol{\nu}}}
+\newcommand{\bomicron}{\boldsymbol{o}}
+\newcommand{\bxi}{{\boldsymbol{\xi}}}
+\newcommand{\bpi}{{\boldsymbol{\pi}}}
+\newcommand{\bvarpi}{{\boldsymbol{\varpi}}}
+\newcommand{\brho}{{\boldsymbol{\rho}}}
+\newcommand{\bvarrho}{{\boldsymbol{\varrho}}}
+\newcommand{\bsigma}{{\boldsymbol{\sigma}}}
+\newcommand{\bvarsigma}{{\boldsymbol{\varsigma}}}
+\newcommand{\btau}{{\boldsymbol{\tau}}}
+\newcommand{\bupsilon}{{\boldsymbol{\upsilon}}}
+\newcommand{\bphi}{{\boldsymbol{\phi}}}
+\newcommand{\bvarphi}{{\boldsymbol{\varphi}}}
+\newcommand{\bchi}{{\boldsymbol{\chi}}}
+\newcommand{\bpsi}{{\boldsymbol{\psi}}}
+\newcommand{\bomega}{{\boldsymbol{\omega}}}
+
+% Define commands for bold upper-case Greek letters in math mode
+\newcommand{\bAlpha}{{\boldsymbol{A}}}
+\newcommand{\bBeta}{{\boldsymbol{B}}}
+\newcommand{\bGamma}{{\boldsymbol{\Gamma}}}
+\newcommand{\bDelta}{{\boldsymbol{\Delta}}}
+\newcommand{\bEpsilon}{{\boldsymbol{E}}}
+\newcommand{\bZeta}{{\boldsymbol{Z}}}
+\newcommand{\bEta}{{\boldsymbol{H}}}
+\newcommand{\bTheta}{{\boldsymbol{\Theta}}}
+\newcommand{\bIota}{{\boldsymbol{I}}}
+\newcommand{\bKappa}{{\boldsymbol{K}}}
+\newcommand{\bLambda}{{\boldsymbol{\Lambda}}}
+\newcommand{\bMu}{{\boldsymbol{M}}}
+\newcommand{\bNu}{{\boldsymbol{N}}}
+\newcommand{\bXi}{{\boldsymbol{\Xi}}}
+\newcommand{\bOmicron}{{\boldsymbol{O}}}
+\newcommand{\bPi}{{\boldsymbol{\Pi}}}
+\newcommand{\bRho}{{\boldsymbol{P}}}
+\newcommand{\bSigma}{{\boldsymbol{\Sigma}}}
+\newcommand{\bTau}{{\boldsymbol{T}}}
+\newcommand{\bUpsilon}{{\boldsymbol{\Upsilon}}}
+\newcommand{\bPhi}{{\boldsymbol{\Phi}}}
+\newcommand{\bChi}{{\boldsymbol{X}}}
+\newcommand{\bPsi}{{\boldsymbol{\Psi}}}
+\newcommand{\bOmega}{{\boldsymbol{\Omega}}}
+
+% Define commands for calligraphic upper-case letters in math mode
+\newcommand{\cA}{\mathcal{A}}
+\newcommand{\cB}{\mathcal{B}}
+\newcommand{\cC}{\mathcal{C}}
+\newcommand{\cD}{\mathcal{D}}
+\newcommand{\cE}{\mathcal{E}}
+\newcommand{\cF}{\mathcal{F}}
+\newcommand{\cG}{\mathcal{G}}
+\newcommand{\cH}{\mathcal{H}}
+\newcommand{\cI}{\mathcal{I}}
+\newcommand{\cJ}{\mathcal{J}}
+\newcommand{\cK}{\mathcal{K}}
+\newcommand{\cL}{\mathcal{L}}
+\newcommand{\cM}{\mathcal{M}}
+\newcommand{\cN}{\mathcal{N}}
+\newcommand{\cO}{\mathcal{O}}
+\newcommand{\cP}{\mathcal{P}}
+\newcommand{\cQ}{\mathcal{Q}}
+\newcommand{\cR}{\mathcal{R}}
+\newcommand{\cS}{\mathcal{S}}
+\newcommand{\cT}{\mathcal{T}}
+\newcommand{\cU}{\mathcal{U}}
+\newcommand{\cV}{\mathcal{V}}
+\newcommand{\cW}{\mathcal{W}}
+\newcommand{\cX}{\mathcal{X}}
+\newcommand{\cY}{\mathcal{Y}}
+\newcommand{\cZ}{\mathcal{Z}}
+
+% Define commands for fraktur upper-case letters in math mode
+\newcommand{\fA}{\mathfrak{A}}
+\newcommand{\fB}{\mathfrak{B}}
+\newcommand{\fC}{\mathfrak{C}}
+\newcommand{\fD}{\mathfrak{D}}
+\newcommand{\fE}{\mathfrak{E}}
+\newcommand{\fF}{\mathfrak{F}}
+\newcommand{\fG}{\mathfrak{G}}
+\newcommand{\fH}{\mathfrak{H}}
+\newcommand{\fI}{\mathfrak{I}}
+\newcommand{\fJ}{\mathfrak{J}}
+\newcommand{\fK}{\mathfrak{K}}
+\newcommand{\fL}{\mathfrak{L}}
+\newcommand{\fM}{\mathfrak{M}}
+\newcommand{\fN}{\mathfrak{N}}
+\newcommand{\fO}{\mathfrak{O}}
+\newcommand{\fP}{\mathfrak{P}}
+\newcommand{\fQ}{\mathfrak{Q}}
+\newcommand{\fR}{\mathfrak{R}}
+\newcommand{\fS}{\mathfrak{S}}
+\newcommand{\fT}{\mathfrak{T}}
+\newcommand{\fU}{\mathfrak{U}}
+\newcommand{\fV}{\mathfrak{V}}
+\newcommand{\fW}{\mathfrak{W}}
+\newcommand{\fX}{\mathfrak{X}}
+\newcommand{\fY}{\mathfrak{Y}}
+\newcommand{\fZ}{\mathfrak{Z}}
+
+
+% Define commands for fraktur upper-case letters in math mode
+\newcommand{\sA}{\mathscr{A}}
+\newcommand{\sB}{\mathscr{B}}
+\newcommand{\sC}{\mathscr{C}}
+\newcommand{\sD}{\mathscr{D}}
+\newcommand{\sE}{\mathscr{E}}
+\newcommand{\sF}{\mathscr{F}}
+\newcommand{\sG}{\mathscr{G}}
+\newcommand{\sH}{\mathscr{H}}
+\newcommand{\sI}{\mathscr{I}}
+\newcommand{\sJ}{\mathscr{J}}
+\newcommand{\sK}{\mathscr{K}}
+\newcommand{\sL}{\mathscr{L}}
+\newcommand{\sM}{\mathscr{M}}
+\newcommand{\sN}{\mathscr{N}}
+\newcommand{\sO}{\mathscr{O}}
+\newcommand{\sP}{\mathscr{P}}
+\newcommand{\sQ}{\mathscr{Q}}
+\newcommand{\sR}{\mathscr{R}}
+\newcommand{\sS}{\mathscr{S}}
+\newcommand{\sT}{\mathscr{T}}
+\newcommand{\sU}{\mathscr{U}}
+\newcommand{\sV}{\mathscr{V}}
+\newcommand{\sW}{\mathscr{W}}
+\newcommand{\sX}{\mathscr{X}}
+\newcommand{\sY}{\mathscr{Y}}
+\newcommand{\sZ}{\mathscr{Z}}
+
+% Define commands for lower-case letters with vector accents in math mode
+\newcommand{\va}{\vec{a}}
+\newcommand{\vb}{\vec{b}}
+\newcommand{\vc}{\vec{c}}
+\newcommand{\vd}{\vec{d}}
+\newcommand{\ve}{\vec{e}}
+\newcommand{\vf}{\vec{f}}
+\let\vg\undefined \newcommand{\vg}{\vec{g}} % ESAIM
+\newcommand{\vh}{\vec{h}}
+\newcommand{\vi}{\vec{i}}
+\newcommand{\vj}{\vec{j}}
+\newcommand{\vk}{\vec{k}}
+\newcommand{\vl}{\vec{l}}
+\newcommand{\vm}{\vec{m}}
+\newcommand{\vn}{\vec{n}}
+\newcommand{\vo}{\vec{o}}
+\newcommand{\vp}{\vec{p}}
+\newcommand{\vq}{\vec{q}}
+\newcommand{\vr}{\vec{r}}
+\newcommand{\vs}{\vec{s}}
+\newcommand{\vt}{\vec{t}}
+\newcommand{\vu}{\vec{u}}
+\let\vv\undefined \newcommand{\vv}{\vec{v}} % jnsao
+\newcommand{\vw}{\vec{w}}
+\newcommand{\vx}{\vec{x}}
+\newcommand{\vy}{\vec{y}}
+\newcommand{\vz}{\vec{z}}
+
+% Define commands for upper-case letters with vector accents in math mode
+\newcommand{\vA}{\vec{A}}
+\newcommand{\vB}{\vec{B}}
+\newcommand{\vC}{\vec{C}}
+\newcommand{\vD}{\vec{D}}
+\newcommand{\vE}{\vec{E}}
+\newcommand{\vF}{\vec{F}}
+\newcommand{\vG}{\vec{G}}
+\newcommand{\vH}{\vec{H}}
+\newcommand{\vI}{\vec{I}}
+\newcommand{\vJ}{\vec{J}}
+\newcommand{\vK}{\vec{K}}
+\newcommand{\vL}{\vec{L}}
+\newcommand{\vM}{\vec{M}}
+\newcommand{\vN}{\vec{N}}
+\newcommand{\vO}{\vec{O}}
+\newcommand{\vP}{\vec{P}}
+\newcommand{\vQ}{\vec{Q}}
+\newcommand{\vR}{\vec{R}}
+\newcommand{\vS}{\vec{S}}
+\newcommand{\vT}{\vec{T}}
+\newcommand{\vU}{\vec{U}}
+\newcommand{\vV}{\vec{V}}
+\newcommand{\vW}{\vec{W}}
+\newcommand{\vX}{\vec{X}}
+\newcommand{\vY}{\vec{Y}}
+\newcommand{\vZ}{\vec{Z}}
+
+% Define commands for numbers 0, 1 with vector accents in math mode
+\newcommand{\vnull}{{\vec{0}}}
+\newcommand{\vone}{{\vec{1}}}
+
+% Define commands for lower-case Greek letters with vector accents in math mode
+\newcommand{\valpha}{{\vec{\alpha}}}
+\newcommand{\vbeta}{{\vec{\beta}}}
+\newcommand{\vgamma}{{\vec{\gamma}}}
+\newcommand{\vdelta}{{\vec{\delta}}}
+\newcommand{\vepsilon}{{\vec{\epsilon}}}
+\newcommand{\vvarepsilon}{{\vec{\varepsilon}}}
+\newcommand{\vzeta}{{\vec{\zeta}}}
+\newcommand{\veta}{{\vec{\eta}}}
+\newcommand{\vtheta}{{\vec{\theta}}}
+\newcommand{\vvartheta}{{\vec{\vartheta}}}
+\newcommand{\viota}{{\vec{\iota}}}
+\newcommand{\vkappa}{{\vec{\kappa}}}
+\newcommand{\vvarkappa}{{\vec{\varkappa}}}
+\newcommand{\vlambda}{{\vec{\lambda}}}
+\newcommand{\vmu}{{\vec{\mu}}}
+\newcommand{\vnu}{{\vec{\nu}}}
+\newcommand{\vomicron}{\vec{o}}
+\newcommand{\vxi}{{\vec{\xi}}}
+\newcommand{\vpi}{{\vec{\pi}}}
+\newcommand{\vvarpi}{{\vec{\varpi}}}
+\newcommand{\vrho}{{\vec{\rho}}}
+\newcommand{\vvarrho}{{\vec{\varrho}}}
+\newcommand{\vsigma}{{\vec{\sigma}}}
+\newcommand{\vvarsigma}{{\vec{\varsigma}}}
+\newcommand{\vtau}{{\vec{\tau}}}
+\newcommand{\vupsilon}{{\vec{\upsilon}}}
+\newcommand{\vphi}{{\vec{\phi}}}
+\newcommand{\vvarphi}{{\vec{\varphi}}}
+\newcommand{\vchi}{{\vec{\chi}}}
+\newcommand{\vpsi}{{\vec{\psi}}}
+\newcommand{\vomega}{{\vec{\omega}}}
+
+% Define commands for upper-case Greek letters with vector accents in math mode
+\newcommand{\vAlpha}{{\vec{A}}}
+\newcommand{\vBeta}{{\vec{B}}}
+\newcommand{\vGamma}{{\vec{\Gamma}}}
+\newcommand{\vDelta}{{\vec{\Delta}}}
+\newcommand{\vEpsilon}{{\vec{E}}}
+\newcommand{\vZeta}{{\vec{Z}}}
+\newcommand{\vEta}{{\vec{H}}}
+\newcommand{\vTheta}{{\vec{\Theta}}}
+\newcommand{\vIota}{{\vec{I}}}
+\newcommand{\vKappa}{{\vec{K}}}
+\newcommand{\vLambda}{{\vec{\Lambda}}}
+\newcommand{\vMu}{{\vec{M}}}
+\newcommand{\vNu}{{\vec{N}}}
+\newcommand{\vOmicron}{\vec{O}}
+\newcommand{\vXi}{{\vec{\Xi}}}
+\newcommand{\vPi}{{\vec{\Pi}}}
+\newcommand{\vRho}{{\vec{P}}}
+\newcommand{\vSigma}{{\vec{\Sigma}}}
+\newcommand{\vTau}{{\vec{T}}}
+\newcommand{\vUpsilon}{{\vec{\Upsilon}}}
+\newcommand{\vPhi}{{\vec{\Phi}}}
+\newcommand{\vChi}{{\vec{X}}}
+\newcommand{\vPsi}{{\vec{\Psi}}}
+\newcommand{\vOmega}{{\vec{\Omega}}}
+
+% Define commands for some blackboard characters in math mode, mainly used for sets
+\newcommand{\bbA}{\mathbb{A}}
+\newcommand{\bbB}{\mathbb{B}}
+\newcommand{\bbC}{\mathbb{C}}
+\newcommand{\bbD}{\mathbb{D}}
+\newcommand{\bbE}{\mathbb{E}}
+\newcommand{\bbF}{\mathbb{F}}
+\newcommand{\bbG}{\mathbb{G}}
+\newcommand{\bbH}{\mathbb{H}}
+\newcommand{\bbI}{\mathbb{I}}
+\newcommand{\bbJ}{\mathbb{J}}
+\newcommand{\bbK}{\mathbb{K}}
+\newcommand{\bbL}{\mathbb{L}}
+\newcommand{\bbM}{\mathbb{M}}
+\newcommand{\bbN}{\mathbb{N}}
+\newcommand{\bbO}{\mathbb{O}}
+\newcommand{\bbP}{\mathbb{P}}
+\newcommand{\bbQ}{\mathbb{Q}}
+\newcommand{\bbR}{\mathbb{R}}
+\newcommand{\bbS}{\mathbb{S}}
+\newcommand{\bbT}{\mathbb{T}}
+\newcommand{\bbU}{\mathbb{U}}
+\newcommand{\bbV}{\mathbb{V}}
+\newcommand{\bbW}{\mathbb{W}}
+\newcommand{\bbX}{\mathbb{X}}
+\newcommand{\bbY}{\mathbb{Y}}
+\newcommand{\bbZ}{\mathbb{Z}}
+
+\ifthenelse{\boolean{mathsemantics@syntax@shortbb}}{
+ \providecommand{\C}{\bbC}%
+ \providecommand{\K}{\bbK}%
+ \providecommand{\N}{\bbN}%
+ \providecommand{\Q}{\bbQ}%
+ \providecommand{\R}{\bbR}%
+ \providecommand{\Z}{\bbZ}%
+}{}
+
+
+% Define \enclose command
+% \enclose[a]{b}{c}{d} encloses content (c) in brackets (b,d) where the optional parameter
+% a scales the brackets (big, Big, bigg, Bigg) or (auto)matically scales them.
+% It can also be set to [none] do deactivate the brackets/enclosing
+% \enclosespacing allows for additional spacing before and after the \enclose:d content
+% https://blag.nullteilerfrei.de/2014/01/16/a-dynamic-bracketing-macro-in-latex/
+% The \enclose command is mainly meant for internal use; use \paren instead
+\newcommand{\enclspacing}{}
+\newcommand{\enclose}[4][]{%
+ \ifthenelse{\isempty{#1}}%
+ {\ifthenelse{\equal{#2}{.}}{}{#2}\enclspacing#3\enclspacing#4}%
+ {\ifthenelse{\equal{#1}{auto}}% given auto
+ {\mathopen{}\left#2\enclspacing#3\enclspacing\mathclose{}\right#4}%
+ {\ifthenelse{\equal{#1}{none}}% given none
+ {#3}%
+ {\csname#1l\endcsname#2\enclspacing#3\enclspacing\csname#1r\endcsname#4}%
+ }% end auto
+ }% end #1 empty
+}
+
+% Define \encloseSet command to do { c | e }
+% \enclose[a]{b}{c}{d}{e}{f} encloses content c and e in brackets (b,f) with a center delimiter d, where the optional parameter
+% a scales the brackets (big, Big, bigg, Bigg) or (auto)matically scales them
+% \enclosespacingSet allows for additional spacing before and after the center delimiter, the outer brackets gain a \encloseSpacing as \enclose:
+% https://blag.nullteilerfrei.de/2014/01/16/a-dynamic-bracketing-macro-in-latex/
+% The \enclose command is mainly meant for internal use; use \paren instead
+\newcommand{\enclspacingSet}{\,}
+\newcommand{\encloseSet}[6][]{%
+ \ifthenelse{\isempty{#1}}%
+ {#2\enclspacing#3 \enclspacingSet#4\enclspacingSet #5\enclspacing#6}%
+ {\ifthenelse{\equal{#1}{auto}}%
+ {\left#2\enclspacing#3\enclspacingSet\middle#4\enclspacingSet#5\right#6}%
+ {\csname#1l\endcsname#2\enclspacing#3\enclspacingSet\csname#1\endcsname#4\enclspacingSet#5\enclspacing\csname#1r\endcsname#6}%
+ }%
+ }
+
+% Define \paren command
+% \paren[a]bc{d} encloses content (d) in brackets b,c where the optional parameter
+% a scales the brackets
+\newcommand{\paren}[4][]{\enclose[#1]{#2}{#4}{#3}}
+
+% Define the \clap (complementing \{l,r}lap) and \math{l,c,r}lap commands,
+% which horizontally smash the argument with alignment
+% http://www.tug.org/TUGboat/Articles/tb22-4/tb72perlS.pdf
+\def\clap#1{\hbox to 0pt{\hss#1\hss}}
+\def\mathllap{\mathpalette\mathllapinternal}
+\def\mathrlap{\mathpalette\mathrlapinternal}
+\def\mathclap{\mathpalette\mathclapinternal}
+\def\mathllapinternal#1#2{\llap{$\mathsurround=0pt#1{#2}$}}
+\def\mathrlapinternal#1#2{\rlap{$\mathsurround=0pt#1{#2}$}}
+\def\mathclapinternal#1#2{\clap{$\mathsurround=0pt#1{#2}$}}
+
+% Define the \mrep[a]{b}{c} command, which prints b but reserves the space for c.
+% The optional argument a specifies the alignment {l,c,r}. The command works in text and math modes.
+% https://groups.google.com/forum/?fromgroups#!topic/comp.text.tex/GikFchXJIM0
+\def\my@mathpalette#1#2#3#4{\mathchoice{#1\displaystyle{#2}{#3}{#4}}{#1\textstyle{#2}{#3}{#4}}{#1\scriptstyle{#2}{#3}{#4}}{#1\scriptscriptstyle{#2}{#3}{#4}}}
+\def\mrepinternal#1#2#3#4{\makebox[\widthof{$#1#4$}][#2]{$#1\vphantom{#4}{#3}$}}
+\newcommand{\mrep}[3][l]{\ifmmode\my@mathpalette\mrepinternal{#1}{#2}{#3}\else\makebox[\widthof{#3}][#1]{\vphantom{#3}#2}\fi} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics.sty b/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics.sty
new file mode 100644
index 00000000000..193c74c33dd
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mathsemantics/mathsemantics.sty
@@ -0,0 +1,19 @@
+%
+% mathsemantics.sty
+%
+\ProvidesPackage{mathsemantics}[2022/05/06 MathSemantics.sty v1.0.0]
+\DeclareOption{shortbb}{%
+ \PassOptionsToPackage{shortbb}{mathsemantics-syntax}
+}
+\ProcessOptions\relax
+
+\RequirePackage{mathsemantics-commons}
+
+\RequirePackage{mathsemantics-syntax}
+\RequirePackage{mathsemantics-abbreviations}
+\RequirePackage{mathsemantics-names}
+
+\RequirePackage{mathsemantics-semantic}
+
+\RequirePackage{mathsemantics-manifolds}
+\RequirePackage{mathsemantics-optimization} \ No newline at end of file