mirror of
https://github.com/Smaug123/KaTeX
synced 2025-10-08 20:48:41 +00:00
Fix coloneq etc (#1372)
Fix issue #1333. `\coloneq` and several similar functions are written as macros. When expanded, these result in atoms like ":" and "=" placed adjacent to each other at the top level. So they exposed to a split by an automatic line break. This PR wraps each of these macros in an `\mathrel{ }`. This prevents the line break.
This commit is contained in:
@@ -464,31 +464,38 @@ defineMacro("\\ordinarycolon", ":");
|
||||
//TODO(edemaine): Not yet centered. Fix via \raisebox or #726
|
||||
defineMacro("\\vcentcolon", "\\mathrel{\\mathop\\ordinarycolon}");
|
||||
// \providecommand*\dblcolon{\vcentcolon\mathrel{\mkern-.9mu}\vcentcolon}
|
||||
defineMacro("\\dblcolon", "\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon");
|
||||
defineMacro("\\dblcolon",
|
||||
"\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}");
|
||||
// \providecommand*\coloneqq{\vcentcolon\mathrel{\mkern-1.2mu}=}
|
||||
defineMacro("\\coloneqq", "\\vcentcolon\\mathrel{\\mkern-1.2mu}=");
|
||||
defineMacro("\\coloneqq", "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}");
|
||||
// \providecommand*\Coloneqq{\dblcolon\mathrel{\mkern-1.2mu}=}
|
||||
defineMacro("\\Coloneqq", "\\dblcolon\\mathrel{\\mkern-1.2mu}=");
|
||||
defineMacro("\\Coloneqq", "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}");
|
||||
// \providecommand*\coloneq{\vcentcolon\mathrel{\mkern-1.2mu}\mathrel{-}}
|
||||
defineMacro("\\coloneq", "\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}");
|
||||
defineMacro("\\coloneq",
|
||||
"\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}");
|
||||
// \providecommand*\Coloneq{\dblcolon\mathrel{\mkern-1.2mu}\mathrel{-}}
|
||||
defineMacro("\\Coloneq", "\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}");
|
||||
defineMacro("\\Coloneq",
|
||||
"\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}");
|
||||
// \providecommand*\eqqcolon{=\mathrel{\mkern-1.2mu}\vcentcolon}
|
||||
defineMacro("\\eqqcolon", "=\\mathrel{\\mkern-1.2mu}\\vcentcolon");
|
||||
defineMacro("\\eqqcolon", "\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}");
|
||||
// \providecommand*\Eqqcolon{=\mathrel{\mkern-1.2mu}\dblcolon}
|
||||
defineMacro("\\Eqqcolon", "=\\mathrel{\\mkern-1.2mu}\\dblcolon");
|
||||
defineMacro("\\Eqqcolon", "\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}");
|
||||
// \providecommand*\eqcolon{\mathrel{-}\mathrel{\mkern-1.2mu}\vcentcolon}
|
||||
defineMacro("\\eqcolon", "\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon");
|
||||
defineMacro("\\eqcolon",
|
||||
"\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}");
|
||||
// \providecommand*\Eqcolon{\mathrel{-}\mathrel{\mkern-1.2mu}\dblcolon}
|
||||
defineMacro("\\Eqcolon", "\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon");
|
||||
defineMacro("\\Eqcolon",
|
||||
"\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}");
|
||||
// \providecommand*\colonapprox{\vcentcolon\mathrel{\mkern-1.2mu}\approx}
|
||||
defineMacro("\\colonapprox", "\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx");
|
||||
defineMacro("\\colonapprox",
|
||||
"\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}");
|
||||
// \providecommand*\Colonapprox{\dblcolon\mathrel{\mkern-1.2mu}\approx}
|
||||
defineMacro("\\Colonapprox", "\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx");
|
||||
defineMacro("\\Colonapprox",
|
||||
"\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}");
|
||||
// \providecommand*\colonsim{\vcentcolon\mathrel{\mkern-1.2mu}\sim}
|
||||
defineMacro("\\colonsim", "\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim");
|
||||
defineMacro("\\colonsim", "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}");
|
||||
// \providecommand*\Colonsim{\dblcolon\mathrel{\mkern-1.2mu}\sim}
|
||||
defineMacro("\\Colonsim", "\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim");
|
||||
defineMacro("\\Colonsim", "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}");
|
||||
|
||||
// Some Unicode characters are implemented with macros to mathtools functions.
|
||||
defineMacro("\u2254", "\\coloneqq"); // :=
|
||||
@@ -515,11 +522,14 @@ defineMacro("\\coloncolonapprox", "\\Colonapprox");
|
||||
defineMacro("\\coloncolonsim", "\\Colonsim");
|
||||
|
||||
// Additional macros, implemented by analogy with mathtools definitions:
|
||||
defineMacro("\\simcolon", "\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon");
|
||||
defineMacro("\\simcoloncolon", "\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon");
|
||||
defineMacro("\\approxcolon", "\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon");
|
||||
defineMacro("\\simcolon",
|
||||
"\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");
|
||||
defineMacro("\\simcoloncolon",
|
||||
"\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");
|
||||
defineMacro("\\approxcolon",
|
||||
"\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");
|
||||
defineMacro("\\approxcoloncolon",
|
||||
"\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon");
|
||||
"\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");
|
||||
|
||||
// Present in newtxmath, pxfonts and txfonts
|
||||
// TODO: The unicode character U+220C ∌ should be added to the font, and this
|
||||
|
Reference in New Issue
Block a user