diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex')
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 |