// Copyright (c) 2018-2022 The MathJax Consortium
// SPDX-License-Identifier: Apache-2.0
// Go declarative translation of MathJax 3.2.2 physics/PhysicsMappings.ts.

package tex

var mjSourcePhysicsMaps = []mjSourceMap{
	// physics/PhysicsMappings.ts
	// Upstream line 35.
	{
		Name:    "Physics-automatic-bracing-macros",
		Kind:    mjSourceCommandMap,
		Source:  "ts/input/tex/physics/PhysicsMappings.ts",
		Line:    35,
		Methods: "PhysicsMethods",
		Entries: []mjSourceEntry{
			{Name: "quantity", Value: "Quantity"},
			{Name: "qty", Value: "Quantity"},
			{Name: "pqty", Value: mjSourceList{"Quantity", "(", ")", true}},
			{Name: "bqty", Value: mjSourceList{"Quantity", "[", "]", true}},
			{Name: "vqty", Value: mjSourceList{"Quantity", "|", "|", true}},
			{Name: "Bqty", Value: mjSourceList{"Quantity", "\\{", "\\}", true}},
			{Name: "absolutevalue", Value: mjSourceList{"Quantity", "|", "|", true}},
			{Name: "abs", Value: mjSourceList{"Quantity", "|", "|", true}},
			{Name: "norm", Value: mjSourceList{"Quantity", "\\|", "\\|", true}},
			{Name: "evaluated", Value: "Eval"},
			{Name: "eval", Value: "Eval"},
			{Name: "order", Value: mjSourceList{"Quantity", "(", ")", true, "O", "-tex-calligraphic"}},
			{Name: "commutator", Value: "Commutator"},
			{Name: "comm", Value: "Commutator"},
			{Name: "anticommutator", Value: mjSourceList{"Commutator", "\\{", "\\}"}},
			{Name: "acomm", Value: mjSourceList{"Commutator", "\\{", "\\}"}},
			{Name: "poissonbracket", Value: mjSourceList{"Commutator", "\\{", "\\}"}},
			{Name: "pb", Value: mjSourceList{"Commutator", "\\{", "\\}"}},
		},
	},
	// physics/PhysicsMappings.ts
	// Upstream line 61.
	{
		Name:   "Physics-vector-mo",
		Kind:   mjSourceCharacterMap,
		Source: "ts/input/tex/physics/PhysicsMappings.ts",
		Line:   61,
		Parser: "ParseMethods.mathchar0mo",
		Entries: []mjSourceEntry{
			{Name: "dotproduct", Value: mjSourceList{"⋅", mjSourceObject{{Name: "mathvariant", Value: "bold"}}}},
			{Name: "vdot", Value: mjSourceList{"⋅", mjSourceObject{{Name: "mathvariant", Value: "bold"}}}},
			{Name: "crossproduct", Value: "×"},
			{Name: "cross", Value: "×"},
			{Name: "cp", Value: "×"},
			{Name: "gradientnabla", Value: mjSourceList{"∇", mjSourceObject{{Name: "mathvariant", Value: "bold"}}}},
		},
	},
	// physics/PhysicsMappings.ts
	// Upstream line 71.
	{
		Name:   "Physics-vector-mi",
		Kind:   mjSourceCharacterMap,
		Source: "ts/input/tex/physics/PhysicsMappings.ts",
		Line:   71,
		Parser: "ParseMethods.mathchar0mi",
		Entries: []mjSourceEntry{
			{Name: "real", Value: mjSourceList{"ℜ", mjSourceObject{{Name: "mathvariant", Value: "normal"}}}},
			{Name: "imaginary", Value: mjSourceList{"ℑ", mjSourceObject{{Name: "mathvariant", Value: "normal"}}}},
		},
	},
	// physics/PhysicsMappings.ts
	// Upstream line 76.
	{
		Name:    "Physics-vector-macros",
		Kind:    mjSourceCommandMap,
		Source:  "ts/input/tex/physics/PhysicsMappings.ts",
		Line:    76,
		Methods: "PhysicsMethods",
		Entries: []mjSourceEntry{
			{Name: "vnabla", Value: "Vnabla"},
			{Name: "vectorbold", Value: "VectorBold"},
			{Name: "vb", Value: "VectorBold"},
			{Name: "vectorarrow", Value: mjSourceList{"StarMacro", 1, "\\vec{\\vb", "{#1}}"}},
			{Name: "va", Value: mjSourceList{"StarMacro", 1, "\\vec{\\vb", "{#1}}"}},
			{Name: "vectorunit", Value: mjSourceList{"StarMacro", 1, "\\hat{\\vb", "{#1}}"}},
			{Name: "vu", Value: mjSourceList{"StarMacro", 1, "\\hat{\\vb", "{#1}}"}},
			{Name: "gradient", Value: mjSourceList{"OperatorApplication", "\\vnabla", "(", "["}},
			{Name: "grad", Value: mjSourceList{"OperatorApplication", "\\vnabla", "(", "["}},
			{Name: "divergence", Value: mjSourceList{"VectorOperator", "\\vnabla\\vdot", "(", "["}},
			{Name: "div", Value: mjSourceList{"VectorOperator", "\\vnabla\\vdot", "(", "["}},
			{Name: "curl", Value: mjSourceList{"VectorOperator", "\\vnabla\\crossproduct", "(", "["}},
			{Name: "laplacian", Value: mjSourceList{"OperatorApplication", "\\nabla^2", "(", "["}},
		},
	},
	// physics/PhysicsMappings.ts
	// Upstream line 96.
	{
		Name:    "Physics-expressions-macros",
		Kind:    mjSourceCommandMap,
		Source:  "ts/input/tex/physics/PhysicsMappings.ts",
		Line:    96,
		Methods: "PhysicsMethods",
		Entries: []mjSourceEntry{
			{Name: "sin", Value: "Expression"},
			{Name: "sinh", Value: "Expression"},
			{Name: "arcsin", Value: "Expression"},
			{Name: "asin", Value: "Expression"},
			{Name: "cos", Value: "Expression"},
			{Name: "cosh", Value: "Expression"},
			{Name: "arccos", Value: "Expression"},
			{Name: "acos", Value: "Expression"},
			{Name: "tan", Value: "Expression"},
			{Name: "tanh", Value: "Expression"},
			{Name: "arctan", Value: "Expression"},
			{Name: "atan", Value: "Expression"},
			{Name: "csc", Value: "Expression"},
			{Name: "csch", Value: "Expression"},
			{Name: "arccsc", Value: "Expression"},
			{Name: "acsc", Value: "Expression"},
			{Name: "sec", Value: "Expression"},
			{Name: "sech", Value: "Expression"},
			{Name: "arcsec", Value: "Expression"},
			{Name: "asec", Value: "Expression"},
			{Name: "cot", Value: "Expression"},
			{Name: "coth", Value: "Expression"},
			{Name: "arccot", Value: "Expression"},
			{Name: "acot", Value: "Expression"},
			{Name: "exp", Value: mjSourceList{"Expression", false}},
			{Name: "log", Value: "Expression"},
			{Name: "ln", Value: "Expression"},
			{Name: "det", Value: mjSourceList{"Expression", false}},
			{Name: "Pr", Value: mjSourceList{"Expression", false}},
			{Name: "tr", Value: mjSourceList{"Expression", false}},
			{Name: "trace", Value: mjSourceList{"Expression", false, "tr"}},
			{Name: "Tr", Value: mjSourceList{"Expression", false}},
			{Name: "Trace", Value: mjSourceList{"Expression", false, "Tr"}},
			{Name: "rank", Value: "NamedFn"},
			{Name: "erf", Value: mjSourceList{"Expression", false}},
			{Name: "Residue", Value: mjSourceList{"Macro", "\\mathrm{Res}"}},
			{Name: "Res", Value: mjSourceList{"OperatorApplication", "\\Residue", "(", "[", "{"}},
			{Name: "principalvalue", Value: mjSourceList{"OperatorApplication", "{\\cal P}"}},
			{Name: "pv", Value: mjSourceList{"OperatorApplication", "{\\cal P}"}},
			{Name: "PV", Value: mjSourceList{"OperatorApplication", "{\\rm P.V.}"}},
			{Name: "Re", Value: mjSourceList{"OperatorApplication", "\\mathrm{Re}", "{"}},
			{Name: "Im", Value: mjSourceList{"OperatorApplication", "\\mathrm{Im}", "{"}},
			{Name: "sine", Value: mjSourceList{"NamedFn", "sin"}},
			{Name: "hypsine", Value: mjSourceList{"NamedFn", "sinh"}},
			{Name: "arcsine", Value: mjSourceList{"NamedFn", "arcsin"}},
			{Name: "asine", Value: mjSourceList{"NamedFn", "asin"}},
			{Name: "cosine", Value: mjSourceList{"NamedFn", "cos"}},
			{Name: "hypcosine", Value: mjSourceList{"NamedFn", "cosh"}},
			{Name: "arccosine", Value: mjSourceList{"NamedFn", "arccos"}},
			{Name: "acosine", Value: mjSourceList{"NamedFn", "acos"}},
			{Name: "tangent", Value: mjSourceList{"NamedFn", "tan"}},
			{Name: "hyptangent", Value: mjSourceList{"NamedFn", "tanh"}},
			{Name: "arctangent", Value: mjSourceList{"NamedFn", "arctan"}},
			{Name: "atangent", Value: mjSourceList{"NamedFn", "atan"}},
			{Name: "cosecant", Value: mjSourceList{"NamedFn", "csc"}},
			{Name: "hypcosecant", Value: mjSourceList{"NamedFn", "csch"}},
			{Name: "arccosecant", Value: mjSourceList{"NamedFn", "arccsc"}},
			{Name: "acosecant", Value: mjSourceList{"NamedFn", "acsc"}},
			{Name: "secant", Value: mjSourceList{"NamedFn", "sec"}},
			{Name: "hypsecant", Value: mjSourceList{"NamedFn", "sech"}},
			{Name: "arcsecant", Value: mjSourceList{"NamedFn", "arcsec"}},
			{Name: "asecant", Value: mjSourceList{"NamedFn", "asec"}},
			{Name: "cotangent", Value: mjSourceList{"NamedFn", "cot"}},
			{Name: "hypcotangent", Value: mjSourceList{"NamedFn", "coth"}},
			{Name: "arccotangent", Value: mjSourceList{"NamedFn", "arccot"}},
			{Name: "acotangent", Value: mjSourceList{"NamedFn", "acot"}},
			{Name: "exponential", Value: mjSourceList{"NamedFn", "exp"}},
			{Name: "logarithm", Value: mjSourceList{"NamedFn", "log"}},
			{Name: "naturallogarithm", Value: mjSourceList{"NamedFn", "ln"}},
			{Name: "determinant", Value: mjSourceList{"NamedFn", "det"}},
			{Name: "Probability", Value: mjSourceList{"NamedFn", "Pr"}},
		},
	},
	// physics/PhysicsMappings.ts
	// Upstream line 176.
	{
		Name:    "Physics-quick-quad-macros",
		Kind:    mjSourceCommandMap,
		Source:  "ts/input/tex/physics/PhysicsMappings.ts",
		Line:    176,
		Methods: "PhysicsMethods",
		Entries: []mjSourceEntry{
			{Name: "qqtext", Value: "Qqtext"},
			{Name: "qq", Value: "Qqtext"},
			{Name: "qcomma", Value: mjSourceList{"Macro", "\\qqtext*{,}"}},
			{Name: "qc", Value: mjSourceList{"Macro", "\\qqtext*{,}"}},
			{Name: "qcc", Value: mjSourceList{"Qqtext", "c.c."}},
			{Name: "qif", Value: mjSourceList{"Qqtext", "if"}},
			{Name: "qthen", Value: mjSourceList{"Qqtext", "then"}},
			{Name: "qelse", Value: mjSourceList{"Qqtext", "else"}},
			{Name: "qotherwise", Value: mjSourceList{"Qqtext", "otherwise"}},
			{Name: "qunless", Value: mjSourceList{"Qqtext", "unless"}},
			{Name: "qgiven", Value: mjSourceList{"Qqtext", "given"}},
			{Name: "qusing", Value: mjSourceList{"Qqtext", "using"}},
			{Name: "qassume", Value: mjSourceList{"Qqtext", "assume"}},
			{Name: "qsince", Value: mjSourceList{"Qqtext", "since"}},
			{Name: "qlet", Value: mjSourceList{"Qqtext", "let"}},
			{Name: "qfor", Value: mjSourceList{"Qqtext", "for"}},
			{Name: "qall", Value: mjSourceList{"Qqtext", "all"}},
			{Name: "qeven", Value: mjSourceList{"Qqtext", "even"}},
			{Name: "qodd", Value: mjSourceList{"Qqtext", "odd"}},
			{Name: "qinteger", Value: mjSourceList{"Qqtext", "integer"}},
			{Name: "qand", Value: mjSourceList{"Qqtext", "and"}},
			{Name: "qor", Value: mjSourceList{"Qqtext", "or"}},
			{Name: "qas", Value: mjSourceList{"Qqtext", "as"}},
			{Name: "qin", Value: mjSourceList{"Qqtext", "in"}},
		},
	},
	// physics/PhysicsMappings.ts
	// Upstream line 207.
	{
		Name:    "Physics-derivative-macros",
		Kind:    mjSourceCommandMap,
		Source:  "ts/input/tex/physics/PhysicsMappings.ts",
		Line:    207,
		Methods: "PhysicsMethods",
		Entries: []mjSourceEntry{
			{Name: "diffd", Value: "DiffD"},
			{Name: "flatfrac", Value: mjSourceList{"Macro", "\\left.#1\\middle/#2\\right.", 2}},
			{Name: "differential", Value: mjSourceList{"Differential", "\\diffd"}},
			{Name: "dd", Value: mjSourceList{"Differential", "\\diffd"}},
			{Name: "variation", Value: mjSourceList{"Differential", "\\delta"}},
			{Name: "var", Value: mjSourceList{"Differential", "\\delta"}},
			{Name: "derivative", Value: mjSourceList{"Derivative", 2, "\\diffd"}},
			{Name: "dv", Value: mjSourceList{"Derivative", 2, "\\diffd"}},
			{Name: "partialderivative", Value: mjSourceList{"Derivative", 3, "\\partial"}},
			{Name: "pderivative", Value: mjSourceList{"Derivative", 3, "\\partial"}},
			{Name: "pdv", Value: mjSourceList{"Derivative", 3, "\\partial"}},
			{Name: "functionalderivative", Value: mjSourceList{"Derivative", 2, "\\delta"}},
			{Name: "fderivative", Value: mjSourceList{"Derivative", 2, "\\delta"}},
			{Name: "fdv", Value: mjSourceList{"Derivative", 2, "\\delta"}},
		},
	},
	// physics/PhysicsMappings.ts
	// Upstream line 228.
	{
		Name:    "Physics-bra-ket-macros",
		Kind:    mjSourceCommandMap,
		Source:  "ts/input/tex/physics/PhysicsMappings.ts",
		Line:    228,
		Methods: "PhysicsMethods",
		Entries: []mjSourceEntry{
			{Name: "bra", Value: "Bra"},
			{Name: "ket", Value: "Ket"},
			{Name: "innerproduct", Value: "BraKet"},
			{Name: "ip", Value: "BraKet"},
			{Name: "braket", Value: "BraKet"},
			{Name: "outerproduct", Value: "KetBra"},
			{Name: "dyad", Value: "KetBra"},
			{Name: "ketbra", Value: "KetBra"},
			{Name: "op", Value: "KetBra"},
			{Name: "expectationvalue", Value: "Expectation"},
			{Name: "expval", Value: "Expectation"},
			{Name: "ev", Value: "Expectation"},
			{Name: "matrixelement", Value: "MatrixElement"},
			{Name: "matrixel", Value: "MatrixElement"},
			{Name: "mel", Value: "MatrixElement"},
		},
	},
	// physics/PhysicsMappings.ts
	// Upstream line 250.
	{
		Name:    "Physics-matrix-macros",
		Kind:    mjSourceCommandMap,
		Source:  "ts/input/tex/physics/PhysicsMappings.ts",
		Line:    250,
		Methods: "PhysicsMethods",
		Entries: []mjSourceEntry{
			{Name: "matrixquantity", Value: "MatrixQuantity"},
			{Name: "mqty", Value: "MatrixQuantity"},
			{Name: "pmqty", Value: mjSourceList{"Macro", "\\mqty(#1)", 1}},
			{Name: "Pmqty", Value: mjSourceList{"Macro", "\\mqty*(#1)", 1}},
			{Name: "bmqty", Value: mjSourceList{"Macro", "\\mqty[#1]", 1}},
			{Name: "vmqty", Value: mjSourceList{"Macro", "\\mqty|#1|", 1}},
			{Name: "smallmatrixquantity", Value: mjSourceList{"MatrixQuantity", true}},
			{Name: "smqty", Value: mjSourceList{"MatrixQuantity", true}},
			{Name: "spmqty", Value: mjSourceList{"Macro", "\\smqty(#1)", 1}},
			{Name: "sPmqty", Value: mjSourceList{"Macro", "\\smqty*(#1)", 1}},
			{Name: "sbmqty", Value: mjSourceList{"Macro", "\\smqty[#1]", 1}},
			{Name: "svmqty", Value: mjSourceList{"Macro", "\\smqty|#1|", 1}},
			{Name: "matrixdeterminant", Value: mjSourceList{"Macro", "\\vmqty{#1}", 1}},
			{Name: "mdet", Value: mjSourceList{"Macro", "\\vmqty{#1}", 1}},
			{Name: "smdet", Value: mjSourceList{"Macro", "\\svmqty{#1}", 1}},
			{Name: "identitymatrix", Value: "IdentityMatrix"},
			{Name: "imat", Value: "IdentityMatrix"},
			{Name: "xmatrix", Value: "XMatrix"},
			{Name: "xmat", Value: "XMatrix"},
			{Name: "zeromatrix", Value: mjSourceList{"Macro", "\\xmat{0}{#1}{#2}", 2}},
			{Name: "zmat", Value: mjSourceList{"Macro", "\\xmat{0}{#1}{#2}", 2}},
			{Name: "paulimatrix", Value: "PauliMatrix"},
			{Name: "pmat", Value: "PauliMatrix"},
			{Name: "diagonalmatrix", Value: "DiagonalMatrix"},
			{Name: "dmat", Value: "DiagonalMatrix"},
			{Name: "antidiagonalmatrix", Value: mjSourceList{"DiagonalMatrix", true}},
			{Name: "admat", Value: mjSourceList{"DiagonalMatrix", true}},
		},
	},
	// physics/PhysicsMappings.ts
	// Upstream line 287.
	{
		Name:    "Physics-aux-envs",
		Kind:    mjSourceEnvironmentMap,
		Source:  "ts/input/tex/physics/PhysicsMappings.ts",
		Line:    287,
		Parser:  "ParseMethods.environment",
		Methods: "PhysicsMethods",
		Entries: []mjSourceEntry{
			{Name: "smallmatrix", Value: mjSourceList{"Array", nil, nil, nil, "c", "0.333em", ".2em", "S", 1}},
		},
	},
	// physics/PhysicsMappings.ts
	// Upstream line 295.
	{
		Name:    "Physics-characters",
		Kind:    mjSourceMacroMap,
		Source:  "ts/input/tex/physics/PhysicsMappings.ts",
		Line:    295,
		Methods: "PhysicsMethods",
		Entries: []mjSourceEntry{
			{Name: "|", Value: mjSourceList{"AutoClose", 0}},
			{Name: ")", Value: "AutoClose"},
			{Name: "]", Value: "AutoClose"},
		},
	},
}
