plurimath 0.10.2 → 0.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1595) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +389 -0
  3. data/ARCHITECTURE.md +102 -0
  4. data/Gemfile +7 -6
  5. data/Rakefile +7 -7
  6. data/TODO.bad_symbols.md +45 -0
  7. data/TODO.bugs/01-unitsml-enoent.md +28 -0
  8. data/TODO.bugs/02-system-stack-error-cloned-objects.md +34 -0
  9. data/TODO.bugs/03-omml-underover-displaystyle.md +23 -0
  10. data/TODO.bugs/04-unitsml-spec-diffs.md +20 -0
  11. data/TODO.bugs/05-omml-greek-entity-encoding.md +50 -0
  12. data/TODO.bugs/mml_custom_model_child_order.md +149 -0
  13. data/TODO.fix-fails/01-phantom-whitespace.md +63 -0
  14. data/TODO.fix-fails/02-table-parentheses-latex.md +17 -0
  15. data/TODO.fix-fails/03-longidv-tag-mathml.md +17 -0
  16. data/TODO.fix-fails/04-mmultiscript-none-mathml.md +17 -0
  17. data/TODO.fix-fails/05-mstyle-nary-oint-mathml.md +17 -0
  18. data/TODO.fix-fails/06-issue-238-mathml.md +17 -0
  19. data/TODO.fix-fails/07-metanorma-bipm-latex.md +19 -0
  20. data/TODO.fix-fails/08-metanorma-itu-latex.md +17 -0
  21. data/TODO.fix-fails/09-omml-greek-encoding.md +24 -0
  22. data/TODO.fix-fails/10-omml-underover-greek.md +19 -0
  23. data/TODO.fix-fails/11-omml-multiscripts-zwsp.md +19 -0
  24. data/TODO.fix-fails/12-omml-oint-integral.md +19 -0
  25. data/TODO.fix-fails/13-omml-nary-prod.md +19 -0
  26. data/TODO.fix-fails/14-omml-empty-mo.md +19 -0
  27. data/TODO.fix-fails/REMAINING_FAILURES.md +168 -0
  28. data/TODO.fix-tests/00-overview.md +102 -0
  29. data/TODO.fix-tests/01-zero-width-space.md +34 -0
  30. data/TODO.fix-tests/02-html-linebreak.md +41 -0
  31. data/TODO.fix-tests/03-phantom-whitespace.md +34 -0
  32. data/TODO.fix-tests/04-mathml-structure.md +33 -0
  33. data/TODO.fix-tests/05-omml-rendering.md +27 -0
  34. data/TODO.mml-plurimath-model.md +86 -0
  35. data/lib/plurimath/asciimath/constants.rb +4 -2
  36. data/lib/plurimath/asciimath/parse.rb +3 -3
  37. data/lib/plurimath/asciimath/parser.rb +5 -5
  38. data/lib/plurimath/asciimath/transform.rb +9 -7
  39. data/lib/plurimath/cli.rb +6 -5
  40. data/lib/plurimath/errors/formatter/unsupported_base.rb +3 -1
  41. data/lib/plurimath/errors/omml/unsupported_node_error.rb +16 -0
  42. data/lib/plurimath/formatter/number_formatter.rb +6 -3
  43. data/lib/plurimath/formatter/numbers/fraction.rb +6 -4
  44. data/lib/plurimath/formatter/numbers/significant.rb +2 -0
  45. data/lib/plurimath/formatter/numeric_formatter.rb +75 -13
  46. data/lib/plurimath/formatter/standard.rb +34 -9
  47. data/lib/plurimath/formatter/supported_locales.rb +1 -1
  48. data/lib/plurimath/html/transform.rb +6 -4
  49. data/lib/plurimath/latex/constants.rb +2 -2
  50. data/lib/plurimath/latex/parse.rb +34 -21
  51. data/lib/plurimath/latex/parser.rb +6 -6
  52. data/lib/plurimath/latex/transform.rb +42 -16
  53. data/lib/plurimath/math/core.rb +61 -36
  54. data/lib/plurimath/math/formula/mrow.rb +11 -12
  55. data/lib/plurimath/math/formula/mstyle.rb +3 -1
  56. data/lib/plurimath/math/formula.rb +107 -60
  57. data/lib/plurimath/math/function/abs.rb +13 -6
  58. data/lib/plurimath/math/function/arccos.rb +0 -1
  59. data/lib/plurimath/math/function/arcsin.rb +0 -1
  60. data/lib/plurimath/math/function/arctan.rb +0 -1
  61. data/lib/plurimath/math/function/arg.rb +4 -3
  62. data/lib/plurimath/math/function/bar.rb +16 -6
  63. data/lib/plurimath/math/function/base.rb +25 -18
  64. data/lib/plurimath/math/function/binary_function.rb +77 -26
  65. data/lib/plurimath/math/function/cancel.rb +6 -3
  66. data/lib/plurimath/math/function/ceil.rb +6 -3
  67. data/lib/plurimath/math/function/color.rb +18 -8
  68. data/lib/plurimath/math/function/cos.rb +0 -1
  69. data/lib/plurimath/math/function/cosh.rb +0 -1
  70. data/lib/plurimath/math/function/cot.rb +0 -1
  71. data/lib/plurimath/math/function/coth.rb +0 -1
  72. data/lib/plurimath/math/function/csc.rb +0 -1
  73. data/lib/plurimath/math/function/csch.rb +0 -1
  74. data/lib/plurimath/math/function/ddot.rb +2 -2
  75. data/lib/plurimath/math/function/deg.rb +0 -1
  76. data/lib/plurimath/math/function/det.rb +0 -1
  77. data/lib/plurimath/math/function/dim.rb +0 -1
  78. data/lib/plurimath/math/function/dot.rb +14 -6
  79. data/lib/plurimath/math/function/exp.rb +0 -1
  80. data/lib/plurimath/math/function/fenced.rb +106 -54
  81. data/lib/plurimath/math/function/floor.rb +6 -3
  82. data/lib/plurimath/math/function/font_style/bold-fraktur.rb +2 -2
  83. data/lib/plurimath/math/function/font_style/bold-italic.rb +0 -1
  84. data/lib/plurimath/math/function/font_style/bold-sans-serif.rb +2 -2
  85. data/lib/plurimath/math/function/font_style/bold-script.rb +2 -2
  86. data/lib/plurimath/math/function/font_style/bold.rb +2 -2
  87. data/lib/plurimath/math/function/font_style/double_struck.rb +4 -3
  88. data/lib/plurimath/math/function/font_style/fraktur.rb +2 -2
  89. data/lib/plurimath/math/function/font_style/italic.rb +2 -2
  90. data/lib/plurimath/math/function/font_style/monospace.rb +4 -3
  91. data/lib/plurimath/math/function/font_style/normal.rb +2 -2
  92. data/lib/plurimath/math/function/font_style/sans-serif-bold-italic.rb +2 -2
  93. data/lib/plurimath/math/function/font_style/sans-serif-italic.rb +2 -2
  94. data/lib/plurimath/math/function/font_style/sans-serif.rb +4 -3
  95. data/lib/plurimath/math/function/font_style/script.rb +2 -2
  96. data/lib/plurimath/math/function/font_style.rb +70 -26
  97. data/lib/plurimath/math/function/frac.rb +46 -22
  98. data/lib/plurimath/math/function/gcd.rb +0 -1
  99. data/lib/plurimath/math/function/glb.rb +0 -1
  100. data/lib/plurimath/math/function/hat.rb +13 -6
  101. data/lib/plurimath/math/function/hom.rb +0 -1
  102. data/lib/plurimath/math/function/inf.rb +8 -5
  103. data/lib/plurimath/math/function/int.rb +31 -14
  104. data/lib/plurimath/math/function/intent.rb +3 -3
  105. data/lib/plurimath/math/function/ker.rb +0 -1
  106. data/lib/plurimath/math/function/lcm.rb +0 -1
  107. data/lib/plurimath/math/function/left.rb +3 -4
  108. data/lib/plurimath/math/function/lg.rb +0 -1
  109. data/lib/plurimath/math/function/lim.rb +24 -9
  110. data/lib/plurimath/math/function/liminf.rb +0 -1
  111. data/lib/plurimath/math/function/limits.rb +4 -3
  112. data/lib/plurimath/math/function/limsup.rb +0 -1
  113. data/lib/plurimath/math/function/linebreak.rb +6 -3
  114. data/lib/plurimath/math/function/ln.rb +0 -1
  115. data/lib/plurimath/math/function/log.rb +25 -10
  116. data/lib/plurimath/math/function/longdiv.rb +0 -2
  117. data/lib/plurimath/math/function/lub.rb +0 -1
  118. data/lib/plurimath/math/function/max.rb +0 -1
  119. data/lib/plurimath/math/function/mbox.rb +4 -2
  120. data/lib/plurimath/math/function/menclose.rb +15 -9
  121. data/lib/plurimath/math/function/merror.rb +0 -2
  122. data/lib/plurimath/math/function/mglyph.rb +12 -14
  123. data/lib/plurimath/math/function/min.rb +0 -1
  124. data/lib/plurimath/math/function/mlabeledtr.rb +6 -3
  125. data/lib/plurimath/math/function/mod.rb +12 -5
  126. data/lib/plurimath/math/function/mpadded.rb +11 -8
  127. data/lib/plurimath/math/function/ms.rb +3 -4
  128. data/lib/plurimath/math/function/msgroup.rb +31 -14
  129. data/lib/plurimath/math/function/msline.rb +3 -5
  130. data/lib/plurimath/math/function/multiscript.rb +39 -14
  131. data/lib/plurimath/math/function/nary.rb +49 -32
  132. data/lib/plurimath/math/function/none.rb +0 -2
  133. data/lib/plurimath/math/function/norm.rb +3 -3
  134. data/lib/plurimath/math/function/obrace.rb +8 -5
  135. data/lib/plurimath/math/function/oint.rb +48 -18
  136. data/lib/plurimath/math/function/over.rb +14 -7
  137. data/lib/plurimath/math/function/overleftrightarrow.rb +76 -0
  138. data/lib/plurimath/math/function/overset.rb +33 -14
  139. data/lib/plurimath/math/function/phantom.rb +9 -6
  140. data/lib/plurimath/math/function/power.rb +24 -12
  141. data/lib/plurimath/math/function/power_base.rb +14 -8
  142. data/lib/plurimath/math/function/prod.rb +35 -14
  143. data/lib/plurimath/math/function/right.rb +3 -4
  144. data/lib/plurimath/math/function/root.rb +10 -7
  145. data/lib/plurimath/math/function/rule.rb +1 -1
  146. data/lib/plurimath/math/function/scarries.rb +0 -2
  147. data/lib/plurimath/math/function/scarry.rb +0 -1
  148. data/lib/plurimath/math/function/sec.rb +0 -1
  149. data/lib/plurimath/math/function/sech.rb +0 -1
  150. data/lib/plurimath/math/function/semantics.rb +9 -5
  151. data/lib/plurimath/math/function/sin.rb +0 -1
  152. data/lib/plurimath/math/function/sinh.rb +0 -1
  153. data/lib/plurimath/math/function/sqrt.rb +4 -4
  154. data/lib/plurimath/math/function/stackrel.rb +8 -6
  155. data/lib/plurimath/math/function/substack.rb +11 -5
  156. data/lib/plurimath/math/function/sum.rb +38 -15
  157. data/lib/plurimath/math/function/sup.rb +4 -2
  158. data/lib/plurimath/math/function/table/align.rb +0 -1
  159. data/lib/plurimath/math/function/table/array.rb +9 -9
  160. data/lib/plurimath/math/function/table/bmatrix.rb +15 -7
  161. data/lib/plurimath/math/function/table/cases.rb +3 -2
  162. data/lib/plurimath/math/function/table/eqarray.rb +3 -2
  163. data/lib/plurimath/math/function/table/matrix.rb +10 -5
  164. data/lib/plurimath/math/function/table/multline.rb +0 -1
  165. data/lib/plurimath/math/function/table/pmatrix.rb +3 -2
  166. data/lib/plurimath/math/function/table/split.rb +0 -1
  167. data/lib/plurimath/math/function/table/vmatrix.rb +5 -4
  168. data/lib/plurimath/math/function/table.rb +75 -34
  169. data/lib/plurimath/math/function/tan.rb +0 -1
  170. data/lib/plurimath/math/function/tanh.rb +0 -1
  171. data/lib/plurimath/math/function/td.rb +40 -16
  172. data/lib/plurimath/math/function/ternary_function.rb +89 -31
  173. data/lib/plurimath/math/function/text.rb +7 -8
  174. data/lib/plurimath/math/function/tilde.rb +10 -5
  175. data/lib/plurimath/math/function/tr.rb +47 -18
  176. data/lib/plurimath/math/function/ubrace.rb +5 -4
  177. data/lib/plurimath/math/function/ul.rb +10 -6
  178. data/lib/plurimath/math/function/unary_function.rb +52 -20
  179. data/lib/plurimath/math/function/underover.rb +42 -15
  180. data/lib/plurimath/math/function/underset.rb +39 -18
  181. data/lib/plurimath/math/function/unitsml.rb +34 -14
  182. data/lib/plurimath/math/function/vec.rb +28 -12
  183. data/lib/plurimath/math/function.rb +1 -0
  184. data/lib/plurimath/math/number.rb +5 -4
  185. data/lib/plurimath/math/symbols/aa.rb +4 -2
  186. data/lib/plurimath/math/symbols/ac.rb +4 -2
  187. data/lib/plurimath/math/symbols/accurrent.rb +4 -2
  188. data/lib/plurimath/math/symbols/acidfree.rb +4 -2
  189. data/lib/plurimath/math/symbols/acute.rb +4 -2
  190. data/lib/plurimath/math/symbols/acwcirclearrow.rb +4 -2
  191. data/lib/plurimath/math/symbols/acwgapcirclearrow.rb +4 -2
  192. data/lib/plurimath/math/symbols/acwleftarcarrow.rb +4 -2
  193. data/lib/plurimath/math/symbols/acwoverarcarrow.rb +4 -2
  194. data/lib/plurimath/math/symbols/acwunderarcarrow.rb +4 -2
  195. data/lib/plurimath/math/symbols/alpha.rb +4 -2
  196. data/lib/plurimath/math/symbols/amalg.rb +4 -2
  197. data/lib/plurimath/math/symbols/ampersand.rb +4 -2
  198. data/lib/plurimath/math/symbols/anchor.rb +4 -2
  199. data/lib/plurimath/math/symbols/angdnr.rb +4 -2
  200. data/lib/plurimath/math/symbols/angle.rb +6 -3
  201. data/lib/plurimath/math/symbols/angles.rb +4 -2
  202. data/lib/plurimath/math/symbols/angleubar.rb +4 -2
  203. data/lib/plurimath/math/symbols/angmsd.rb +7 -3
  204. data/lib/plurimath/math/symbols/angrtvb.rb +8 -3
  205. data/lib/plurimath/math/symbols/angsph.rb +7 -3
  206. data/lib/plurimath/math/symbols/angstrom.rb +6 -2
  207. data/lib/plurimath/math/symbols/annuity.rb +4 -2
  208. data/lib/plurimath/math/symbols/aplboxquestion.rb +4 -2
  209. data/lib/plurimath/math/symbols/aplboxupcaret.rb +4 -2
  210. data/lib/plurimath/math/symbols/aplcomment.rb +4 -2
  211. data/lib/plurimath/math/symbols/apldownarrowbox.rb +4 -2
  212. data/lib/plurimath/math/symbols/aplinput.rb +4 -2
  213. data/lib/plurimath/math/symbols/aplinv.rb +4 -2
  214. data/lib/plurimath/math/symbols/aplleftarrowbox.rb +4 -2
  215. data/lib/plurimath/math/symbols/apllog.rb +4 -2
  216. data/lib/plurimath/math/symbols/aplrightarrowbox.rb +4 -2
  217. data/lib/plurimath/math/symbols/apluparrowbox.rb +4 -2
  218. data/lib/plurimath/math/symbols/apprge.rb +4 -2
  219. data/lib/plurimath/math/symbols/apprle.rb +4 -2
  220. data/lib/plurimath/math/symbols/approx.rb +4 -2
  221. data/lib/plurimath/math/symbols/approxeq.rb +2 -1
  222. data/lib/plurimath/math/symbols/approxeqq.rb +4 -2
  223. data/lib/plurimath/math/symbols/approxident.rb +4 -2
  224. data/lib/plurimath/math/symbols/aquarius.rb +4 -2
  225. data/lib/plurimath/math/symbols/arceq.rb +4 -2
  226. data/lib/plurimath/math/symbols/aries.rb +4 -2
  227. data/lib/plurimath/math/symbols/arrowbullet.rb +4 -2
  228. data/lib/plurimath/math/symbols/assert.rb +4 -2
  229. data/lib/plurimath/math/symbols/ast.rb +2 -1
  230. data/lib/plurimath/math/symbols/asteq.rb +4 -2
  231. data/lib/plurimath/math/symbols/asteraccent.rb +4 -2
  232. data/lib/plurimath/math/symbols/asymp.rb +2 -1
  233. data/lib/plurimath/math/symbols/atsign.rb +4 -2
  234. data/lib/plurimath/math/symbols/awint.rb +4 -2
  235. data/lib/plurimath/math/symbols/backcong.rb +4 -2
  236. data/lib/plurimath/math/symbols/backdprime.rb +4 -2
  237. data/lib/plurimath/math/symbols/backepsilon.rb +6 -2
  238. data/lib/plurimath/math/symbols/backprime.rb +4 -2
  239. data/lib/plurimath/math/symbols/backsim.rb +2 -1
  240. data/lib/plurimath/math/symbols/backsimeq.rb +2 -1
  241. data/lib/plurimath/math/symbols/backslash.rb +4 -2
  242. data/lib/plurimath/math/symbols/backtrprime.rb +4 -2
  243. data/lib/plurimath/math/symbols/bagmember.rb +4 -2
  244. data/lib/plurimath/math/symbols/ballotx.rb +4 -2
  245. data/lib/plurimath/math/symbols/barcap.rb +4 -2
  246. data/lib/plurimath/math/symbols/barcup.rb +4 -2
  247. data/lib/plurimath/math/symbols/barin.rb +6 -2
  248. data/lib/plurimath/math/symbols/barleftarrow.rb +6 -2
  249. data/lib/plurimath/math/symbols/barleftarrowrightarrowba.rb +6 -2
  250. data/lib/plurimath/math/symbols/barleftharpoon.rb +10 -2
  251. data/lib/plurimath/math/symbols/barovernorthwestarrow.rb +6 -2
  252. data/lib/plurimath/math/symbols/barrightarrowdiamond.rb +6 -2
  253. data/lib/plurimath/math/symbols/barrightharpoon.rb +10 -2
  254. data/lib/plurimath/math/symbols/baruparrow.rb +6 -2
  255. data/lib/plurimath/math/symbols/barv.rb +4 -2
  256. data/lib/plurimath/math/symbols/barvee.rb +4 -2
  257. data/lib/plurimath/math/symbols/barwedge.rb +4 -2
  258. data/lib/plurimath/math/symbols/bbrktbrk.rb +4 -2
  259. data/lib/plurimath/math/symbols/bdtriplevdash.rb +4 -2
  260. data/lib/plurimath/math/symbols/because.rb +4 -2
  261. data/lib/plurimath/math/symbols/benzenr.rb +4 -2
  262. data/lib/plurimath/math/symbols/beth.rb +2 -1
  263. data/lib/plurimath/math/symbols/between.rb +2 -1
  264. data/lib/plurimath/math/symbols/bigblacktriangledown.rb +6 -2
  265. data/lib/plurimath/math/symbols/bigblacktriangleup.rb +6 -2
  266. data/lib/plurimath/math/symbols/bigbot.rb +4 -2
  267. data/lib/plurimath/math/symbols/bigcupdot.rb +4 -2
  268. data/lib/plurimath/math/symbols/biginterleave.rb +4 -2
  269. data/lib/plurimath/math/symbols/bigodot.rb +4 -2
  270. data/lib/plurimath/math/symbols/bigoplus.rb +4 -2
  271. data/lib/plurimath/math/symbols/bigotimes.rb +4 -2
  272. data/lib/plurimath/math/symbols/bigslopedvee.rb +4 -2
  273. data/lib/plurimath/math/symbols/bigslopedwedge.rb +4 -2
  274. data/lib/plurimath/math/symbols/bigsqcap.rb +4 -2
  275. data/lib/plurimath/math/symbols/bigsqcup.rb +4 -2
  276. data/lib/plurimath/math/symbols/bigstar.rb +4 -2
  277. data/lib/plurimath/math/symbols/bigtalloblong.rb +4 -2
  278. data/lib/plurimath/math/symbols/bigtop.rb +4 -2
  279. data/lib/plurimath/math/symbols/bigtriangledown.rb +4 -2
  280. data/lib/plurimath/math/symbols/bigtriangleleft.rb +4 -2
  281. data/lib/plurimath/math/symbols/bigtriangleup.rb +7 -3
  282. data/lib/plurimath/math/symbols/biguplus.rb +4 -2
  283. data/lib/plurimath/math/symbols/bigwedge.rb +4 -2
  284. data/lib/plurimath/math/symbols/bigwhitestar.rb +4 -2
  285. data/lib/plurimath/math/symbols/bij.rb +9 -3
  286. data/lib/plurimath/math/symbols/biohazard.rb +4 -2
  287. data/lib/plurimath/math/symbols/blackcircledownarrow.rb +6 -2
  288. data/lib/plurimath/math/symbols/blackcircledrightdot.rb +6 -2
  289. data/lib/plurimath/math/symbols/blackcircledtwodots.rb +6 -2
  290. data/lib/plurimath/math/symbols/blackcircleulquadwhite.rb +6 -2
  291. data/lib/plurimath/math/symbols/blackdiamonddownarrow.rb +6 -2
  292. data/lib/plurimath/math/symbols/blackhourglass.rb +4 -2
  293. data/lib/plurimath/math/symbols/blackinwhitediamond.rb +6 -2
  294. data/lib/plurimath/math/symbols/blackinwhitesquare.rb +6 -2
  295. data/lib/plurimath/math/symbols/blacklozenge.rb +6 -2
  296. data/lib/plurimath/math/symbols/blackpointerleft.rb +4 -2
  297. data/lib/plurimath/math/symbols/blackpointerright.rb +4 -2
  298. data/lib/plurimath/math/symbols/blacksmiley.rb +6 -2
  299. data/lib/plurimath/math/symbols/blacktriangle.rb +6 -2
  300. data/lib/plurimath/math/symbols/blacktriangledown.rb +4 -2
  301. data/lib/plurimath/math/symbols/blkhorzoval.rb +4 -2
  302. data/lib/plurimath/math/symbols/blkvertoval.rb +4 -2
  303. data/lib/plurimath/math/symbols/blockfull.rb +4 -2
  304. data/lib/plurimath/math/symbols/blockhalfshaded.rb +4 -2
  305. data/lib/plurimath/math/symbols/blocklefthalf.rb +4 -2
  306. data/lib/plurimath/math/symbols/blocklowhalf.rb +4 -2
  307. data/lib/plurimath/math/symbols/blockqtrshaded.rb +4 -2
  308. data/lib/plurimath/math/symbols/blockrighthalf.rb +4 -2
  309. data/lib/plurimath/math/symbols/blockthreeqtrshaded.rb +6 -2
  310. data/lib/plurimath/math/symbols/blockuphalf.rb +4 -2
  311. data/lib/plurimath/math/symbols/bnot.rb +4 -2
  312. data/lib/plurimath/math/symbols/bot.rb +6 -2
  313. data/lib/plurimath/math/symbols/botsemicircle.rb +4 -2
  314. data/lib/plurimath/math/symbols/bowtie.rb +6 -3
  315. data/lib/plurimath/math/symbols/box.rb +8 -3
  316. data/lib/plurimath/math/symbols/boxast.rb +4 -2
  317. data/lib/plurimath/math/symbols/boxbar.rb +4 -2
  318. data/lib/plurimath/math/symbols/boxbox.rb +4 -2
  319. data/lib/plurimath/math/symbols/boxbslash.rb +4 -2
  320. data/lib/plurimath/math/symbols/boxcircle.rb +4 -2
  321. data/lib/plurimath/math/symbols/boxdiag.rb +6 -2
  322. data/lib/plurimath/math/symbols/boxdot.rb +2 -1
  323. data/lib/plurimath/math/symbols/boxminus.rb +2 -1
  324. data/lib/plurimath/math/symbols/boxonbox.rb +4 -2
  325. data/lib/plurimath/math/symbols/boxplus.rb +2 -1
  326. data/lib/plurimath/math/symbols/boxtimes.rb +2 -1
  327. data/lib/plurimath/math/symbols/breve.rb +4 -2
  328. data/lib/plurimath/math/symbols/bsimilarleftarrow.rb +4 -2
  329. data/lib/plurimath/math/symbols/bsimilarrightarrow.rb +6 -2
  330. data/lib/plurimath/math/symbols/bsolhsub.rb +4 -2
  331. data/lib/plurimath/math/symbols/btimes.rb +4 -2
  332. data/lib/plurimath/math/symbols/bullet.rb +7 -3
  333. data/lib/plurimath/math/symbols/bullseye.rb +4 -2
  334. data/lib/plurimath/math/symbols/bumpeq.rb +2 -1
  335. data/lib/plurimath/math/symbols/bumpeqq.rb +4 -2
  336. data/lib/plurimath/math/symbols/buni.rb +4 -2
  337. data/lib/plurimath/math/symbols/cancer.rb +4 -2
  338. data/lib/plurimath/math/symbols/candra.rb +4 -2
  339. data/lib/plurimath/math/symbols/capbarcup.rb +4 -2
  340. data/lib/plurimath/math/symbols/capdot.rb +4 -2
  341. data/lib/plurimath/math/symbols/capovercup.rb +4 -2
  342. data/lib/plurimath/math/symbols/capricornus.rb +4 -2
  343. data/lib/plurimath/math/symbols/capwedge.rb +4 -2
  344. data/lib/plurimath/math/symbols/caretinsert.rb +4 -2
  345. data/lib/plurimath/math/symbols/carriagereturn.rb +4 -2
  346. data/lib/plurimath/math/symbols/cat.rb +4 -2
  347. data/lib/plurimath/math/symbols/ccwundercurvearrow.rb +6 -2
  348. data/lib/plurimath/math/symbols/cdot.rb +2 -1
  349. data/lib/plurimath/math/symbols/cdots.rb +5 -2
  350. data/lib/plurimath/math/symbols/cent.rb +4 -2
  351. data/lib/plurimath/math/symbols/check.rb +4 -2
  352. data/lib/plurimath/math/symbols/checkedbox.rb +4 -2
  353. data/lib/plurimath/math/symbols/checkmark.rb +6 -2
  354. data/lib/plurimath/math/symbols/chi.rb +4 -2
  355. data/lib/plurimath/math/symbols/cirbot.rb +4 -2
  356. data/lib/plurimath/math/symbols/circ.rb +4 -2
  357. data/lib/plurimath/math/symbols/circeq.rb +2 -1
  358. data/lib/plurimath/math/symbols/circle.rb +6 -2
  359. data/lib/plurimath/math/symbols/circlebottomhalfblack.rb +6 -2
  360. data/lib/plurimath/math/symbols/circledbullet.rb +4 -2
  361. data/lib/plurimath/math/symbols/circledgtr.rb +6 -2
  362. data/lib/plurimath/math/symbols/circledownarrow.rb +4 -2
  363. data/lib/plurimath/math/symbols/circledparallel.rb +4 -2
  364. data/lib/plurimath/math/symbols/circledr.rb +4 -2
  365. data/lib/plurimath/math/symbols/circledrightdot.rb +4 -2
  366. data/lib/plurimath/math/symbols/circledstar.rb +4 -2
  367. data/lib/plurimath/math/symbols/circledtwodots.rb +4 -2
  368. data/lib/plurimath/math/symbols/circledvert.rb +4 -2
  369. data/lib/plurimath/math/symbols/circledwhitebullet.rb +6 -2
  370. data/lib/plurimath/math/symbols/circlehbar.rb +4 -2
  371. data/lib/plurimath/math/symbols/circlellquad.rb +4 -2
  372. data/lib/plurimath/math/symbols/circlelrquad.rb +4 -2
  373. data/lib/plurimath/math/symbols/circleonleftarrow.rb +4 -2
  374. data/lib/plurimath/math/symbols/circleonrightarrow.rb +6 -2
  375. data/lib/plurimath/math/symbols/circletophalfblack.rb +6 -2
  376. data/lib/plurimath/math/symbols/circleulquad.rb +4 -2
  377. data/lib/plurimath/math/symbols/circleurquad.rb +4 -2
  378. data/lib/plurimath/math/symbols/circleurquadblack.rb +4 -2
  379. data/lib/plurimath/math/symbols/circlevertfill.rb +4 -2
  380. data/lib/plurimath/math/symbols/cire.rb +4 -2
  381. data/lib/plurimath/math/symbols/cirfnint.rb +4 -2
  382. data/lib/plurimath/math/symbols/cirmid.rb +4 -2
  383. data/lib/plurimath/math/symbols/cirscir.rb +4 -2
  384. data/lib/plurimath/math/symbols/clockoint.rb +6 -2
  385. data/lib/plurimath/math/symbols/closedvarcap.rb +4 -2
  386. data/lib/plurimath/math/symbols/closedvarcup.rb +4 -2
  387. data/lib/plurimath/math/symbols/closedvarcupsmashprod.rb +6 -2
  388. data/lib/plurimath/math/symbols/closure.rb +4 -2
  389. data/lib/plurimath/math/symbols/clubsuit.rb +2 -1
  390. data/lib/plurimath/math/symbols/cntclockoint.rb +6 -2
  391. data/lib/plurimath/math/symbols/colon.rb +7 -3
  392. data/lib/plurimath/math/symbols/coloneq.rb +6 -2
  393. data/lib/plurimath/math/symbols/comma.rb +4 -2
  394. data/lib/plurimath/math/symbols/commaminus.rb +4 -2
  395. data/lib/plurimath/math/symbols/comp.rb +4 -2
  396. data/lib/plurimath/math/symbols/complement.rb +2 -1
  397. data/lib/plurimath/math/symbols/concavediamond.rb +4 -2
  398. data/lib/plurimath/math/symbols/concavediamondtickleft.rb +6 -2
  399. data/lib/plurimath/math/symbols/concavediamondtickright.rb +6 -2
  400. data/lib/plurimath/math/symbols/cong.rb +2 -1
  401. data/lib/plurimath/math/symbols/congdot.rb +4 -2
  402. data/lib/plurimath/math/symbols/conictaper.rb +4 -2
  403. data/lib/plurimath/math/symbols/conjquant.rb +4 -2
  404. data/lib/plurimath/math/symbols/coprod.rb +4 -2
  405. data/lib/plurimath/math/symbols/csub.rb +4 -2
  406. data/lib/plurimath/math/symbols/csube.rb +4 -2
  407. data/lib/plurimath/math/symbols/csup.rb +4 -2
  408. data/lib/plurimath/math/symbols/csupe.rb +4 -2
  409. data/lib/plurimath/math/symbols/cuberoot.rb +4 -2
  410. data/lib/plurimath/math/symbols/cupbarcap.rb +4 -2
  411. data/lib/plurimath/math/symbols/cupdot.rb +4 -2
  412. data/lib/plurimath/math/symbols/cupleftarrow.rb +4 -2
  413. data/lib/plurimath/math/symbols/cupovercap.rb +4 -2
  414. data/lib/plurimath/math/symbols/cupvee.rb +4 -2
  415. data/lib/plurimath/math/symbols/curlyeqprec.rb +2 -1
  416. data/lib/plurimath/math/symbols/curlyeqsucc.rb +2 -1
  417. data/lib/plurimath/math/symbols/curlyvee.rb +2 -1
  418. data/lib/plurimath/math/symbols/curlywedge.rb +2 -1
  419. data/lib/plurimath/math/symbols/curvearrowleftplus.rb +6 -2
  420. data/lib/plurimath/math/symbols/curvearrowright.rb +4 -2
  421. data/lib/plurimath/math/symbols/curvearrowrightminus.rb +6 -2
  422. data/lib/plurimath/math/symbols/cwcirclearrow.rb +4 -2
  423. data/lib/plurimath/math/symbols/cwgapcirclearrow.rb +4 -2
  424. data/lib/plurimath/math/symbols/cwrightarcarrow.rb +4 -2
  425. data/lib/plurimath/math/symbols/cwundercurvearrow.rb +4 -2
  426. data/lib/plurimath/math/symbols/dag.rb +6 -3
  427. data/lib/plurimath/math/symbols/daleth.rb +2 -1
  428. data/lib/plurimath/math/symbols/danger.rb +4 -2
  429. data/lib/plurimath/math/symbols/darr.rb +4 -2
  430. data/lib/plurimath/math/symbols/dasharrow.rb +8 -3
  431. data/lib/plurimath/math/symbols/dasharrowright.rb +4 -2
  432. data/lib/plurimath/math/symbols/dashv.rb +4 -2
  433. data/lib/plurimath/math/symbols/dashvdash.rb +4 -2
  434. data/lib/plurimath/math/symbols/dbkarow.rb +4 -2
  435. data/lib/plurimath/math/symbols/dd.rb +5 -2
  436. data/lib/plurimath/math/symbols/ddag.rb +6 -3
  437. data/lib/plurimath/math/symbols/ddddot.rb +4 -2
  438. data/lib/plurimath/math/symbols/dddot.rb +4 -2
  439. data/lib/plurimath/math/symbols/ddotseq.rb +4 -2
  440. data/lib/plurimath/math/symbols/ddownarrow.rb +4 -2
  441. data/lib/plurimath/math/symbols/degc.rb +2 -1
  442. data/lib/plurimath/math/symbols/degf.rb +2 -1
  443. data/lib/plurimath/math/symbols/degree.rb +2 -1
  444. data/lib/plurimath/math/symbols/del.rb +6 -3
  445. data/lib/plurimath/math/symbols/delta.rb +4 -2
  446. data/lib/plurimath/math/symbols/deltaeq.rb +8 -3
  447. data/lib/plurimath/math/symbols/diameter.rb +4 -2
  448. data/lib/plurimath/math/symbols/diamond.rb +4 -2
  449. data/lib/plurimath/math/symbols/diamondblack.rb +6 -2
  450. data/lib/plurimath/math/symbols/diamondbotblack.rb +4 -2
  451. data/lib/plurimath/math/symbols/diamonddot.rb +6 -2
  452. data/lib/plurimath/math/symbols/diamondleftarrow.rb +4 -2
  453. data/lib/plurimath/math/symbols/diamondleftarrowbar.rb +6 -2
  454. data/lib/plurimath/math/symbols/diamondleftblack.rb +4 -2
  455. data/lib/plurimath/math/symbols/diamondrightblack.rb +4 -2
  456. data/lib/plurimath/math/symbols/diamondtopblack.rb +4 -2
  457. data/lib/plurimath/math/symbols/dicei.rb +4 -2
  458. data/lib/plurimath/math/symbols/diceii.rb +4 -2
  459. data/lib/plurimath/math/symbols/diceiii.rb +4 -2
  460. data/lib/plurimath/math/symbols/diceiv.rb +4 -2
  461. data/lib/plurimath/math/symbols/dicev.rb +4 -2
  462. data/lib/plurimath/math/symbols/dicevi.rb +4 -2
  463. data/lib/plurimath/math/symbols/digamma.rb +6 -2
  464. data/lib/plurimath/math/symbols/dingasterisk.rb +4 -2
  465. data/lib/plurimath/math/symbols/dint.rb +7 -3
  466. data/lib/plurimath/math/symbols/disin.rb +4 -2
  467. data/lib/plurimath/math/symbols/disjquant.rb +4 -2
  468. data/lib/plurimath/math/symbols/div.rb +2 -1
  469. data/lib/plurimath/math/symbols/divideontimes.rb +2 -1
  470. data/lib/plurimath/math/symbols/doteq.rb +4 -2
  471. data/lib/plurimath/math/symbols/dotequiv.rb +4 -2
  472. data/lib/plurimath/math/symbols/dotminus.rb +2 -1
  473. data/lib/plurimath/math/symbols/dotplus.rb +2 -1
  474. data/lib/plurimath/math/symbols/dots.rb +7 -3
  475. data/lib/plurimath/math/symbols/dotsim.rb +4 -2
  476. data/lib/plurimath/math/symbols/dotsminusdots.rb +4 -2
  477. data/lib/plurimath/math/symbols/dottedcircle.rb +4 -2
  478. data/lib/plurimath/math/symbols/dottedsquare.rb +4 -2
  479. data/lib/plurimath/math/symbols/dottimes.rb +4 -2
  480. data/lib/plurimath/math/symbols/doublebarvee.rb +4 -2
  481. data/lib/plurimath/math/symbols/doublebarwedge.rb +4 -2
  482. data/lib/plurimath/math/symbols/doubleplus.rb +4 -2
  483. data/lib/plurimath/math/symbols/downarrow.rb +2 -1
  484. data/lib/plurimath/math/symbols/downarrowbar.rb +6 -2
  485. data/lib/plurimath/math/symbols/downarrowbarred.rb +4 -2
  486. data/lib/plurimath/math/symbols/downarrows.rb +7 -3
  487. data/lib/plurimath/math/symbols/downdasharrow.rb +4 -2
  488. data/lib/plurimath/math/symbols/downdownharpoons.rb +8 -2
  489. data/lib/plurimath/math/symbols/downfishtail.rb +4 -2
  490. data/lib/plurimath/math/symbols/downharpoonleft.rb +5 -2
  491. data/lib/plurimath/math/symbols/downharpoonright.rb +8 -2
  492. data/lib/plurimath/math/symbols/downleftteevector.rb +10 -2
  493. data/lib/plurimath/math/symbols/downleftvectorbar.rb +10 -2
  494. data/lib/plurimath/math/symbols/downrightcurvedarrow.rb +6 -2
  495. data/lib/plurimath/math/symbols/downrightteevector.rb +8 -2
  496. data/lib/plurimath/math/symbols/downrightvectorbar.rb +8 -2
  497. data/lib/plurimath/math/symbols/downtriangleleftblack.rb +6 -2
  498. data/lib/plurimath/math/symbols/downtrianglerightblack.rb +6 -2
  499. data/lib/plurimath/math/symbols/downuparrows.rb +6 -2
  500. data/lib/plurimath/math/symbols/downupharpoons.rb +12 -3
  501. data/lib/plurimath/math/symbols/downwhitearrow.rb +4 -2
  502. data/lib/plurimath/math/symbols/dprime.rb +7 -3
  503. data/lib/plurimath/math/symbols/draftingarrow.rb +4 -2
  504. data/lib/plurimath/math/symbols/drbkarow.rb +4 -2
  505. data/lib/plurimath/math/symbols/droang.rb +4 -2
  506. data/lib/plurimath/math/symbols/dsol.rb +4 -2
  507. data/lib/plurimath/math/symbols/dsub.rb +4 -2
  508. data/lib/plurimath/math/symbols/dualmap.rb +6 -2
  509. data/lib/plurimath/math/symbols/duni.rb +7 -3
  510. data/lib/plurimath/math/symbols/earth.rb +4 -2
  511. data/lib/plurimath/math/symbols/ee.rb +6 -3
  512. data/lib/plurimath/math/symbols/egsdot.rb +4 -2
  513. data/lib/plurimath/math/symbols/eighthnote.rb +4 -2
  514. data/lib/plurimath/math/symbols/elinters.rb +4 -2
  515. data/lib/plurimath/math/symbols/elsdot.rb +4 -2
  516. data/lib/plurimath/math/symbols/emptyset.rb +6 -3
  517. data/lib/plurimath/math/symbols/emptysetoarr.rb +4 -2
  518. data/lib/plurimath/math/symbols/emptysetoarrl.rb +4 -2
  519. data/lib/plurimath/math/symbols/emptysetobar.rb +4 -2
  520. data/lib/plurimath/math/symbols/emptysetocirc.rb +4 -2
  521. data/lib/plurimath/math/symbols/enclosecircle.rb +4 -2
  522. data/lib/plurimath/math/symbols/enclosediamond.rb +4 -2
  523. data/lib/plurimath/math/symbols/enclosesquare.rb +4 -2
  524. data/lib/plurimath/math/symbols/enclosetriangle.rb +4 -2
  525. data/lib/plurimath/math/symbols/enleadertwodots.rb +4 -2
  526. data/lib/plurimath/math/symbols/epar.rb +7 -3
  527. data/lib/plurimath/math/symbols/eparsl.rb +4 -2
  528. data/lib/plurimath/math/symbols/epsilon.rb +8 -3
  529. data/lib/plurimath/math/symbols/eqcirc.rb +2 -1
  530. data/lib/plurimath/math/symbols/eqcolon.rb +6 -2
  531. data/lib/plurimath/math/symbols/eqdef.rb +4 -2
  532. data/lib/plurimath/math/symbols/eqdot.rb +4 -2
  533. data/lib/plurimath/math/symbols/eqeq.rb +4 -2
  534. data/lib/plurimath/math/symbols/eqgtr.rb +2 -1
  535. data/lib/plurimath/math/symbols/eqless.rb +4 -2
  536. data/lib/plurimath/math/symbols/eqno.rb +7 -3
  537. data/lib/plurimath/math/symbols/eqqcolon.rb +4 -2
  538. data/lib/plurimath/math/symbols/eqqgtr.rb +4 -2
  539. data/lib/plurimath/math/symbols/eqqless.rb +4 -2
  540. data/lib/plurimath/math/symbols/eqqplus.rb +4 -2
  541. data/lib/plurimath/math/symbols/eqqsim.rb +4 -2
  542. data/lib/plurimath/math/symbols/eqqslantgtr.rb +4 -2
  543. data/lib/plurimath/math/symbols/eqqslantless.rb +4 -2
  544. data/lib/plurimath/math/symbols/eqsim.rb +4 -2
  545. data/lib/plurimath/math/symbols/eqslantgtr.rb +4 -2
  546. data/lib/plurimath/math/symbols/eqslantless.rb +4 -2
  547. data/lib/plurimath/math/symbols/equal.rb +4 -2
  548. data/lib/plurimath/math/symbols/equalleftarrow.rb +4 -2
  549. data/lib/plurimath/math/symbols/equalrightarrow.rb +4 -2
  550. data/lib/plurimath/math/symbols/equiv.rb +2 -1
  551. data/lib/plurimath/math/symbols/equivdd.rb +4 -2
  552. data/lib/plurimath/math/symbols/equivvert.rb +4 -2
  553. data/lib/plurimath/math/symbols/equivvvert.rb +4 -2
  554. data/lib/plurimath/math/symbols/eqvparsl.rb +4 -2
  555. data/lib/plurimath/math/symbols/errbarblackcircle.rb +4 -2
  556. data/lib/plurimath/math/symbols/errbarblackdiamond.rb +6 -2
  557. data/lib/plurimath/math/symbols/errbarblacksquare.rb +4 -2
  558. data/lib/plurimath/math/symbols/errbarcircle.rb +4 -2
  559. data/lib/plurimath/math/symbols/errbardiamond.rb +4 -2
  560. data/lib/plurimath/math/symbols/errbarsquare.rb +4 -2
  561. data/lib/plurimath/math/symbols/eta.rb +4 -2
  562. data/lib/plurimath/math/symbols/eth.rb +4 -2
  563. data/lib/plurimath/math/symbols/euler.rb +6 -2
  564. data/lib/plurimath/math/symbols/euro.rb +4 -2
  565. data/lib/plurimath/math/symbols/exclam.rb +4 -2
  566. data/lib/plurimath/math/symbols/exi.rb +6 -3
  567. data/lib/plurimath/math/symbols/exists.rb +6 -3
  568. data/lib/plurimath/math/symbols/fallingdotseq.rb +2 -1
  569. data/lib/plurimath/math/symbols/fbowtie.rb +4 -2
  570. data/lib/plurimath/math/symbols/fdiagovnearrow.rb +4 -2
  571. data/lib/plurimath/math/symbols/fdiagovrdiag.rb +4 -2
  572. data/lib/plurimath/math/symbols/ffun.rb +6 -2
  573. data/lib/plurimath/math/symbols/finj.rb +6 -2
  574. data/lib/plurimath/math/symbols/fint.rb +4 -2
  575. data/lib/plurimath/math/symbols/finv.rb +4 -2
  576. data/lib/plurimath/math/symbols/fisheye.rb +4 -2
  577. data/lib/plurimath/math/symbols/flat.rb +4 -2
  578. data/lib/plurimath/math/symbols/fltns.rb +4 -2
  579. data/lib/plurimath/math/symbols/forall.rb +4 -2
  580. data/lib/plurimath/math/symbols/forks.rb +4 -2
  581. data/lib/plurimath/math/symbols/forksnot.rb +4 -2
  582. data/lib/plurimath/math/symbols/forkv.rb +4 -2
  583. data/lib/plurimath/math/symbols/fourthroot.rb +4 -2
  584. data/lib/plurimath/math/symbols/fourvdots.rb +4 -2
  585. data/lib/plurimath/math/symbols/fracslash.rb +4 -2
  586. data/lib/plurimath/math/symbols/fullouterjoin.rb +4 -2
  587. data/lib/plurimath/math/symbols/funcapply.rb +2 -1
  588. data/lib/plurimath/math/symbols/game.rb +4 -2
  589. data/lib/plurimath/math/symbols/gamma.rb +4 -2
  590. data/lib/plurimath/math/symbols/ge.rb +6 -3
  591. data/lib/plurimath/math/symbols/gemini.rb +4 -2
  592. data/lib/plurimath/math/symbols/geq.rb +6 -3
  593. data/lib/plurimath/math/symbols/geqq.rb +2 -1
  594. data/lib/plurimath/math/symbols/geqqslant.rb +4 -2
  595. data/lib/plurimath/math/symbols/geqslant.rb +4 -2
  596. data/lib/plurimath/math/symbols/gescc.rb +4 -2
  597. data/lib/plurimath/math/symbols/gesdot.rb +4 -2
  598. data/lib/plurimath/math/symbols/gesdoto.rb +4 -2
  599. data/lib/plurimath/math/symbols/gesdotol.rb +4 -2
  600. data/lib/plurimath/math/symbols/gesles.rb +4 -2
  601. data/lib/plurimath/math/symbols/gets.rb +6 -3
  602. data/lib/plurimath/math/symbols/gg.rb +2 -1
  603. data/lib/plurimath/math/symbols/gggnest.rb +4 -2
  604. data/lib/plurimath/math/symbols/gimel.rb +2 -1
  605. data/lib/plurimath/math/symbols/gleichstark.rb +4 -2
  606. data/lib/plurimath/math/symbols/gnapprox.rb +4 -2
  607. data/lib/plurimath/math/symbols/gneq.rb +4 -2
  608. data/lib/plurimath/math/symbols/gneqq.rb +2 -1
  609. data/lib/plurimath/math/symbols/gnsim.rb +4 -2
  610. data/lib/plurimath/math/symbols/grad.rb +4 -2
  611. data/lib/plurimath/math/symbols/grave.rb +4 -2
  612. data/lib/plurimath/math/symbols/greater.rb +7 -3
  613. data/lib/plurimath/math/symbols/gsime.rb +4 -2
  614. data/lib/plurimath/math/symbols/gsiml.rb +4 -2
  615. data/lib/plurimath/math/symbols/gt.rb +7 -3
  616. data/lib/plurimath/math/symbols/gtcc.rb +6 -2
  617. data/lib/plurimath/math/symbols/gtcir.rb +4 -2
  618. data/lib/plurimath/math/symbols/gtlpar.rb +4 -2
  619. data/lib/plurimath/math/symbols/gtquest.rb +4 -2
  620. data/lib/plurimath/math/symbols/gtrapprox.rb +4 -2
  621. data/lib/plurimath/math/symbols/gtrarr.rb +4 -2
  622. data/lib/plurimath/math/symbols/gtrdot.rb +2 -1
  623. data/lib/plurimath/math/symbols/gtreqless.rb +2 -1
  624. data/lib/plurimath/math/symbols/gtreqqless.rb +4 -2
  625. data/lib/plurimath/math/symbols/gtrless.rb +5 -2
  626. data/lib/plurimath/math/symbols/harr.rb +5 -2
  627. data/lib/plurimath/math/symbols/hash.rb +6 -2
  628. data/lib/plurimath/math/symbols/hatapprox.rb +4 -2
  629. data/lib/plurimath/math/symbols/hbar.rb +6 -3
  630. data/lib/plurimath/math/symbols/hearsuit.rb +7 -3
  631. data/lib/plurimath/math/symbols/hermaphrodite.rb +4 -2
  632. data/lib/plurimath/math/symbols/hermitmatrix.rb +4 -2
  633. data/lib/plurimath/math/symbols/hexagon.rb +4 -2
  634. data/lib/plurimath/math/symbols/hexagonblack.rb +4 -2
  635. data/lib/plurimath/math/symbols/hide.rb +6 -2
  636. data/lib/plurimath/math/symbols/hknearrow.rb +4 -2
  637. data/lib/plurimath/math/symbols/hknwarrow.rb +4 -2
  638. data/lib/plurimath/math/symbols/hksearow.rb +4 -2
  639. data/lib/plurimath/math/symbols/hkswarow.rb +4 -2
  640. data/lib/plurimath/math/symbols/hline.rb +6 -2
  641. data/lib/plurimath/math/symbols/hookleftarrow.rb +2 -1
  642. data/lib/plurimath/math/symbols/hookrightarrow.rb +2 -1
  643. data/lib/plurimath/math/symbols/horizbar.rb +4 -2
  644. data/lib/plurimath/math/symbols/hourglass.rb +4 -2
  645. data/lib/plurimath/math/symbols/house.rb +4 -2
  646. data/lib/plurimath/math/symbols/hrectangle.rb +4 -2
  647. data/lib/plurimath/math/symbols/hrectangleblack.rb +4 -2
  648. data/lib/plurimath/math/symbols/hyphenbullet.rb +4 -2
  649. data/lib/plurimath/math/symbols/hzigzag.rb +4 -2
  650. data/lib/plurimath/math/symbols/iff.rb +8 -3
  651. data/lib/plurimath/math/symbols/ii.rb +4 -2
  652. data/lib/plurimath/math/symbols/iiiint.rb +4 -2
  653. data/lib/plurimath/math/symbols/iiint.rb +4 -2
  654. data/lib/plurimath/math/symbols/iinfin.rb +4 -2
  655. data/lib/plurimath/math/symbols/iint.rb +4 -2
  656. data/lib/plurimath/math/symbols/imageof.rb +6 -2
  657. data/lib/plurimath/math/symbols/imath.rb +2 -1
  658. data/lib/plurimath/math/symbols/impliedby.rb +5 -2
  659. data/lib/plurimath/math/symbols/inc.rb +6 -3
  660. data/lib/plurimath/math/symbols/intbar.rb +4 -2
  661. data/lib/plurimath/math/symbols/intbottom.rb +4 -2
  662. data/lib/plurimath/math/symbols/intcap.rb +4 -2
  663. data/lib/plurimath/math/symbols/intclockwise.rb +4 -2
  664. data/lib/plurimath/math/symbols/intcup.rb +4 -2
  665. data/lib/plurimath/math/symbols/intercal.rb +2 -1
  666. data/lib/plurimath/math/symbols/interleave.rb +4 -2
  667. data/lib/plurimath/math/symbols/intextender.rb +4 -2
  668. data/lib/plurimath/math/symbols/intlarhk.rb +4 -2
  669. data/lib/plurimath/math/symbols/intprod.rb +4 -2
  670. data/lib/plurimath/math/symbols/intprodr.rb +4 -2
  671. data/lib/plurimath/math/symbols/inttop.rb +4 -2
  672. data/lib/plurimath/math/symbols/intx.rb +4 -2
  673. data/lib/plurimath/math/symbols/invdiameter.rb +4 -2
  674. data/lib/plurimath/math/symbols/inversebullet.rb +4 -2
  675. data/lib/plurimath/math/symbols/inversewhitecircle.rb +6 -2
  676. data/lib/plurimath/math/symbols/invlazys.rb +4 -2
  677. data/lib/plurimath/math/symbols/invnot.rb +4 -2
  678. data/lib/plurimath/math/symbols/invwhitelowerhalfcircle.rb +6 -2
  679. data/lib/plurimath/math/symbols/invwhiteupperhalfcircle.rb +6 -2
  680. data/lib/plurimath/math/symbols/iota.rb +4 -2
  681. data/lib/plurimath/math/symbols/isindot.rb +4 -2
  682. data/lib/plurimath/math/symbols/isine.rb +4 -2
  683. data/lib/plurimath/math/symbols/isinobar.rb +4 -2
  684. data/lib/plurimath/math/symbols/isins.rb +4 -2
  685. data/lib/plurimath/math/symbols/isinvb.rb +4 -2
  686. data/lib/plurimath/math/symbols/jj.rb +4 -2
  687. data/lib/plurimath/math/symbols/jmath.rb +2 -1
  688. data/lib/plurimath/math/symbols/join.rb +4 -2
  689. data/lib/plurimath/math/symbols/jupiter.rb +6 -2
  690. data/lib/plurimath/math/symbols/kappa.rb +4 -2
  691. data/lib/plurimath/math/symbols/kernelcontraction.rb +4 -2
  692. data/lib/plurimath/math/symbols/koppa.rb +6 -2
  693. data/lib/plurimath/math/symbols/lambda.rb +4 -2
  694. data/lib/plurimath/math/symbols/land.rb +6 -3
  695. data/lib/plurimath/math/symbols/lang.rb +4 -2
  696. data/lib/plurimath/math/symbols/langledot.rb +4 -2
  697. data/lib/plurimath/math/symbols/laplac.rb +4 -2
  698. data/lib/plurimath/math/symbols/larr.rb +4 -2
  699. data/lib/plurimath/math/symbols/late.rb +4 -2
  700. data/lib/plurimath/math/symbols/lbag.rb +4 -2
  701. data/lib/plurimath/math/symbols/lblkbrbrak.rb +4 -2
  702. data/lib/plurimath/math/symbols/lblot.rb +4 -2
  703. data/lib/plurimath/math/symbols/lbracelend.rb +4 -2
  704. data/lib/plurimath/math/symbols/lbracemid.rb +4 -2
  705. data/lib/plurimath/math/symbols/lbraceuend.rb +4 -2
  706. data/lib/plurimath/math/symbols/lbrackextender.rb +4 -2
  707. data/lib/plurimath/math/symbols/lbracklend.rb +4 -2
  708. data/lib/plurimath/math/symbols/lbracklltick.rb +4 -2
  709. data/lib/plurimath/math/symbols/lbrackubar.rb +4 -2
  710. data/lib/plurimath/math/symbols/lbrackuend.rb +4 -2
  711. data/lib/plurimath/math/symbols/lbrackultick.rb +4 -2
  712. data/lib/plurimath/math/symbols/lbrbrak.rb +4 -2
  713. data/lib/plurimath/math/symbols/lcurvyangle.rb +4 -2
  714. data/lib/plurimath/math/symbols/ldsh.rb +7 -3
  715. data/lib/plurimath/math/symbols/le.rb +6 -3
  716. data/lib/plurimath/math/symbols/leadsto.rb +6 -2
  717. data/lib/plurimath/math/symbols/leftarrow.rb +4 -2
  718. data/lib/plurimath/math/symbols/leftarrowapprox.rb +4 -2
  719. data/lib/plurimath/math/symbols/leftarrowbackapprox.rb +6 -2
  720. data/lib/plurimath/math/symbols/leftarrowbsimilar.rb +4 -2
  721. data/lib/plurimath/math/symbols/leftarrowless.rb +4 -2
  722. data/lib/plurimath/math/symbols/leftarrowonoplus.rb +4 -2
  723. data/lib/plurimath/math/symbols/leftarrowplus.rb +4 -2
  724. data/lib/plurimath/math/symbols/leftarrowshortrightarrow.rb +6 -2
  725. data/lib/plurimath/math/symbols/leftarrowsimilar.rb +4 -2
  726. data/lib/plurimath/math/symbols/leftarrowsubset.rb +4 -2
  727. data/lib/plurimath/math/symbols/leftarrowtail.rb +2 -1
  728. data/lib/plurimath/math/symbols/leftarrowtriangle.rb +4 -2
  729. data/lib/plurimath/math/symbols/leftarrowx.rb +4 -2
  730. data/lib/plurimath/math/symbols/leftbarharpoon.rb +8 -2
  731. data/lib/plurimath/math/symbols/leftbkarrow.rb +4 -2
  732. data/lib/plurimath/math/symbols/leftcircle.rb +6 -2
  733. data/lib/plurimath/math/symbols/leftcurvedarrow.rb +4 -2
  734. data/lib/plurimath/math/symbols/leftdasharrow.rb +8 -3
  735. data/lib/plurimath/math/symbols/leftdbkarrow.rb +4 -2
  736. data/lib/plurimath/math/symbols/leftdbltail.rb +4 -2
  737. data/lib/plurimath/math/symbols/leftdotarrow.rb +4 -2
  738. data/lib/plurimath/math/symbols/leftdowncurvedarrow.rb +6 -2
  739. data/lib/plurimath/math/symbols/leftdownteevector.rb +10 -2
  740. data/lib/plurimath/math/symbols/leftdownvectorbar.rb +10 -2
  741. data/lib/plurimath/math/symbols/leftharpoondown.rb +2 -1
  742. data/lib/plurimath/math/symbols/leftharpoonup.rb +2 -1
  743. data/lib/plurimath/math/symbols/leftleftarrows.rb +2 -1
  744. data/lib/plurimath/math/symbols/leftleftharpoons.rb +10 -2
  745. data/lib/plurimath/math/symbols/leftmoon.rb +4 -2
  746. data/lib/plurimath/math/symbols/leftouterjoin.rb +4 -2
  747. data/lib/plurimath/math/symbols/leftrightarrow.rb +5 -2
  748. data/lib/plurimath/math/symbols/leftrightarrowcircle.rb +6 -2
  749. data/lib/plurimath/math/symbols/leftrightarrows.rb +2 -1
  750. data/lib/plurimath/math/symbols/leftrightarrowtriangle.rb +6 -2
  751. data/lib/plurimath/math/symbols/leftrightharpoon.rb +6 -2
  752. data/lib/plurimath/math/symbols/leftrightharpoondown.rb +8 -3
  753. data/lib/plurimath/math/symbols/leftrightharpoonsdown.rb +6 -2
  754. data/lib/plurimath/math/symbols/leftrightharpoonsup.rb +6 -2
  755. data/lib/plurimath/math/symbols/leftrightharpoonup.rb +6 -2
  756. data/lib/plurimath/math/symbols/leftrightwavearrow.rb +8 -3
  757. data/lib/plurimath/math/symbols/leftsquigarrow.rb +2 -1
  758. data/lib/plurimath/math/symbols/lefttail.rb +4 -2
  759. data/lib/plurimath/math/symbols/leftteevector.rb +6 -2
  760. data/lib/plurimath/math/symbols/leftthreearrows.rb +4 -2
  761. data/lib/plurimath/math/symbols/leftthreetimes.rb +2 -1
  762. data/lib/plurimath/math/symbols/leftturn.rb +8 -3
  763. data/lib/plurimath/math/symbols/leftupdownharpoon.rb +6 -2
  764. data/lib/plurimath/math/symbols/leftupteevector.rb +8 -2
  765. data/lib/plurimath/math/symbols/leftupvectorbar.rb +8 -2
  766. data/lib/plurimath/math/symbols/leftvectorbar.rb +6 -2
  767. data/lib/plurimath/math/symbols/leftwavearrow.rb +2 -1
  768. data/lib/plurimath/math/symbols/leftwhitearrow.rb +4 -2
  769. data/lib/plurimath/math/symbols/leo.rb +4 -2
  770. data/lib/plurimath/math/symbols/leq.rb +6 -3
  771. data/lib/plurimath/math/symbols/leqq.rb +2 -1
  772. data/lib/plurimath/math/symbols/leqqslant.rb +4 -2
  773. data/lib/plurimath/math/symbols/leqslant.rb +4 -2
  774. data/lib/plurimath/math/symbols/lescc.rb +4 -2
  775. data/lib/plurimath/math/symbols/lesdot.rb +4 -2
  776. data/lib/plurimath/math/symbols/lesdoto.rb +4 -2
  777. data/lib/plurimath/math/symbols/lesdotor.rb +4 -2
  778. data/lib/plurimath/math/symbols/lesges.rb +4 -2
  779. data/lib/plurimath/math/symbols/less.rb +6 -3
  780. data/lib/plurimath/math/symbols/lessapprox.rb +4 -2
  781. data/lib/plurimath/math/symbols/lessdot.rb +2 -1
  782. data/lib/plurimath/math/symbols/lesseqgtr.rb +2 -1
  783. data/lib/plurimath/math/symbols/lesseqqgtr.rb +4 -2
  784. data/lib/plurimath/math/symbols/lessgtr.rb +2 -1
  785. data/lib/plurimath/math/symbols/lfbowtie.rb +4 -2
  786. data/lib/plurimath/math/symbols/lftimes.rb +4 -2
  787. data/lib/plurimath/math/symbols/lgblkcircle.rb +4 -2
  788. data/lib/plurimath/math/symbols/lgblksquare.rb +4 -2
  789. data/lib/plurimath/math/symbols/lgroup.rb +4 -2
  790. data/lib/plurimath/math/symbols/lgwhtcircle.rb +4 -2
  791. data/lib/plurimath/math/symbols/lgwhtsquare.rb +4 -2
  792. data/lib/plurimath/math/symbols/lhd.rb +6 -2
  793. data/lib/plurimath/math/symbols/libra.rb +4 -2
  794. data/lib/plurimath/math/symbols/lightning.rb +6 -2
  795. data/lib/plurimath/math/symbols/limg.rb +6 -2
  796. data/lib/plurimath/math/symbols/linefeed.rb +4 -2
  797. data/lib/plurimath/math/symbols/ll.rb +2 -1
  798. data/lib/plurimath/math/symbols/llarc.rb +4 -2
  799. data/lib/plurimath/math/symbols/llblacktriangle.rb +4 -2
  800. data/lib/plurimath/math/symbols/llcorner.rb +4 -2
  801. data/lib/plurimath/math/symbols/lleftarrow.rb +4 -2
  802. data/lib/plurimath/math/symbols/lllnest.rb +4 -2
  803. data/lib/plurimath/math/symbols/lltriangle.rb +4 -2
  804. data/lib/plurimath/math/symbols/lmoust.rb +6 -3
  805. data/lib/plurimath/math/symbols/lmoustache.rb +4 -2
  806. data/lib/plurimath/math/symbols/lnapprox.rb +4 -2
  807. data/lib/plurimath/math/symbols/lneq.rb +6 -3
  808. data/lib/plurimath/math/symbols/lnot.rb +4 -2
  809. data/lib/plurimath/math/symbols/lnsim.rb +2 -1
  810. data/lib/plurimath/math/symbols/longdashv.rb +4 -2
  811. data/lib/plurimath/math/symbols/longdivision.rb +4 -2
  812. data/lib/plurimath/math/symbols/longleftarrow.rb +2 -1
  813. data/lib/plurimath/math/symbols/longleftrightarrow.rb +5 -2
  814. data/lib/plurimath/math/symbols/longleftsquigarrow.rb +6 -2
  815. data/lib/plurimath/math/symbols/longmapsfrom.rb +6 -2
  816. data/lib/plurimath/math/symbols/longmapsto.rb +4 -2
  817. data/lib/plurimath/math/symbols/longrightarrow.rb +5 -2
  818. data/lib/plurimath/math/symbols/looparrowleft.rb +7 -3
  819. data/lib/plurimath/math/symbols/lor.rb +6 -3
  820. data/lib/plurimath/math/symbols/lowint.rb +4 -2
  821. data/lib/plurimath/math/symbols/lozenge.rb +6 -2
  822. data/lib/plurimath/math/symbols/lozengeminus.rb +4 -2
  823. data/lib/plurimath/math/symbols/lparen.rb +4 -2
  824. data/lib/plurimath/math/symbols/lparenextender.rb +4 -2
  825. data/lib/plurimath/math/symbols/lparengtr.rb +4 -2
  826. data/lib/plurimath/math/symbols/lparenlend.rb +4 -2
  827. data/lib/plurimath/math/symbols/lparenless.rb +4 -2
  828. data/lib/plurimath/math/symbols/lparenuend.rb +4 -2
  829. data/lib/plurimath/math/symbols/lrarc.rb +4 -2
  830. data/lib/plurimath/math/symbols/lrblacktriangle.rb +4 -2
  831. data/lib/plurimath/math/symbols/lrcorner.rb +4 -2
  832. data/lib/plurimath/math/symbols/lrhar.rb +7 -3
  833. data/lib/plurimath/math/symbols/lrtimes.rb +6 -3
  834. data/lib/plurimath/math/symbols/lrtriangle.rb +4 -2
  835. data/lib/plurimath/math/symbols/lrtriangleeq.rb +4 -2
  836. data/lib/plurimath/math/symbols/lsime.rb +4 -2
  837. data/lib/plurimath/math/symbols/lsimg.rb +4 -2
  838. data/lib/plurimath/math/symbols/lsqhook.rb +4 -2
  839. data/lib/plurimath/math/symbols/lt.rb +6 -3
  840. data/lib/plurimath/math/symbols/ltcc.rb +4 -2
  841. data/lib/plurimath/math/symbols/ltcir.rb +4 -2
  842. data/lib/plurimath/math/symbols/ltimes.rb +4 -2
  843. data/lib/plurimath/math/symbols/ltlarr.rb +4 -2
  844. data/lib/plurimath/math/symbols/ltquest.rb +4 -2
  845. data/lib/plurimath/math/symbols/ltrivb.rb +6 -2
  846. data/lib/plurimath/math/symbols/lvboxline.rb +4 -2
  847. data/lib/plurimath/math/symbols/lvec.rb +6 -2
  848. data/lib/plurimath/math/symbols/lvzigzag.rb +4 -2
  849. data/lib/plurimath/math/symbols/maltese.rb +4 -2
  850. data/lib/plurimath/math/symbols/mapsdown.rb +6 -2
  851. data/lib/plurimath/math/symbols/mapsfrom.rb +6 -2
  852. data/lib/plurimath/math/symbols/mapsto.rb +4 -2
  853. data/lib/plurimath/math/symbols/mapstoleft.rb +8 -3
  854. data/lib/plurimath/math/symbols/mapsup.rb +4 -2
  855. data/lib/plurimath/math/symbols/mars.rb +4 -2
  856. data/lib/plurimath/math/symbols/mathcolon.rb +6 -2
  857. data/lib/plurimath/math/symbols/mathdollar.rb +4 -2
  858. data/lib/plurimath/math/symbols/mathslash.rb +4 -2
  859. data/lib/plurimath/math/symbols/mdblkdiamond.rb +4 -2
  860. data/lib/plurimath/math/symbols/mdblklozenge.rb +4 -2
  861. data/lib/plurimath/math/symbols/mdblksquare.rb +6 -2
  862. data/lib/plurimath/math/symbols/mdlgblksquare.rb +4 -2
  863. data/lib/plurimath/math/symbols/mdsmblksquare.rb +4 -2
  864. data/lib/plurimath/math/symbols/mdsmwhtcircle.rb +4 -2
  865. data/lib/plurimath/math/symbols/mdsmwhtsquare.rb +4 -2
  866. data/lib/plurimath/math/symbols/mdwhtdiamond.rb +4 -2
  867. data/lib/plurimath/math/symbols/mdwhtlozenge.rb +4 -2
  868. data/lib/plurimath/math/symbols/mdwhtsquare.rb +6 -2
  869. data/lib/plurimath/math/symbols/measangledltosw.rb +4 -2
  870. data/lib/plurimath/math/symbols/measangledrtose.rb +4 -2
  871. data/lib/plurimath/math/symbols/measangleldtosw.rb +4 -2
  872. data/lib/plurimath/math/symbols/measanglelutonw.rb +4 -2
  873. data/lib/plurimath/math/symbols/measanglerdtose.rb +4 -2
  874. data/lib/plurimath/math/symbols/measanglerutone.rb +4 -2
  875. data/lib/plurimath/math/symbols/measangleultonw.rb +4 -2
  876. data/lib/plurimath/math/symbols/measangleurtone.rb +4 -2
  877. data/lib/plurimath/math/symbols/measeq.rb +4 -2
  878. data/lib/plurimath/math/symbols/measuredangleleft.rb +4 -2
  879. data/lib/plurimath/math/symbols/medblackstar.rb +4 -2
  880. data/lib/plurimath/math/symbols/medbullet.rb +6 -2
  881. data/lib/plurimath/math/symbols/medcirc.rb +6 -2
  882. data/lib/plurimath/math/symbols/medsp.rb +6 -3
  883. data/lib/plurimath/math/symbols/medwhitestar.rb +4 -2
  884. data/lib/plurimath/math/symbols/mercury.rb +6 -2
  885. data/lib/plurimath/math/symbols/mho.rb +4 -2
  886. data/lib/plurimath/math/symbols/midbarvee.rb +4 -2
  887. data/lib/plurimath/math/symbols/midbarwedge.rb +4 -2
  888. data/lib/plurimath/math/symbols/midcir.rb +4 -2
  889. data/lib/plurimath/math/symbols/minus.rb +4 -2
  890. data/lib/plurimath/math/symbols/minusdot.rb +4 -2
  891. data/lib/plurimath/math/symbols/minusfdots.rb +4 -2
  892. data/lib/plurimath/math/symbols/minusrdots.rb +4 -2
  893. data/lib/plurimath/math/symbols/mlcp.rb +4 -2
  894. data/lib/plurimath/math/symbols/models.rb +6 -3
  895. data/lib/plurimath/math/symbols/modtwosum.rb +4 -2
  896. data/lib/plurimath/math/symbols/mu.rb +4 -2
  897. data/lib/plurimath/math/symbols/multimap.rb +2 -1
  898. data/lib/plurimath/math/symbols/multimapinv.rb +4 -2
  899. data/lib/plurimath/math/symbols/nabla.rb +4 -2
  900. data/lib/plurimath/math/symbols/napprox.rb +2 -1
  901. data/lib/plurimath/math/symbols/nasymp.rb +5 -2
  902. data/lib/plurimath/math/symbols/natural.rb +4 -2
  903. data/lib/plurimath/math/symbols/ncong.rb +2 -1
  904. data/lib/plurimath/math/symbols/ne.rb +6 -3
  905. data/lib/plurimath/math/symbols/nearrow.rb +4 -2
  906. data/lib/plurimath/math/symbols/neg.rb +6 -3
  907. data/lib/plurimath/math/symbols/neovnwarrow.rb +4 -2
  908. data/lib/plurimath/math/symbols/neovsearrow.rb +4 -2
  909. data/lib/plurimath/math/symbols/neptune.rb +6 -2
  910. data/lib/plurimath/math/symbols/neq.rb +6 -3
  911. data/lib/plurimath/math/symbols/nequiv.rb +2 -1
  912. data/lib/plurimath/math/symbols/neswarrow.rb +4 -2
  913. data/lib/plurimath/math/symbols/neuter.rb +4 -2
  914. data/lib/plurimath/math/symbols/nexi.rb +4 -2
  915. data/lib/plurimath/math/symbols/ngeq.rb +4 -2
  916. data/lib/plurimath/math/symbols/ngt.rb +4 -2
  917. data/lib/plurimath/math/symbols/ngtrless.rb +6 -2
  918. data/lib/plurimath/math/symbols/ngtrsim.rb +6 -2
  919. data/lib/plurimath/math/symbols/nhdownarrow.rb +4 -2
  920. data/lib/plurimath/math/symbols/nhpar.rb +4 -2
  921. data/lib/plurimath/math/symbols/nhuparrow.rb +4 -2
  922. data/lib/plurimath/math/symbols/nhvvert.rb +4 -2
  923. data/lib/plurimath/math/symbols/ni.rb +4 -2
  924. data/lib/plurimath/math/symbols/nin.rb +6 -3
  925. data/lib/plurimath/math/symbols/niobar.rb +4 -2
  926. data/lib/plurimath/math/symbols/nisd.rb +4 -2
  927. data/lib/plurimath/math/symbols/nleftarrow.rb +2 -1
  928. data/lib/plurimath/math/symbols/nleftrightarrow.rb +2 -1
  929. data/lib/plurimath/math/symbols/nleq.rb +4 -2
  930. data/lib/plurimath/math/symbols/nless.rb +2 -1
  931. data/lib/plurimath/math/symbols/nlessgtr.rb +4 -2
  932. data/lib/plurimath/math/symbols/nlesssim.rb +6 -2
  933. data/lib/plurimath/math/symbols/nmid.rb +2 -1
  934. data/lib/plurimath/math/symbols/nni.rb +4 -2
  935. data/lib/plurimath/math/symbols/nnn.rb +7 -3
  936. data/lib/plurimath/math/symbols/not.rb +6 -3
  937. data/lib/plurimath/math/symbols/notbackslash.rb +6 -2
  938. data/lib/plurimath/math/symbols/notin.rb +6 -3
  939. data/lib/plurimath/math/symbols/notslash.rb +6 -2
  940. data/lib/plurimath/math/symbols/nparallel.rb +2 -1
  941. data/lib/plurimath/math/symbols/npolint.rb +4 -2
  942. data/lib/plurimath/math/symbols/nprec.rb +2 -1
  943. data/lib/plurimath/math/symbols/npreceq.rb +5 -2
  944. data/lib/plurimath/math/symbols/nrightarrow.rb +2 -1
  945. data/lib/plurimath/math/symbols/nsim.rb +2 -1
  946. data/lib/plurimath/math/symbols/nsime.rb +4 -2
  947. data/lib/plurimath/math/symbols/nsqsubseteq.rb +2 -1
  948. data/lib/plurimath/math/symbols/nsqsuperseteq.rb +7 -3
  949. data/lib/plurimath/math/symbols/nsub.rb +6 -3
  950. data/lib/plurimath/math/symbols/nsucc.rb +2 -1
  951. data/lib/plurimath/math/symbols/nsucceq.rb +5 -2
  952. data/lib/plurimath/math/symbols/nsup.rb +6 -3
  953. data/lib/plurimath/math/symbols/ntriangleleft.rb +5 -2
  954. data/lib/plurimath/math/symbols/ntriangleright.rb +5 -2
  955. data/lib/plurimath/math/symbols/nu.rb +4 -2
  956. data/lib/plurimath/math/symbols/nunlhd.rb +6 -2
  957. data/lib/plurimath/math/symbols/nunrhd.rb +5 -2
  958. data/lib/plurimath/math/symbols/nvdash.rb +4 -2
  959. data/lib/plurimath/math/symbols/nvinfty.rb +4 -2
  960. data/lib/plurimath/math/symbols/nvleftarrow.rb +4 -2
  961. data/lib/plurimath/math/symbols/nvleftarrowtail.rb +4 -2
  962. data/lib/plurimath/math/symbols/nvleftrightarrow.rb +4 -2
  963. data/lib/plurimath/math/symbols/nvrightarrow.rb +4 -2
  964. data/lib/plurimath/math/symbols/nvtwoheadleftarrow.rb +6 -2
  965. data/lib/plurimath/math/symbols/nvtwoheadleftarrowtail.rb +6 -2
  966. data/lib/plurimath/math/symbols/nvtwoheadrightarrow.rb +6 -2
  967. data/lib/plurimath/math/symbols/nvtwoheadrightarrowtail.rb +6 -2
  968. data/lib/plurimath/math/symbols/nwarrow.rb +4 -2
  969. data/lib/plurimath/math/symbols/nwovnearrow.rb +4 -2
  970. data/lib/plurimath/math/symbols/nwsearrow.rb +4 -2
  971. data/lib/plurimath/math/symbols/oast.rb +7 -3
  972. data/lib/plurimath/math/symbols/obar.rb +4 -2
  973. data/lib/plurimath/math/symbols/obot.rb +4 -2
  974. data/lib/plurimath/math/symbols/obrbrak.rb +4 -2
  975. data/lib/plurimath/math/symbols/obslash.rb +6 -2
  976. data/lib/plurimath/math/symbols/ocirc.rb +7 -3
  977. data/lib/plurimath/math/symbols/ocommatopright.rb +4 -2
  978. data/lib/plurimath/math/symbols/octothorpe.rb +7 -3
  979. data/lib/plurimath/math/symbols/odash.rb +7 -3
  980. data/lib/plurimath/math/symbols/odiv.rb +4 -2
  981. data/lib/plurimath/math/symbols/odot.rb +2 -1
  982. data/lib/plurimath/math/symbols/odotslashdot.rb +4 -2
  983. data/lib/plurimath/math/symbols/oeq.rb +7 -3
  984. data/lib/plurimath/math/symbols/oiiint.rb +4 -2
  985. data/lib/plurimath/math/symbols/oiint.rb +4 -2
  986. data/lib/plurimath/math/symbols/olcross.rb +4 -2
  987. data/lib/plurimath/math/symbols/olessthan.rb +6 -2
  988. data/lib/plurimath/math/symbols/omega.rb +4 -2
  989. data/lib/plurimath/math/symbols/ominus.rb +2 -1
  990. data/lib/plurimath/math/symbols/operp.rb +4 -2
  991. data/lib/plurimath/math/symbols/oplus.rb +2 -1
  992. data/lib/plurimath/math/symbols/opluslhrim.rb +4 -2
  993. data/lib/plurimath/math/symbols/oplusrhrim.rb +4 -2
  994. data/lib/plurimath/math/symbols/origof.rb +6 -2
  995. data/lib/plurimath/math/symbols/oslash.rb +4 -2
  996. data/lib/plurimath/math/symbols/otimes.rb +4 -2
  997. data/lib/plurimath/math/symbols/otimeshat.rb +4 -2
  998. data/lib/plurimath/math/symbols/otimeslhrim.rb +4 -2
  999. data/lib/plurimath/math/symbols/otimesrhrim.rb +4 -2
  1000. data/lib/plurimath/math/symbols/oturnedcomma.rb +4 -2
  1001. data/lib/plurimath/math/symbols/overbar.rb +4 -2
  1002. data/lib/plurimath/math/symbols/overbracket.rb +4 -2
  1003. data/lib/plurimath/math/symbols/overleftrightarrow.rb +6 -2
  1004. data/lib/plurimath/math/symbols/ovhook.rb +4 -2
  1005. data/lib/plurimath/math/symbols/ox.rb +4 -2
  1006. data/lib/plurimath/math/symbols/parallelogram.rb +4 -2
  1007. data/lib/plurimath/math/symbols/parallelogramblack.rb +6 -2
  1008. data/lib/plurimath/math/symbols/paren/close_paren.rb +4 -2
  1009. data/lib/plurimath/math/symbols/paren/langle.rb +8 -3
  1010. data/lib/plurimath/math/symbols/paren/lbbrack.rb +5 -2
  1011. data/lib/plurimath/math/symbols/paren/lbrace.rb +2 -1
  1012. data/lib/plurimath/math/symbols/paren/lbrack.rb +2 -1
  1013. data/lib/plurimath/math/symbols/paren/lceil.rb +6 -3
  1014. data/lib/plurimath/math/symbols/paren/lfloor.rb +4 -2
  1015. data/lib/plurimath/math/symbols/paren/norm.rb +4 -2
  1016. data/lib/plurimath/math/symbols/paren/open_paren.rb +4 -2
  1017. data/lib/plurimath/math/symbols/paren/rangle.rb +8 -3
  1018. data/lib/plurimath/math/symbols/paren/rbbrack.rb +5 -2
  1019. data/lib/plurimath/math/symbols/paren/rbrace.rb +4 -2
  1020. data/lib/plurimath/math/symbols/paren/rbrack.rb +4 -2
  1021. data/lib/plurimath/math/symbols/paren/rceil.rb +6 -3
  1022. data/lib/plurimath/math/symbols/paren/rfloor.rb +4 -2
  1023. data/lib/plurimath/math/symbols/paren/upcase_langle.rb +2 -1
  1024. data/lib/plurimath/math/symbols/paren/upcase_rangle.rb +2 -1
  1025. data/lib/plurimath/math/symbols/paren/vert.rb +4 -2
  1026. data/lib/plurimath/math/symbols/parsim.rb +4 -2
  1027. data/lib/plurimath/math/symbols/partial.rb +6 -3
  1028. data/lib/plurimath/math/symbols/partialmeetcontraction.rb +6 -2
  1029. data/lib/plurimath/math/symbols/pencil.rb +4 -2
  1030. data/lib/plurimath/math/symbols/pentagon.rb +4 -2
  1031. data/lib/plurimath/math/symbols/pentagonblack.rb +4 -2
  1032. data/lib/plurimath/math/symbols/percent.rb +4 -2
  1033. data/lib/plurimath/math/symbols/period.rb +4 -2
  1034. data/lib/plurimath/math/symbols/perp.rb +6 -3
  1035. data/lib/plurimath/math/symbols/perps.rb +4 -2
  1036. data/lib/plurimath/math/symbols/pfun.rb +6 -2
  1037. data/lib/plurimath/math/symbols/phi.rb +4 -2
  1038. data/lib/plurimath/math/symbols/pi.rb +4 -2
  1039. data/lib/plurimath/math/symbols/pinj.rb +6 -2
  1040. data/lib/plurimath/math/symbols/pisces.rb +4 -2
  1041. data/lib/plurimath/math/symbols/pitchfork.rb +2 -1
  1042. data/lib/plurimath/math/symbols/planckconst.rb +4 -2
  1043. data/lib/plurimath/math/symbols/plus.rb +4 -2
  1044. data/lib/plurimath/math/symbols/plusdot.rb +4 -2
  1045. data/lib/plurimath/math/symbols/pluseqq.rb +4 -2
  1046. data/lib/plurimath/math/symbols/plushat.rb +4 -2
  1047. data/lib/plurimath/math/symbols/plussim.rb +4 -2
  1048. data/lib/plurimath/math/symbols/plussubtwo.rb +4 -2
  1049. data/lib/plurimath/math/symbols/plustrif.rb +4 -2
  1050. data/lib/plurimath/math/symbols/pluto.rb +4 -2
  1051. data/lib/plurimath/math/symbols/pm.rb +2 -1
  1052. data/lib/plurimath/math/symbols/pointint.rb +4 -2
  1053. data/lib/plurimath/math/symbols/pointright.rb +4 -2
  1054. data/lib/plurimath/math/symbols/postalmark.rb +4 -2
  1055. data/lib/plurimath/math/symbols/pounds.rb +6 -2
  1056. data/lib/plurimath/math/symbols/pppprime.rb +7 -3
  1057. data/lib/plurimath/math/symbols/ppprime.rb +7 -3
  1058. data/lib/plurimath/math/symbols/pprime.rb +8 -3
  1059. data/lib/plurimath/math/symbols/prcue.rb +8 -3
  1060. data/lib/plurimath/math/symbols/prec.rb +2 -1
  1061. data/lib/plurimath/math/symbols/precapprox.rb +4 -2
  1062. data/lib/plurimath/math/symbols/preceq.rb +4 -2
  1063. data/lib/plurimath/math/symbols/preceqq.rb +4 -2
  1064. data/lib/plurimath/math/symbols/precnapprox.rb +4 -2
  1065. data/lib/plurimath/math/symbols/precneq.rb +4 -2
  1066. data/lib/plurimath/math/symbols/precneqq.rb +4 -2
  1067. data/lib/plurimath/math/symbols/precnsim.rb +2 -1
  1068. data/lib/plurimath/math/symbols/precsim.rb +5 -2
  1069. data/lib/plurimath/math/symbols/profline.rb +4 -2
  1070. data/lib/plurimath/math/symbols/profsurf.rb +4 -2
  1071. data/lib/plurimath/math/symbols/project.rb +6 -2
  1072. data/lib/plurimath/math/symbols/prop.rb +6 -3
  1073. data/lib/plurimath/math/symbols/propertyline.rb +4 -2
  1074. data/lib/plurimath/math/symbols/psi.rb +4 -2
  1075. data/lib/plurimath/math/symbols/psur.rb +8 -2
  1076. data/lib/plurimath/math/symbols/pullback.rb +4 -2
  1077. data/lib/plurimath/math/symbols/pushout.rb +4 -2
  1078. data/lib/plurimath/math/symbols/qed.rb +4 -2
  1079. data/lib/plurimath/math/symbols/qprime.rb +4 -2
  1080. data/lib/plurimath/math/symbols/qquad.rb +4 -2
  1081. data/lib/plurimath/math/symbols/quarternote.rb +4 -2
  1082. data/lib/plurimath/math/symbols/questeq.rb +4 -2
  1083. data/lib/plurimath/math/symbols/question.rb +4 -2
  1084. data/lib/plurimath/math/symbols/radiation.rb +4 -2
  1085. data/lib/plurimath/math/symbols/rang.rb +4 -2
  1086. data/lib/plurimath/math/symbols/rangledot.rb +4 -2
  1087. data/lib/plurimath/math/symbols/rangledownzigzagarrow.rb +6 -2
  1088. data/lib/plurimath/math/symbols/ratio.rb +6 -3
  1089. data/lib/plurimath/math/symbols/rbag.rb +4 -2
  1090. data/lib/plurimath/math/symbols/rblkbrbrak.rb +4 -2
  1091. data/lib/plurimath/math/symbols/rblot.rb +4 -2
  1092. data/lib/plurimath/math/symbols/rbracelend.rb +4 -2
  1093. data/lib/plurimath/math/symbols/rbracemid.rb +4 -2
  1094. data/lib/plurimath/math/symbols/rbraceuend.rb +4 -2
  1095. data/lib/plurimath/math/symbols/rbrackextender.rb +4 -2
  1096. data/lib/plurimath/math/symbols/rbracklend.rb +4 -2
  1097. data/lib/plurimath/math/symbols/rbracklrtick.rb +4 -2
  1098. data/lib/plurimath/math/symbols/rbrackubar.rb +4 -2
  1099. data/lib/plurimath/math/symbols/rbrackuend.rb +4 -2
  1100. data/lib/plurimath/math/symbols/rbrackurtick.rb +4 -2
  1101. data/lib/plurimath/math/symbols/rbrbrak.rb +4 -2
  1102. data/lib/plurimath/math/symbols/rcurvyangle.rb +4 -2
  1103. data/lib/plurimath/math/symbols/rddots.rb +7 -3
  1104. data/lib/plurimath/math/symbols/rdiagovfdiag.rb +4 -2
  1105. data/lib/plurimath/math/symbols/rdiagovsearrow.rb +4 -2
  1106. data/lib/plurimath/math/symbols/rdsh.rb +7 -3
  1107. data/lib/plurimath/math/symbols/recycle.rb +4 -2
  1108. data/lib/plurimath/math/symbols/rel.rb +6 -3
  1109. data/lib/plurimath/math/symbols/restriction.rb +5 -2
  1110. data/lib/plurimath/math/symbols/revangle.rb +4 -2
  1111. data/lib/plurimath/math/symbols/revangleubar.rb +4 -2
  1112. data/lib/plurimath/math/symbols/revemptyset.rb +4 -2
  1113. data/lib/plurimath/math/symbols/revnmid.rb +4 -2
  1114. data/lib/plurimath/math/symbols/rfbowtie.rb +4 -2
  1115. data/lib/plurimath/math/symbols/rftimes.rb +4 -2
  1116. data/lib/plurimath/math/symbols/rgroup.rb +4 -2
  1117. data/lib/plurimath/math/symbols/rhd.rb +6 -2
  1118. data/lib/plurimath/math/symbols/rho.rb +4 -2
  1119. data/lib/plurimath/math/symbols/rightangle.rb +6 -3
  1120. data/lib/plurimath/math/symbols/rightanglemdot.rb +4 -2
  1121. data/lib/plurimath/math/symbols/rightanglesqr.rb +4 -2
  1122. data/lib/plurimath/math/symbols/rightarrow.rb +4 -2
  1123. data/lib/plurimath/math/symbols/rightarrowapprox.rb +4 -2
  1124. data/lib/plurimath/math/symbols/rightarrowbackapprox.rb +6 -2
  1125. data/lib/plurimath/math/symbols/rightarrowbar.rb +6 -2
  1126. data/lib/plurimath/math/symbols/rightarrowbsimilar.rb +6 -2
  1127. data/lib/plurimath/math/symbols/rightarrowdiamond.rb +4 -2
  1128. data/lib/plurimath/math/symbols/rightarrowgtr.rb +4 -2
  1129. data/lib/plurimath/math/symbols/rightarrowonoplus.rb +4 -2
  1130. data/lib/plurimath/math/symbols/rightarrowplus.rb +4 -2
  1131. data/lib/plurimath/math/symbols/rightarrowshortleftarrow.rb +6 -2
  1132. data/lib/plurimath/math/symbols/rightarrowsimilar.rb +4 -2
  1133. data/lib/plurimath/math/symbols/rightarrowsupset.rb +4 -2
  1134. data/lib/plurimath/math/symbols/rightarrowtail.rb +6 -3
  1135. data/lib/plurimath/math/symbols/rightarrowtriangle.rb +6 -2
  1136. data/lib/plurimath/math/symbols/rightarrowx.rb +4 -2
  1137. data/lib/plurimath/math/symbols/rightbarharpoon.rb +10 -2
  1138. data/lib/plurimath/math/symbols/rightbkarrow.rb +4 -2
  1139. data/lib/plurimath/math/symbols/rightcircle.rb +8 -2
  1140. data/lib/plurimath/math/symbols/rightdbltail.rb +4 -2
  1141. data/lib/plurimath/math/symbols/rightdotarrow.rb +4 -2
  1142. data/lib/plurimath/math/symbols/rightdowncurvedarrow.rb +6 -2
  1143. data/lib/plurimath/math/symbols/rightdownteevector.rb +8 -2
  1144. data/lib/plurimath/math/symbols/rightdownvectorbar.rb +8 -2
  1145. data/lib/plurimath/math/symbols/rightharpoonaccent.rb +6 -2
  1146. data/lib/plurimath/math/symbols/rightharpoondown.rb +2 -1
  1147. data/lib/plurimath/math/symbols/rightharpoonup.rb +2 -1
  1148. data/lib/plurimath/math/symbols/rightimply.rb +4 -2
  1149. data/lib/plurimath/math/symbols/rightleftarrow.rb +5 -2
  1150. data/lib/plurimath/math/symbols/rightleftharpoon.rb +6 -2
  1151. data/lib/plurimath/math/symbols/rightleftharpoonsdown.rb +6 -2
  1152. data/lib/plurimath/math/symbols/rightleftharpoonsup.rb +6 -2
  1153. data/lib/plurimath/math/symbols/rightmoon.rb +4 -2
  1154. data/lib/plurimath/math/symbols/rightouterjoin.rb +4 -2
  1155. data/lib/plurimath/math/symbols/rightpentagon.rb +4 -2
  1156. data/lib/plurimath/math/symbols/rightpentagonblack.rb +6 -2
  1157. data/lib/plurimath/math/symbols/rightrightarrows.rb +2 -1
  1158. data/lib/plurimath/math/symbols/rightrightharpoons.rb +8 -2
  1159. data/lib/plurimath/math/symbols/rightsquigarrow.rb +2 -1
  1160. data/lib/plurimath/math/symbols/righttail.rb +4 -2
  1161. data/lib/plurimath/math/symbols/rightteevector.rb +8 -2
  1162. data/lib/plurimath/math/symbols/rightthreearrows.rb +4 -2
  1163. data/lib/plurimath/math/symbols/rightthreetimes.rb +2 -1
  1164. data/lib/plurimath/math/symbols/rightturn.rb +8 -3
  1165. data/lib/plurimath/math/symbols/rightupdownharpoon.rb +8 -3
  1166. data/lib/plurimath/math/symbols/rightupteevector.rb +10 -2
  1167. data/lib/plurimath/math/symbols/rightupvectorbar.rb +10 -2
  1168. data/lib/plurimath/math/symbols/rightvectorbar.rb +8 -2
  1169. data/lib/plurimath/math/symbols/rightwavearrow.rb +2 -1
  1170. data/lib/plurimath/math/symbols/rightwhitearrow.rb +4 -2
  1171. data/lib/plurimath/math/symbols/rimg.rb +6 -2
  1172. data/lib/plurimath/math/symbols/ring.rb +6 -2
  1173. data/lib/plurimath/math/symbols/ringplus.rb +4 -2
  1174. data/lib/plurimath/math/symbols/risingdotseq.rb +2 -1
  1175. data/lib/plurimath/math/symbols/rlhar.rb +7 -3
  1176. data/lib/plurimath/math/symbols/rmoust.rb +7 -3
  1177. data/lib/plurimath/math/symbols/rparen.rb +4 -2
  1178. data/lib/plurimath/math/symbols/rparenextender.rb +4 -2
  1179. data/lib/plurimath/math/symbols/rparengtr.rb +4 -2
  1180. data/lib/plurimath/math/symbols/rparenlend.rb +4 -2
  1181. data/lib/plurimath/math/symbols/rparenless.rb +4 -2
  1182. data/lib/plurimath/math/symbols/rparenuend.rb +4 -2
  1183. data/lib/plurimath/math/symbols/rppolint.rb +4 -2
  1184. data/lib/plurimath/math/symbols/rrightarrow.rb +4 -2
  1185. data/lib/plurimath/math/symbols/rsolbar.rb +4 -2
  1186. data/lib/plurimath/math/symbols/rsqhook.rb +4 -2
  1187. data/lib/plurimath/math/symbols/rsub.rb +4 -2
  1188. data/lib/plurimath/math/symbols/rtimes.rb +4 -2
  1189. data/lib/plurimath/math/symbols/rtriltri.rb +4 -2
  1190. data/lib/plurimath/math/symbols/ruledelayed.rb +4 -2
  1191. data/lib/plurimath/math/symbols/rvboxline.rb +4 -2
  1192. data/lib/plurimath/math/symbols/rvert.rb +6 -2
  1193. data/lib/plurimath/math/symbols/rvzigzag.rb +4 -2
  1194. data/lib/plurimath/math/symbols/sadface.rb +6 -2
  1195. data/lib/plurimath/math/symbols/sagittarius.rb +4 -2
  1196. data/lib/plurimath/math/symbols/same.rb +4 -2
  1197. data/lib/plurimath/math/symbols/sampi.rb +4 -2
  1198. data/lib/plurimath/math/symbols/sanslmirrored.rb +4 -2
  1199. data/lib/plurimath/math/symbols/sanslturned.rb +4 -2
  1200. data/lib/plurimath/math/symbols/saturn.rb +4 -2
  1201. data/lib/plurimath/math/symbols/scorpio.rb +6 -2
  1202. data/lib/plurimath/math/symbols/scpolint.rb +4 -2
  1203. data/lib/plurimath/math/symbols/scurel.rb +4 -2
  1204. data/lib/plurimath/math/symbols/sdef.rb +6 -2
  1205. data/lib/plurimath/math/symbols/searrow.rb +4 -2
  1206. data/lib/plurimath/math/symbols/second.rb +7 -3
  1207. data/lib/plurimath/math/symbols/semi.rb +4 -2
  1208. data/lib/plurimath/math/symbols/semicolon.rb +4 -2
  1209. data/lib/plurimath/math/symbols/seovnearrow.rb +4 -2
  1210. data/lib/plurimath/math/symbols/setminus.rb +7 -3
  1211. data/lib/plurimath/math/symbols/sharp.rb +4 -2
  1212. data/lib/plurimath/math/symbols/shortdowntack.rb +4 -2
  1213. data/lib/plurimath/math/symbols/shortlefttack.rb +4 -2
  1214. data/lib/plurimath/math/symbols/shortrightarrowleftarrow.rb +6 -2
  1215. data/lib/plurimath/math/symbols/shortuptack.rb +4 -2
  1216. data/lib/plurimath/math/symbols/shuffle.rb +4 -2
  1217. data/lib/plurimath/math/symbols/sigma.rb +4 -2
  1218. data/lib/plurimath/math/symbols/simeq.rb +2 -1
  1219. data/lib/plurimath/math/symbols/simge.rb +4 -2
  1220. data/lib/plurimath/math/symbols/simgtr.rb +4 -2
  1221. data/lib/plurimath/math/symbols/similarleftarrow.rb +4 -2
  1222. data/lib/plurimath/math/symbols/similarrightarrow.rb +4 -2
  1223. data/lib/plurimath/math/symbols/simle.rb +4 -2
  1224. data/lib/plurimath/math/symbols/simless.rb +4 -2
  1225. data/lib/plurimath/math/symbols/simminussim.rb +4 -2
  1226. data/lib/plurimath/math/symbols/simneqq.rb +4 -2
  1227. data/lib/plurimath/math/symbols/simplus.rb +4 -2
  1228. data/lib/plurimath/math/symbols/simrdots.rb +4 -2
  1229. data/lib/plurimath/math/symbols/sixteenthnote.rb +4 -2
  1230. data/lib/plurimath/math/symbols/skull.rb +4 -2
  1231. data/lib/plurimath/math/symbols/slash.rb +5 -3
  1232. data/lib/plurimath/math/symbols/smallblacktriangleleft.rb +6 -2
  1233. data/lib/plurimath/math/symbols/smallblacktriangleright.rb +6 -2
  1234. data/lib/plurimath/math/symbols/smallin.rb +4 -2
  1235. data/lib/plurimath/math/symbols/smallni.rb +4 -2
  1236. data/lib/plurimath/math/symbols/smalltriangleleft.rb +4 -2
  1237. data/lib/plurimath/math/symbols/smalltriangleright.rb +6 -2
  1238. data/lib/plurimath/math/symbols/smashtimes.rb +4 -2
  1239. data/lib/plurimath/math/symbols/smblkcircle.rb +6 -2
  1240. data/lib/plurimath/math/symbols/smblkdiamond.rb +4 -2
  1241. data/lib/plurimath/math/symbols/smblklozenge.rb +4 -2
  1242. data/lib/plurimath/math/symbols/smblksquare.rb +4 -2
  1243. data/lib/plurimath/math/symbols/smeparsl.rb +4 -2
  1244. data/lib/plurimath/math/symbols/smile.rb +4 -2
  1245. data/lib/plurimath/math/symbols/smiley.rb +6 -2
  1246. data/lib/plurimath/math/symbols/smte.rb +4 -2
  1247. data/lib/plurimath/math/symbols/smwhitestar.rb +4 -2
  1248. data/lib/plurimath/math/symbols/smwhtcircle.rb +4 -2
  1249. data/lib/plurimath/math/symbols/smwhtlozenge.rb +4 -2
  1250. data/lib/plurimath/math/symbols/smwhtsquare.rb +4 -2
  1251. data/lib/plurimath/math/symbols/spadesuit.rb +2 -1
  1252. data/lib/plurimath/math/symbols/spddot.rb +4 -2
  1253. data/lib/plurimath/math/symbols/sphericalangleup.rb +4 -2
  1254. data/lib/plurimath/math/symbols/spot.rb +6 -2
  1255. data/lib/plurimath/math/symbols/sptilde.rb +4 -2
  1256. data/lib/plurimath/math/symbols/sqcap.rb +4 -2
  1257. data/lib/plurimath/math/symbols/sqcup.rb +4 -2
  1258. data/lib/plurimath/math/symbols/sqint.rb +4 -2
  1259. data/lib/plurimath/math/symbols/sqlozenge.rb +6 -2
  1260. data/lib/plurimath/math/symbols/sqrtbottom.rb +4 -2
  1261. data/lib/plurimath/math/symbols/sqsubset.rb +2 -1
  1262. data/lib/plurimath/math/symbols/sqsubseteq.rb +2 -1
  1263. data/lib/plurimath/math/symbols/sqsubsetneq.rb +4 -2
  1264. data/lib/plurimath/math/symbols/sqsupset.rb +2 -1
  1265. data/lib/plurimath/math/symbols/sqsupseteq.rb +2 -1
  1266. data/lib/plurimath/math/symbols/square.rb +4 -2
  1267. data/lib/plurimath/math/symbols/squarebotblack.rb +4 -2
  1268. data/lib/plurimath/math/symbols/squarecrossfill.rb +4 -2
  1269. data/lib/plurimath/math/symbols/squarehfill.rb +4 -2
  1270. data/lib/plurimath/math/symbols/squarehvfill.rb +4 -2
  1271. data/lib/plurimath/math/symbols/squareleftblack.rb +4 -2
  1272. data/lib/plurimath/math/symbols/squarellblack.rb +4 -2
  1273. data/lib/plurimath/math/symbols/squarellquad.rb +4 -2
  1274. data/lib/plurimath/math/symbols/squarelrblack.rb +4 -2
  1275. data/lib/plurimath/math/symbols/squarelrquad.rb +4 -2
  1276. data/lib/plurimath/math/symbols/squareneswfill.rb +4 -2
  1277. data/lib/plurimath/math/symbols/squarenwsefill.rb +4 -2
  1278. data/lib/plurimath/math/symbols/squarerightblack.rb +4 -2
  1279. data/lib/plurimath/math/symbols/squaretopblack.rb +4 -2
  1280. data/lib/plurimath/math/symbols/squareulblack.rb +4 -2
  1281. data/lib/plurimath/math/symbols/squareulquad.rb +4 -2
  1282. data/lib/plurimath/math/symbols/squareurblack.rb +4 -2
  1283. data/lib/plurimath/math/symbols/squareurquad.rb +4 -2
  1284. data/lib/plurimath/math/symbols/squarevfill.rb +4 -2
  1285. data/lib/plurimath/math/symbols/squoval.rb +4 -2
  1286. data/lib/plurimath/math/symbols/sslash.rb +4 -2
  1287. data/lib/plurimath/math/symbols/star.rb +2 -1
  1288. data/lib/plurimath/math/symbols/stareq.rb +4 -2
  1289. data/lib/plurimath/math/symbols/steaming.rb +4 -2
  1290. data/lib/plurimath/math/symbols/stigma.rb +6 -2
  1291. data/lib/plurimath/math/symbols/strictfi.rb +6 -2
  1292. data/lib/plurimath/math/symbols/strictif.rb +6 -2
  1293. data/lib/plurimath/math/symbols/strns.rb +4 -2
  1294. data/lib/plurimath/math/symbols/sub.rb +4 -2
  1295. data/lib/plurimath/math/symbols/sube.rb +4 -2
  1296. data/lib/plurimath/math/symbols/subedot.rb +4 -2
  1297. data/lib/plurimath/math/symbols/submult.rb +4 -2
  1298. data/lib/plurimath/math/symbols/subrarr.rb +4 -2
  1299. data/lib/plurimath/math/symbols/subset.rb +2 -1
  1300. data/lib/plurimath/math/symbols/subsetapprox.rb +4 -2
  1301. data/lib/plurimath/math/symbols/subsetcirc.rb +4 -2
  1302. data/lib/plurimath/math/symbols/subsetdot.rb +4 -2
  1303. data/lib/plurimath/math/symbols/subseteq.rb +7 -3
  1304. data/lib/plurimath/math/symbols/subseteqq.rb +4 -2
  1305. data/lib/plurimath/math/symbols/subsetneq.rb +5 -2
  1306. data/lib/plurimath/math/symbols/subsetneqq.rb +4 -2
  1307. data/lib/plurimath/math/symbols/subsetplus.rb +4 -2
  1308. data/lib/plurimath/math/symbols/subsim.rb +4 -2
  1309. data/lib/plurimath/math/symbols/subsub.rb +6 -3
  1310. data/lib/plurimath/math/symbols/succ.rb +2 -1
  1311. data/lib/plurimath/math/symbols/succapprox.rb +4 -2
  1312. data/lib/plurimath/math/symbols/succcurlyeq.rb +6 -2
  1313. data/lib/plurimath/math/symbols/succeq.rb +4 -2
  1314. data/lib/plurimath/math/symbols/succeqq.rb +4 -2
  1315. data/lib/plurimath/math/symbols/succnapprox.rb +4 -2
  1316. data/lib/plurimath/math/symbols/succneq.rb +4 -2
  1317. data/lib/plurimath/math/symbols/succneqq.rb +4 -2
  1318. data/lib/plurimath/math/symbols/succnsim.rb +2 -1
  1319. data/lib/plurimath/math/symbols/succsim.rb +5 -2
  1320. data/lib/plurimath/math/symbols/sumbottom.rb +4 -2
  1321. data/lib/plurimath/math/symbols/sumint.rb +4 -2
  1322. data/lib/plurimath/math/symbols/sumtop.rb +4 -2
  1323. data/lib/plurimath/math/symbols/sup.rb +4 -2
  1324. data/lib/plurimath/math/symbols/supdsub.rb +4 -2
  1325. data/lib/plurimath/math/symbols/supe.rb +4 -2
  1326. data/lib/plurimath/math/symbols/supedot.rb +4 -2
  1327. data/lib/plurimath/math/symbols/suphsol.rb +4 -2
  1328. data/lib/plurimath/math/symbols/suphsub.rb +4 -2
  1329. data/lib/plurimath/math/symbols/suplarr.rb +4 -2
  1330. data/lib/plurimath/math/symbols/supmult.rb +4 -2
  1331. data/lib/plurimath/math/symbols/supset.rb +2 -1
  1332. data/lib/plurimath/math/symbols/supsetapprox.rb +4 -2
  1333. data/lib/plurimath/math/symbols/supsetcirc.rb +4 -2
  1334. data/lib/plurimath/math/symbols/supsetdot.rb +4 -2
  1335. data/lib/plurimath/math/symbols/supseteq.rb +4 -2
  1336. data/lib/plurimath/math/symbols/supseteqq.rb +4 -2
  1337. data/lib/plurimath/math/symbols/supsetneq.rb +2 -1
  1338. data/lib/plurimath/math/symbols/supsetneqq.rb +4 -2
  1339. data/lib/plurimath/math/symbols/supsetplus.rb +4 -2
  1340. data/lib/plurimath/math/symbols/supsim.rb +4 -2
  1341. data/lib/plurimath/math/symbols/supsub.rb +2 -1
  1342. data/lib/plurimath/math/symbols/supsup.rb +2 -1
  1343. data/lib/plurimath/math/symbols/swarrow.rb +4 -2
  1344. data/lib/plurimath/math/symbols/swords.rb +4 -2
  1345. data/lib/plurimath/math/symbols/symbol.rb +26 -15
  1346. data/lib/plurimath/math/symbols/talloblong.rb +4 -2
  1347. data/lib/plurimath/math/symbols/tau.rb +4 -2
  1348. data/lib/plurimath/math/symbols/taurus.rb +4 -2
  1349. data/lib/plurimath/math/symbols/tcmu.rb +4 -2
  1350. data/lib/plurimath/math/symbols/tcohm.rb +4 -2
  1351. data/lib/plurimath/math/symbols/therefore.rb +7 -3
  1352. data/lib/plurimath/math/symbols/thermod.rb +4 -2
  1353. data/lib/plurimath/math/symbols/theta.rb +4 -2
  1354. data/lib/plurimath/math/symbols/third.rb +4 -2
  1355. data/lib/plurimath/math/symbols/three_per_em_space.rb +2 -1
  1356. data/lib/plurimath/math/symbols/threedangle.rb +4 -2
  1357. data/lib/plurimath/math/symbols/threedotcolon.rb +4 -2
  1358. data/lib/plurimath/math/symbols/threeunderdot.rb +4 -2
  1359. data/lib/plurimath/math/symbols/tieinfty.rb +4 -2
  1360. data/lib/plurimath/math/symbols/times.rb +4 -2
  1361. data/lib/plurimath/math/symbols/timesbar.rb +4 -2
  1362. data/lib/plurimath/math/symbols/tinj.rb +6 -3
  1363. data/lib/plurimath/math/symbols/tminus.rb +4 -2
  1364. data/lib/plurimath/math/symbols/to.rb +4 -2
  1365. data/lib/plurimath/math/symbols/toea.rb +4 -2
  1366. data/lib/plurimath/math/symbols/tona.rb +4 -2
  1367. data/lib/plurimath/math/symbols/top.rb +2 -1
  1368. data/lib/plurimath/math/symbols/topbot.rb +4 -2
  1369. data/lib/plurimath/math/symbols/topcir.rb +4 -2
  1370. data/lib/plurimath/math/symbols/topfork.rb +4 -2
  1371. data/lib/plurimath/math/symbols/topsemicircle.rb +4 -2
  1372. data/lib/plurimath/math/symbols/tosa.rb +4 -2
  1373. data/lib/plurimath/math/symbols/towa.rb +4 -2
  1374. data/lib/plurimath/math/symbols/tplus.rb +4 -2
  1375. data/lib/plurimath/math/symbols/trapezium.rb +4 -2
  1376. data/lib/plurimath/math/symbols/triangle.rb +7 -3
  1377. data/lib/plurimath/math/symbols/trianglecdot.rb +4 -2
  1378. data/lib/plurimath/math/symbols/triangledown.rb +6 -2
  1379. data/lib/plurimath/math/symbols/triangleleftblack.rb +4 -2
  1380. data/lib/plurimath/math/symbols/triangleminus.rb +4 -2
  1381. data/lib/plurimath/math/symbols/triangleodot.rb +4 -2
  1382. data/lib/plurimath/math/symbols/triangleplus.rb +4 -2
  1383. data/lib/plurimath/math/symbols/trianglerightblack.rb +6 -2
  1384. data/lib/plurimath/math/symbols/triangles.rb +4 -2
  1385. data/lib/plurimath/math/symbols/triangleserifs.rb +4 -2
  1386. data/lib/plurimath/math/symbols/triangletimes.rb +4 -2
  1387. data/lib/plurimath/math/symbols/triangleubar.rb +4 -2
  1388. data/lib/plurimath/math/symbols/tripleplus.rb +4 -2
  1389. data/lib/plurimath/math/symbols/trslash.rb +4 -2
  1390. data/lib/plurimath/math/symbols/tsur.rb +6 -3
  1391. data/lib/plurimath/math/symbols/tt.rb +2 -1
  1392. data/lib/plurimath/math/symbols/turnangle.rb +4 -2
  1393. data/lib/plurimath/math/symbols/turnediota.rb +4 -2
  1394. data/lib/plurimath/math/symbols/turnednot.rb +4 -2
  1395. data/lib/plurimath/math/symbols/twocaps.rb +4 -2
  1396. data/lib/plurimath/math/symbols/twocups.rb +4 -2
  1397. data/lib/plurimath/math/symbols/twoheaddownarrow.rb +4 -2
  1398. data/lib/plurimath/math/symbols/twoheadleftarrow.rb +2 -1
  1399. data/lib/plurimath/math/symbols/twoheadleftarrowtail.rb +6 -2
  1400. data/lib/plurimath/math/symbols/twoheadleftdbkarrow.rb +6 -2
  1401. data/lib/plurimath/math/symbols/twoheadmapsfrom.rb +4 -2
  1402. data/lib/plurimath/math/symbols/twoheadmapsto.rb +4 -2
  1403. data/lib/plurimath/math/symbols/twoheadrightarrow.rb +6 -3
  1404. data/lib/plurimath/math/symbols/twoheadrightarrowtail.rb +9 -3
  1405. data/lib/plurimath/math/symbols/twoheaduparrow.rb +4 -2
  1406. data/lib/plurimath/math/symbols/twoheaduparrowcircle.rb +6 -2
  1407. data/lib/plurimath/math/symbols/twolowline.rb +4 -2
  1408. data/lib/plurimath/math/symbols/twonotes.rb +4 -2
  1409. data/lib/plurimath/math/symbols/typecolon.rb +4 -2
  1410. data/lib/plurimath/math/symbols/uarr.rb +4 -2
  1411. data/lib/plurimath/math/symbols/ubrbrak.rb +4 -2
  1412. data/lib/plurimath/math/symbols/ularc.rb +4 -2
  1413. data/lib/plurimath/math/symbols/ulblacktriangle.rb +4 -2
  1414. data/lib/plurimath/math/symbols/ulcorner.rb +4 -2
  1415. data/lib/plurimath/math/symbols/ultriangle.rb +4 -2
  1416. data/lib/plurimath/math/symbols/uminus.rb +4 -2
  1417. data/lib/plurimath/math/symbols/underbar.rb +4 -2
  1418. data/lib/plurimath/math/symbols/underbracket.rb +4 -2
  1419. data/lib/plurimath/math/symbols/underleftarrow.rb +4 -2
  1420. data/lib/plurimath/math/symbols/underleftharpoondown.rb +6 -2
  1421. data/lib/plurimath/math/symbols/underline.rb +4 -2
  1422. data/lib/plurimath/math/symbols/underparen.rb +4 -2
  1423. data/lib/plurimath/math/symbols/underrightarrow.rb +4 -2
  1424. data/lib/plurimath/math/symbols/underrightharpoondown.rb +6 -2
  1425. data/lib/plurimath/math/symbols/unicodeellipsis.rb +4 -2
  1426. data/lib/plurimath/math/symbols/unlhd.rb +5 -2
  1427. data/lib/plurimath/math/symbols/unrhd.rb +5 -2
  1428. data/lib/plurimath/math/symbols/upalpha.rb +4 -2
  1429. data/lib/plurimath/math/symbols/upand.rb +4 -2
  1430. data/lib/plurimath/math/symbols/uparrow.rb +2 -1
  1431. data/lib/plurimath/math/symbols/uparrowbarred.rb +4 -2
  1432. data/lib/plurimath/math/symbols/uparrowoncircle.rb +4 -2
  1433. data/lib/plurimath/math/symbols/upbeta.rb +4 -2
  1434. data/lib/plurimath/math/symbols/upcase_equiv.rb +4 -2
  1435. data/lib/plurimath/math/symbols/upcase_gamma.rb +4 -2
  1436. data/lib/plurimath/math/symbols/upcase_lambda.rb +4 -2
  1437. data/lib/plurimath/math/symbols/upcase_mapsto.rb +4 -2
  1438. data/lib/plurimath/math/symbols/upcase_omega.rb +5 -2
  1439. data/lib/plurimath/math/symbols/upcase_phi.rb +4 -2
  1440. data/lib/plurimath/math/symbols/upcase_pi.rb +4 -2
  1441. data/lib/plurimath/math/symbols/upcase_psi.rb +4 -2
  1442. data/lib/plurimath/math/symbols/upcase_rbrack.rb +8 -2
  1443. data/lib/plurimath/math/symbols/upcase_rightarrow.rb +9 -3
  1444. data/lib/plurimath/math/symbols/upcase_sigma.rb +4 -2
  1445. data/lib/plurimath/math/symbols/upcase_theta.rb +4 -2
  1446. data/lib/plurimath/math/symbols/upcase_wedge.rb +4 -2
  1447. data/lib/plurimath/math/symbols/upcase_xi.rb +4 -2
  1448. data/lib/plurimath/math/symbols/upcaseup_omega.rb +5 -2
  1449. data/lib/plurimath/math/symbols/upchi.rb +4 -2
  1450. data/lib/plurimath/math/symbols/updasharrow.rb +4 -2
  1451. data/lib/plurimath/math/symbols/updownarrow.rb +2 -1
  1452. data/lib/plurimath/math/symbols/updownarrowbar.rb +4 -2
  1453. data/lib/plurimath/math/symbols/updownarrows.rb +5 -2
  1454. data/lib/plurimath/math/symbols/updownharpoonleftright.rb +6 -2
  1455. data/lib/plurimath/math/symbols/updownharpoonrightleft.rb +6 -2
  1456. data/lib/plurimath/math/symbols/upepsilon.rb +4 -2
  1457. data/lib/plurimath/math/symbols/upequilibrium.rb +8 -3
  1458. data/lib/plurimath/math/symbols/upeta.rb +4 -2
  1459. data/lib/plurimath/math/symbols/upfishtail.rb +4 -2
  1460. data/lib/plurimath/math/symbols/upharpoonleft.rb +5 -2
  1461. data/lib/plurimath/math/symbols/upin.rb +4 -2
  1462. data/lib/plurimath/math/symbols/upint.rb +4 -2
  1463. data/lib/plurimath/math/symbols/upiota.rb +4 -2
  1464. data/lib/plurimath/math/symbols/upkappa.rb +4 -2
  1465. data/lib/plurimath/math/symbols/upkoppa.rb +4 -2
  1466. data/lib/plurimath/math/symbols/upomicron.rb +4 -2
  1467. data/lib/plurimath/math/symbols/uprho.rb +4 -2
  1468. data/lib/plurimath/math/symbols/uprightcurvearrow.rb +4 -2
  1469. data/lib/plurimath/math/symbols/upsilon.rb +4 -2
  1470. data/lib/plurimath/math/symbols/uptau.rb +4 -2
  1471. data/lib/plurimath/math/symbols/upuparrows.rb +2 -1
  1472. data/lib/plurimath/math/symbols/upupharpoons.rb +8 -2
  1473. data/lib/plurimath/math/symbols/upvarsigma.rb +5 -2
  1474. data/lib/plurimath/math/symbols/upvartheta.rb +4 -2
  1475. data/lib/plurimath/math/symbols/upwhitearrow.rb +4 -2
  1476. data/lib/plurimath/math/symbols/upzeta.rb +4 -2
  1477. data/lib/plurimath/math/symbols/uranus.rb +4 -2
  1478. data/lib/plurimath/math/symbols/urarc.rb +4 -2
  1479. data/lib/plurimath/math/symbols/urblacktriangle.rb +4 -2
  1480. data/lib/plurimath/math/symbols/urcorner.rb +4 -2
  1481. data/lib/plurimath/math/symbols/urtriangle.rb +4 -2
  1482. data/lib/plurimath/math/symbols/utilde.rb +6 -2
  1483. data/lib/plurimath/math/symbols/uu.rb +2 -1
  1484. data/lib/plurimath/math/symbols/uuparrow.rb +4 -2
  1485. data/lib/plurimath/math/symbols/uuu.rb +7 -3
  1486. data/lib/plurimath/math/symbols/varbarwedge.rb +4 -2
  1487. data/lib/plurimath/math/symbols/varbeta.rb +6 -2
  1488. data/lib/plurimath/math/symbols/varcarriagereturn.rb +4 -2
  1489. data/lib/plurimath/math/symbols/varclub.rb +6 -2
  1490. data/lib/plurimath/math/symbols/vardiamond.rb +6 -2
  1491. data/lib/plurimath/math/symbols/vardoublebarwedge.rb +4 -2
  1492. data/lib/plurimath/math/symbols/varheart.rb +6 -2
  1493. data/lib/plurimath/math/symbols/varhexagon.rb +4 -2
  1494. data/lib/plurimath/math/symbols/varhexagonblack.rb +4 -2
  1495. data/lib/plurimath/math/symbols/varhexagonlrbonds.rb +4 -2
  1496. data/lib/plurimath/math/symbols/varisins.rb +4 -2
  1497. data/lib/plurimath/math/symbols/varkappa.rb +5 -2
  1498. data/lib/plurimath/math/symbols/varlrtriangle.rb +4 -2
  1499. data/lib/plurimath/math/symbols/varniobar.rb +4 -2
  1500. data/lib/plurimath/math/symbols/varnis.rb +4 -2
  1501. data/lib/plurimath/math/symbols/varnothing.rb +6 -3
  1502. data/lib/plurimath/math/symbols/varphi.rb +4 -2
  1503. data/lib/plurimath/math/symbols/varpi.rb +4 -2
  1504. data/lib/plurimath/math/symbols/varprod.rb +6 -2
  1505. data/lib/plurimath/math/symbols/varrho.rb +5 -2
  1506. data/lib/plurimath/math/symbols/varsigma.rb +5 -2
  1507. data/lib/plurimath/math/symbols/varspade.rb +10 -3
  1508. data/lib/plurimath/math/symbols/varstar.rb +4 -2
  1509. data/lib/plurimath/math/symbols/vartheta.rb +4 -2
  1510. data/lib/plurimath/math/symbols/vartriangle.rb +6 -2
  1511. data/lib/plurimath/math/symbols/vartriangleleft.rb +2 -1
  1512. data/lib/plurimath/math/symbols/vartriangleright.rb +2 -1
  1513. data/lib/plurimath/math/symbols/varvdash.rb +4 -2
  1514. data/lib/plurimath/math/symbols/varveebar.rb +4 -2
  1515. data/lib/plurimath/math/symbols/vbar.rb +2 -1
  1516. data/lib/plurimath/math/symbols/vbarv.rb +4 -2
  1517. data/lib/plurimath/math/symbols/vbraceextender.rb +4 -2
  1518. data/lib/plurimath/math/symbols/vbrtri.rb +6 -2
  1519. data/lib/plurimath/math/symbols/vdash.rb +4 -2
  1520. data/lib/plurimath/math/symbols/vddash.rb +4 -2
  1521. data/lib/plurimath/math/symbols/vectimes.rb +4 -2
  1522. data/lib/plurimath/math/symbols/veebar.rb +4 -2
  1523. data/lib/plurimath/math/symbols/veedot.rb +4 -2
  1524. data/lib/plurimath/math/symbols/veedoublebar.rb +4 -2
  1525. data/lib/plurimath/math/symbols/veeeq.rb +4 -2
  1526. data/lib/plurimath/math/symbols/veemidvert.rb +4 -2
  1527. data/lib/plurimath/math/symbols/veeodot.rb +4 -2
  1528. data/lib/plurimath/math/symbols/veeonvee.rb +4 -2
  1529. data/lib/plurimath/math/symbols/veeonwedge.rb +4 -2
  1530. data/lib/plurimath/math/symbols/venus.rb +4 -2
  1531. data/lib/plurimath/math/symbols/vertoverlay.rb +4 -2
  1532. data/lib/plurimath/math/symbols/viewdata.rb +4 -2
  1533. data/lib/plurimath/math/symbols/virgo.rb +4 -2
  1534. data/lib/plurimath/math/symbols/vlongdash.rb +4 -2
  1535. data/lib/plurimath/math/symbols/vrectangle.rb +4 -2
  1536. data/lib/plurimath/math/symbols/vrectangleblack.rb +4 -2
  1537. data/lib/plurimath/math/symbols/vv.rb +6 -3
  1538. data/lib/plurimath/math/symbols/vvdash.rb +2 -1
  1539. data/lib/plurimath/math/symbols/vvv.rb +4 -2
  1540. data/lib/plurimath/math/symbols/vysmblkcircle.rb +7 -3
  1541. data/lib/plurimath/math/symbols/vysmblksquare.rb +4 -2
  1542. data/lib/plurimath/math/symbols/vysmwhtcircle.rb +7 -3
  1543. data/lib/plurimath/math/symbols/vysmwhtsquare.rb +4 -2
  1544. data/lib/plurimath/math/symbols/vzigzag.rb +4 -2
  1545. data/lib/plurimath/math/symbols/warning.rb +4 -2
  1546. data/lib/plurimath/math/symbols/wasytherefore.rb +7 -3
  1547. data/lib/plurimath/math/symbols/wedge.rb +6 -3
  1548. data/lib/plurimath/math/symbols/wedgebar.rb +4 -2
  1549. data/lib/plurimath/math/symbols/wedgedot.rb +4 -2
  1550. data/lib/plurimath/math/symbols/wedgedoublebar.rb +4 -2
  1551. data/lib/plurimath/math/symbols/wedgemidvert.rb +4 -2
  1552. data/lib/plurimath/math/symbols/wedgeodot.rb +4 -2
  1553. data/lib/plurimath/math/symbols/wedgeonwedge.rb +4 -2
  1554. data/lib/plurimath/math/symbols/whitearrowupfrombar.rb +6 -2
  1555. data/lib/plurimath/math/symbols/whiteinwhitetriangle.rb +6 -2
  1556. data/lib/plurimath/math/symbols/whitepointerleft.rb +4 -2
  1557. data/lib/plurimath/math/symbols/whitepointerright.rb +4 -2
  1558. data/lib/plurimath/math/symbols/whitesquaretickleft.rb +6 -2
  1559. data/lib/plurimath/math/symbols/whitesquaretickright.rb +6 -2
  1560. data/lib/plurimath/math/symbols/whthorzoval.rb +4 -2
  1561. data/lib/plurimath/math/symbols/whtvertoval.rb +4 -2
  1562. data/lib/plurimath/math/symbols/wideangledown.rb +4 -2
  1563. data/lib/plurimath/math/symbols/wideangleup.rb +4 -2
  1564. data/lib/plurimath/math/symbols/widebridgeabove.rb +4 -2
  1565. data/lib/plurimath/math/symbols/wideparen.rb +6 -2
  1566. data/lib/plurimath/math/symbols/xbox.rb +4 -2
  1567. data/lib/plurimath/math/symbols/xi.rb +4 -2
  1568. data/lib/plurimath/math/symbols/xsol.rb +4 -2
  1569. data/lib/plurimath/math/symbols/xx.rb +2 -1
  1570. data/lib/plurimath/math/symbols/yinyang.rb +4 -2
  1571. data/lib/plurimath/math/symbols/zeta.rb +4 -2
  1572. data/lib/plurimath/math/symbols/zpipe.rb +4 -2
  1573. data/lib/plurimath/math/symbols/zwnj.rb +2 -1
  1574. data/lib/plurimath/math/symbols/zwsp.rb +2 -1
  1575. data/lib/plurimath/math/symbols.rb +1 -1
  1576. data/lib/plurimath/math.rb +1 -1
  1577. data/lib/plurimath/mathml/constants.rb +3 -1
  1578. data/lib/plurimath/mathml/formula_transformation.rb +9 -6
  1579. data/lib/plurimath/mathml/translator.rb +50 -30
  1580. data/lib/plurimath/mathml/utility/formula_transformation.rb +8 -4
  1581. data/lib/plurimath/number_formatter.rb +4 -2
  1582. data/lib/plurimath/omml/formula_transformation.rb +303 -0
  1583. data/lib/plurimath/omml/parser.rb +3 -84
  1584. data/lib/plurimath/omml/translator.rb +266 -0
  1585. data/lib/plurimath/omml.rb +21 -1
  1586. data/lib/plurimath/unitsml.rb +4 -1
  1587. data/lib/plurimath/utility/intent_encoding.rb +32 -15
  1588. data/lib/plurimath/utility.rb +164 -100
  1589. data/lib/plurimath/version.rb +1 -1
  1590. data/lib/plurimath/xml_engine/oga/dumper.rb +13 -14
  1591. data/lib/plurimath/xml_engine/oga/node.rb +5 -3
  1592. data/lib/plurimath/xml_engine/ox_engine/element.rb +3 -4
  1593. data/plurimath.gemspec +25 -21
  1594. metadata +76 -28
  1595. data/lib/plurimath/omml/transform.rb +0 -352
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a2ce7ef29dd4032b83c86b06d92276325630994243ef48e193aa8d3092e2fe22
4
- data.tar.gz: ebaec8740845b7f1cb76e690f95f349d98d18a0b1342528463d8af3187138d1c
3
+ metadata.gz: 7aad5adc31e4e7391ca43f1e6c4608d00710092037b26a0a42c6f47de06c8524
4
+ data.tar.gz: 89f63ecb2b54a96a2326802917e54a6dd82ba55426d173fe575010d3ac706524
5
5
  SHA512:
6
- metadata.gz: a80a5ad2febd36bad53adc58c6a3d6406ee04bd78c05c2e3ea7eeecf0f924818798de20c745995ee38b161ffc3758389bb80d6ad6487de16183abdc12e88f166
7
- data.tar.gz: 2f1258c3745a73a0c1d4336f489d1908cfc4691a19b093dc2d0a4bcd19612ad4d449a6f452ff963a27ca01aba6eada160be778e22f7705129fc44f43ad092985
6
+ metadata.gz: d4b5a070148d62563d62bd3f363cecdcf309a95d97de74f4a7b4c0221f8364631b63780d11521a6e1d6666b7f30e28e16e5257938e9b13ac0859a6f0c9375f38
7
+ data.tar.gz: 0a3c516e3b3da885fca07a94d36967998ebf0c9c7f4b046f0110062434c3da70e47c03b31af33acbffeb5c3d6a5a398daac7ea15f3cb9b066444c51402d320da
data/.rubocop_todo.yml CHANGED
@@ -0,0 +1,389 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2026-05-02 05:09:58 UTC using RuboCop version 1.86.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 1
10
+ Gemspec/RequiredRubyVersion:
11
+ Exclude:
12
+ - 'plurimath.gemspec'
13
+
14
+ # Offense count: 2
15
+ # This cop supports safe autocorrection (--autocorrect).
16
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
17
+ # SupportedStyles: with_first_argument, with_fixed_indentation
18
+ Layout/ArgumentAlignment:
19
+ Exclude:
20
+ - 'lib/plurimath/math/function/overleftrightarrow.rb'
21
+
22
+ # Offense count: 5
23
+ # This cop supports safe autocorrection (--autocorrect).
24
+ # Configuration parameters: EnforcedStyleAlignWith.
25
+ # SupportedStylesAlignWith: either, start_of_block, start_of_line
26
+ Layout/BlockAlignment:
27
+ Exclude:
28
+ - 'lib/plurimath/math/core.rb'
29
+ - 'lib/plurimath/unicode_math/transform.rb'
30
+
31
+ # Offense count: 5
32
+ # This cop supports safe autocorrection (--autocorrect).
33
+ Layout/ClosingParenthesisIndentation:
34
+ Exclude:
35
+ - 'lib/plurimath/math/core.rb'
36
+
37
+ # Offense count: 10
38
+ # This cop supports safe autocorrection (--autocorrect).
39
+ Layout/ElseAlignment:
40
+ Exclude:
41
+ - 'lib/plurimath/unicode_math/transform.rb'
42
+ - 'lib/plurimath/utility.rb'
43
+
44
+ # Offense count: 1
45
+ # This cop supports safe autocorrection (--autocorrect).
46
+ Layout/EmptyLines:
47
+ Exclude:
48
+ - 'lib/plurimath/unicode_math/transform.rb'
49
+
50
+ # Offense count: 1
51
+ # This cop supports safe autocorrection (--autocorrect).
52
+ # Configuration parameters: EnforcedStyle.
53
+ # SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines, beginning_only, ending_only
54
+ Layout/EmptyLinesAroundClassBody:
55
+ Exclude:
56
+ - 'lib/plurimath/unicode_math/transform.rb'
57
+
58
+ # Offense count: 4
59
+ # This cop supports safe autocorrection (--autocorrect).
60
+ # Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment.
61
+ Layout/ExtraSpacing:
62
+ Exclude:
63
+ - 'lib/plurimath/unicode_math/parse.rb'
64
+ - 'lib/plurimath/unicode_math/parsing_rules/common_rules.rb'
65
+ - 'lib/plurimath/unicode_math/parsing_rules/masked.rb'
66
+
67
+ # Offense count: 9
68
+ # This cop supports safe autocorrection (--autocorrect).
69
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
70
+ # SupportedStyles: consistent, consistent_relative_to_receiver, special_for_inner_method_call, special_for_inner_method_call_in_parentheses
71
+ Layout/FirstArgumentIndentation:
72
+ Exclude:
73
+ - 'lib/plurimath/unicode_math/transform.rb'
74
+
75
+ # Offense count: 14
76
+ # This cop supports safe autocorrection (--autocorrect).
77
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
78
+ # SupportedStyles: special_inside_parentheses, consistent, align_brackets
79
+ Layout/FirstArrayElementIndentation:
80
+ Exclude:
81
+ - 'lib/plurimath/unicode_math/transform.rb'
82
+
83
+ # Offense count: 9
84
+ # This cop supports safe autocorrection (--autocorrect).
85
+ # Configuration parameters: Width, EnforcedStyleAlignWith, AllowedPatterns.
86
+ # SupportedStylesAlignWith: start_of_line, relative_to_receiver
87
+ Layout/IndentationWidth:
88
+ Exclude:
89
+ - 'lib/plurimath/math/core.rb'
90
+ - 'lib/plurimath/unicode_math/transform.rb'
91
+ - 'lib/plurimath/utility.rb'
92
+
93
+ # Offense count: 29312
94
+ # This cop supports safe autocorrection (--autocorrect).
95
+ # Configuration parameters: Max, AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, AllowRBSInlineAnnotation, AllowCopDirectives, AllowedPatterns, SplitStrings.
96
+ # URISchemes: http, https
97
+ Layout/LineLength:
98
+ Enabled: false
99
+
100
+ # Offense count: 12
101
+ # This cop supports safe autocorrection (--autocorrect).
102
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
103
+ # SupportedStyles: aligned, indented
104
+ Layout/MultilineOperationIndentation:
105
+ Exclude:
106
+ - 'lib/plurimath/unicode_math/parse.rb'
107
+ - 'lib/plurimath/unicode_math/parsing_rules/sub_sup.rb'
108
+ - 'lib/plurimath/unicode_math/transform.rb'
109
+
110
+ # Offense count: 3
111
+ # This cop supports safe autocorrection (--autocorrect).
112
+ # Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator, EnforcedStyleForRationalLiterals.
113
+ # SupportedStylesForExponentOperator: space, no_space
114
+ # SupportedStylesForRationalLiterals: space, no_space
115
+ Layout/SpaceAroundOperators:
116
+ Exclude:
117
+ - 'lib/plurimath/unicode_math/parse.rb'
118
+ - 'lib/plurimath/unicode_math/parsing_rules/common_rules.rb'
119
+ - 'lib/plurimath/unicode_math/parsing_rules/masked.rb'
120
+
121
+ # Offense count: 1
122
+ # Configuration parameters: AllowedMethods.
123
+ # AllowedMethods: enums
124
+ Lint/ConstantDefinitionInBlock:
125
+ Exclude:
126
+ - 'spec/plurimath/math/formula/intent_encoding_spec.rb'
127
+
128
+ # Offense count: 13
129
+ # Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches, IgnoreDuplicateElseBranch.
130
+ Lint/DuplicateBranch:
131
+ Exclude:
132
+ - 'lib/plurimath/math/function/limits.rb'
133
+ - 'lib/plurimath/math/function/nary.rb'
134
+ - 'lib/plurimath/math/function/power_base.rb'
135
+ - 'lib/plurimath/mathml/formula_transformation.rb'
136
+ - 'lib/plurimath/mathml/translator.rb'
137
+ - 'lib/plurimath/unicode_math/transform.rb'
138
+ - 'lib/plurimath/xml_engine/oga/dumper.rb'
139
+
140
+ # Offense count: 7
141
+ Lint/DuplicateMethods:
142
+ Exclude:
143
+ - 'lib/plurimath/formatter/numeric_formatter.rb'
144
+ - 'lib/plurimath/math/function/td.rb'
145
+ - 'lib/plurimath/math/number.rb'
146
+ - 'lib/plurimath/math/symbols/symbol.rb'
147
+ - 'lib/plurimath/math/symbols/twocups.rb'
148
+ - 'lib/plurimath/xml_engine/ox_engine/element.rb'
149
+
150
+ # Offense count: 1
151
+ # This cop supports safe autocorrection (--autocorrect).
152
+ # Configuration parameters: AllowComments.
153
+ Lint/EmptyConditionalBody:
154
+ Exclude:
155
+ - 'spec/spec_helper.rb'
156
+
157
+ # Offense count: 1
158
+ # Configuration parameters: AllowComments.
159
+ Lint/EmptyFile:
160
+ Exclude:
161
+ - 'spec/plurimath/math/symbols/paren_spec.rb'
162
+
163
+ # Offense count: 1
164
+ Lint/IneffectiveAccessModifier:
165
+ Exclude:
166
+ - 'lib/plurimath/math/symbols/symbol.rb'
167
+
168
+ # Offense count: 11
169
+ # Configuration parameters: AllowedParentClasses.
170
+ Lint/MissingSuper:
171
+ Exclude:
172
+ - 'lib/plurimath/errors/formatter/unsupported_base.rb'
173
+ - 'lib/plurimath/math/formula.rb'
174
+ - 'lib/plurimath/math/function/binary_function.rb'
175
+ - 'lib/plurimath/math/function/linebreak.rb'
176
+ - 'lib/plurimath/math/function/nary.rb'
177
+ - 'lib/plurimath/math/function/table.rb'
178
+ - 'lib/plurimath/math/function/ternary_function.rb'
179
+ - 'lib/plurimath/math/function/unary_function.rb'
180
+ - 'lib/plurimath/math/function/unitsml.rb'
181
+ - 'lib/plurimath/math/number.rb'
182
+ - 'lib/plurimath/math/symbols/symbol.rb'
183
+
184
+ # Offense count: 4
185
+ Lint/UnmodifiedReduceAccumulator:
186
+ Exclude:
187
+ - 'lib/plurimath/math/formula.rb'
188
+ - 'lib/plurimath/math/function/fenced.rb'
189
+
190
+ # Offense count: 4
191
+ # This cop supports safe autocorrection (--autocorrect).
192
+ # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods, NotImplementedExceptions.
193
+ # NotImplementedExceptions: NotImplementedError
194
+ Lint/UnusedMethodArgument:
195
+ Exclude:
196
+ - 'lib/plurimath/formatter/numeric_formatter.rb'
197
+ - 'lib/plurimath/math/formula.rb'
198
+ - 'lib/plurimath/math/function/left.rb'
199
+ - 'lib/plurimath/utility.rb'
200
+
201
+ # Offense count: 151
202
+ # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes, Max.
203
+ Metrics/AbcSize:
204
+ Enabled: false
205
+
206
+ # Offense count: 4
207
+ # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode.
208
+ # AllowedMethods: refine
209
+ Metrics/BlockLength:
210
+ Max: 57
211
+
212
+ # Offense count: 3
213
+ # Configuration parameters: CountBlocks, CountModifierForms.
214
+ Metrics/BlockNesting:
215
+ Max: 4
216
+
217
+ # Offense count: 111
218
+ # Configuration parameters: AllowedMethods, AllowedPatterns, Max.
219
+ Metrics/CyclomaticComplexity:
220
+ Enabled: false
221
+
222
+ # Offense count: 161
223
+ # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
224
+ Metrics/MethodLength:
225
+ Max: 50
226
+
227
+ # Offense count: 12
228
+ # Configuration parameters: CountKeywordArgs.
229
+ Metrics/ParameterLists:
230
+ Max: 6
231
+ MaxOptionalParameters: 5
232
+
233
+ # Offense count: 84
234
+ # Configuration parameters: AllowedMethods, AllowedPatterns, Max.
235
+ Metrics/PerceivedComplexity:
236
+ Enabled: false
237
+
238
+ # Offense count: 7
239
+ # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
240
+ # AllowedNames: as, at, by, cc, db, id, if, in, io, ip, of, on, os, pp, to
241
+ Naming/MethodParameterName:
242
+ Exclude:
243
+ - 'lib/plurimath/math/function/mlabeledtr.rb'
244
+ - 'lib/plurimath/mathml/translator.rb'
245
+
246
+ # Offense count: 46
247
+ # Configuration parameters: Mode, AllowedMethods, AllowedPatterns, AllowBangMethods, WaywardPredicates.
248
+ # AllowedMethods: call
249
+ # WaywardPredicates: infinite?, nonzero?
250
+ Naming/PredicateMethod:
251
+ Enabled: false
252
+
253
+ # Offense count: 36
254
+ # Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros, UseSorbetSigs.
255
+ # NamePrefix: is_, has_, have_, does_
256
+ # ForbiddenPrefixes: is_, has_, have_, does_
257
+ # AllowedMethods: is_a?
258
+ # MethodDefinitionMacros: define_method, define_singleton_method
259
+ Naming/PredicatePrefix:
260
+ Enabled: false
261
+
262
+ # Offense count: 5
263
+ # Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns.
264
+ # SupportedStyles: snake_case, normalcase, non_integer
265
+ # AllowedIdentifiers: TLS1_1, TLS1_2, capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64
266
+ Naming/VariableNumber:
267
+ Exclude:
268
+ - 'spec/plurimath/html/parse_spec.rb'
269
+ - 'spec/plurimath/xml_engine_spec.rb'
270
+
271
+ # Offense count: 13
272
+ # Configuration parameters: MinSize.
273
+ Performance/CollectionLiteralInLoop:
274
+ Exclude:
275
+ - 'Rakefile'
276
+ - 'lib/plurimath/math/formula.rb'
277
+ - 'lib/plurimath/math/function/fenced.rb'
278
+ - 'lib/plurimath/math/symbols/symbol.rb'
279
+ - 'lib/plurimath/utility.rb'
280
+ - 'lib/plurimath/utility/intent_encoding.rb'
281
+ - 'spec/plurimath/formatter/numbers/fraction_spec.rb'
282
+
283
+ # Offense count: 4593
284
+ # Configuration parameters: Prefixes, AllowedPatterns.
285
+ # Prefixes: when, with, without
286
+ RSpec/ContextWording:
287
+ Enabled: false
288
+
289
+ # Offense count: 1452
290
+ # Configuration parameters: CountAsOne.
291
+ RSpec/ExampleLength:
292
+ Max: 394
293
+
294
+ # Offense count: 2
295
+ # This cop supports safe autocorrection (--autocorrect).
296
+ # Configuration parameters: CustomTransform, IgnoredWords, DisallowedExamples.
297
+ # DisallowedExamples: works
298
+ RSpec/ExampleWording:
299
+ Exclude:
300
+ - 'spec/plurimath/xml_engine_spec.rb'
301
+
302
+ # Offense count: 1
303
+ RSpec/LeakyConstantDeclaration:
304
+ Exclude:
305
+ - 'spec/plurimath/math/formula/intent_encoding_spec.rb'
306
+
307
+ # Offense count: 17
308
+ RSpec/LeakyLocalVariable:
309
+ Exclude:
310
+ - 'spec/plurimath/math/formula_spec.rb'
311
+ - 'spec/plurimath/math/function/binary_function_spec.rb'
312
+ - 'spec/plurimath/math/function/unary_function_spec.rb'
313
+ - 'spec/plurimath/math/number_spec.rb'
314
+ - 'spec/plurimath/math/symbols/symbol_spec.rb'
315
+ - 'spec/plurimath/unicode_math/plurimath/unicodemath_tests_spec.rb'
316
+ - 'spec/plurimath/unicode_math/plurimath/unicodemath_transform_spec.rb'
317
+
318
+ # Offense count: 408
319
+ RSpec/MultipleExpectations:
320
+ Max: 12
321
+
322
+ # Offense count: 11
323
+ # Configuration parameters: AllowSubject.
324
+ RSpec/MultipleMemoizedHelpers:
325
+ Max: 11
326
+
327
+ # Offense count: 51
328
+ # Configuration parameters: AllowedGroups.
329
+ RSpec/NestedGroups:
330
+ Max: 5
331
+
332
+ # Offense count: 4
333
+ RSpec/RepeatedDescription:
334
+ Exclude:
335
+ - 'spec/plurimath/math/function/power_base_spec.rb'
336
+ - 'spec/plurimath/number_formatter_spec.rb'
337
+
338
+ # Offense count: 26
339
+ RSpec/RepeatedExampleGroupBody:
340
+ Exclude:
341
+ - 'spec/plurimath/asciimath/metanorma_examples_spec.rb'
342
+ - 'spec/plurimath/latex/parser_spec.rb'
343
+ - 'spec/plurimath/latex_spec.rb'
344
+ - 'spec/plurimath/math/formula/html_spec.rb'
345
+ - 'spec/plurimath/math/formula/latex_spec.rb'
346
+ - 'spec/plurimath/math/function/unary_function_spec.rb'
347
+ - 'spec/plurimath/mathml/v3/section_3_spec.rb'
348
+
349
+ # Offense count: 148
350
+ RSpec/RepeatedExampleGroupDescription:
351
+ Enabled: false
352
+
353
+ # Offense count: 25
354
+ # Configuration parameters: CustomTransform, IgnoreMethods, IgnoreMetadata, InflectorPath, EnforcedInflector.
355
+ # SupportedInflectors: default, active_support
356
+ RSpec/SpecFilePathFormat:
357
+ Enabled: false
358
+
359
+ # Offense count: 39
360
+ Style/OptionalArguments:
361
+ Exclude:
362
+ - 'lib/plurimath/math/function/binary_function.rb'
363
+ - 'lib/plurimath/math/function/color.rb'
364
+ - 'lib/plurimath/math/function/font_style.rb'
365
+ - 'lib/plurimath/math/function/left.rb'
366
+ - 'lib/plurimath/math/function/right.rb'
367
+ - 'lib/plurimath/math/function/td.rb'
368
+ - 'lib/plurimath/math/function/ternary_function.rb'
369
+ - 'lib/plurimath/math/function/unary_function.rb'
370
+ - 'lib/plurimath/math/function/vec.rb'
371
+ - 'lib/plurimath/utility/intent_encoding.rb'
372
+
373
+ # Offense count: 111
374
+ # Configuration parameters: AllowedMethods.
375
+ # AllowedMethods: respond_to_missing?
376
+ Style/OptionalBooleanParameter:
377
+ Enabled: false
378
+
379
+ # Offense count: 13
380
+ # Configuration parameters: Max.
381
+ Style/SafeNavigationChainLength:
382
+ Exclude:
383
+ - 'lib/plurimath/asciimath/parser.rb'
384
+ - 'lib/plurimath/math/function/fenced.rb'
385
+ - 'lib/plurimath/math/function/font_style.rb'
386
+ - 'lib/plurimath/math/function/frac.rb'
387
+ - 'lib/plurimath/math/function/table.rb'
388
+ - 'lib/plurimath/utility.rb'
389
+ - 'lib/plurimath/utility/intent_encoding.rb'
data/ARCHITECTURE.md ADDED
@@ -0,0 +1,102 @@
1
+ # Architectural Change: Plurimath Formula as Universal Math Model
2
+
3
+ ## Summary
4
+
5
+ This PR establishes the **Plurimath Formula model** as the universal mathematical model for Plurimath, replacing MathML as the central interchange format. All math representation languages (MathML, LaTeX, OMML, UnicodeMath, AsciiMath) now convert TO the Formula model, then render TO any other representation.
6
+
7
+ ---
8
+
9
+ ## Before This PR
10
+
11
+ MathML (mml gem models) served as the de facto universal model. Parsing converted input to MathML models, and rendering converted from MathML models to output formats.
12
+
13
+ ```
14
+ Input → MathML Models → Output
15
+ (as universal model)
16
+ ```
17
+
18
+ ---
19
+
20
+ ## After This PR
21
+
22
+ Plurimath Formula model is the universal model. The Translator converts MathML models to Formula, and Formula renders to all output formats.
23
+
24
+ ```
25
+ MathML Models → Translator → Plurimath Formula model → Renderer → LaTeX
26
+
27
+ → Renderer → OMML
28
+
29
+ → Renderer → UnicodeMath
30
+
31
+ → Renderer → AsciiMath
32
+ ```
33
+
34
+ ---
35
+
36
+ ## Core Components
37
+
38
+ ### Plurimath Formula model (`lib/plurimath/math/formula.rb`)
39
+
40
+ The `Formula` class is the central data structure - a recursive tree that represents mathematical structure:
41
+
42
+ - `Formula` contains an array of `value` items
43
+ - Each item can be: `Number`, `Symbol`, `BinaryFunction`, `UnaryFunction`, `NaryFunction`, `Formula::Mrow`, etc.
44
+ - Functions wrap other formulas or values to represent operators, fences, scripts, etc.
45
+
46
+ ### Translator (`lib/plurimath/mathml/translator.rb`)
47
+
48
+ The `Translator` class bridges **MathML models** and the **Plurimath Formula model**:
49
+
50
+ - Takes `Mml::V4::*` model nodes as input
51
+ - Converts them to corresponding `Plurimath::Math::*` classes (Formula nodes)
52
+ - Handles element-specific translation logic (e.g., `mo_to_symbol`, `mphantom_to_phantom`)
53
+
54
+ ### Renderer
55
+
56
+ Each Formula node knows how to render itself to different formats:
57
+
58
+ - `to_latex` - LaTeX output
59
+ - `to_mathml` - MathML output
60
+ - `to_omml` - Office Math (OMML) output
61
+ - `to_unicodemath` - UnicodeMath output
62
+ - `to_asciimath` - AsciiMath output
63
+
64
+ ---
65
+
66
+ ## LutaML-Model 0.8.0 Update Impact
67
+
68
+ The upgrade to `lutaml-model 0.8.0` changed the mml gem models, which affected:
69
+
70
+ 1. **Attribute access** - Model attributes changed or moved
71
+ 2. **Element handling** - Some elements now behave differently
72
+ 3. **Serialization** - Ox vs Oga adapters produce different output
73
+
74
+ This PR fixes 17 MathML translator tests that broke due to these changes, with 14 remaining that require further investigation.
75
+
76
+ ---
77
+
78
+ ## Key Files Changed
79
+
80
+ | File | Purpose |
81
+ |------|---------|
82
+ | `lib/plurimath/math/formula.rb` | Plurimath Formula model definition and rendering |
83
+ | `lib/plurimath/math/core.rb` | Base class for math elements |
84
+ | `lib/plurimath/math/symbols/symbol.rb` | Symbol element handling |
85
+ | `lib/plurimath/math/number.rb` | Number element |
86
+ | `lib/plurimath/mathml/translator.rb` | MathML → Plurimath Formula translation |
87
+ | `lib/plurimath/utility.rb` | Utility functions |
88
+
89
+ ---
90
+
91
+ ## Benefits of Plurimath Formula as Universal Model
92
+
93
+ 1. **Consistency** - All representations go through the same Plurimath Formula model
94
+ 2. **Extensibility** - Easy to add new representation languages
95
+ 3. **Separation of concerns** - Parsing (to Formula) and rendering (from Formula) are separate
96
+ 4. **Testability** - Plurimath Formula is a plain Ruby object, easy to construct and inspect
97
+
98
+ ---
99
+
100
+ ## Remaining Work
101
+
102
+ 14 tests in `spec/plurimath/mathml_spec.rb` still fail due to the LutaML update. See `TODO.fix-fails/REMAINING_FAILURES.md` for details.
data/Gemfile CHANGED
@@ -3,14 +3,15 @@ source "https://rubygems.org"
3
3
  # Specify your gem's dependencies in plurimath.gemspec
4
4
  gemspec
5
5
 
6
- gem 'lutaml-model', github: "lutaml/lutaml-model", branch: "main"
7
- gem 'canon'
6
+ gem "canon"
7
+ gem "lutaml-model", github: "lutaml/lutaml-model", branch: "main"
8
+ gem "oga"
9
+ gem "omml", github: "plurimath/omml", branch: "main"
10
+ gem "opal-rspec", "~> 1.1.0a"
11
+ gem "ox"
8
12
  gem "rake", "~> 12.0"
9
13
  gem "rspec", "~> 3.0"
10
14
  gem "rubocop-performance"
11
15
  gem "rubocop-rake"
12
16
  gem "rubocop-rspec"
13
- gem 'oga'
14
- gem 'opal-rspec', "~> 1.1.0a"
15
- gem 'ox'
16
- gem 'simplecov', require: false, group: :test
17
+ gem "simplecov", require: false, group: :test
data/Rakefile CHANGED
@@ -72,17 +72,17 @@ def input_for_formats(klass)
72
72
  <<~ROW
73
73
  | #{format_input(format, klass)}
74
74
  ROW
75
- end.join("")
75
+ end.join
76
76
  end
77
77
 
78
78
  def format_input(format, klass)
79
79
  klass.input(format).flatten.map do |s|
80
- if [:latex, :unicodemath].include?(format)
80
+ if %i[latex unicodemath].include?(format)
81
81
  "`\\#{s}`"
82
82
  else
83
83
  "`#{s}`"
84
84
  end
85
- end.join(", ").gsub(/\|/, "\\|")
85
+ end.join(", ").gsub("|", "\\|")
86
86
  end
87
87
 
88
88
  def write_intent_doc_file(file)
@@ -94,9 +94,9 @@ def write_intent_doc_file(file)
94
94
  end
95
95
 
96
96
  file.write(
97
- <<~INTENT
97
+ <<~INTENT,
98
98
 
99
- * `#{klass.name.gsub("Plurimath::Math::", "")}`
99
+ * `#{klass.name.gsub('Plurimath::Math::', '')}`
100
100
  ** #{intents.join("\n** ")}
101
101
  INTENT
102
102
  )
@@ -129,8 +129,8 @@ def intent_classes
129
129
  Plurimath::Math::Formula,
130
130
  ].flatten
131
131
  intent_classes.select do |klass|
132
- klass.instance_methods(false).include?(:intent_names)
132
+ klass.method_defined?(:intent_names, false)
133
133
  end
134
134
  end
135
135
 
136
- task :default => :spec
136
+ task default: :spec
@@ -0,0 +1,45 @@
1
+ # Bad Symbol.new Usages in translator.rb
2
+
3
+ ## Line 577 (FIXED)
4
+ ```ruby
5
+ Plurimath::Math::Symbols::Symbol.new("(", mo_element: true)
6
+ ```
7
+ Was used in `combine_function_with_parens` to create opening parenthesis.
8
+ FIXED: Now uses `next_elem` directly if it's a Paren object, or creates `Paren::Lround.new` as fallback.
9
+ Problem with old code: It was ignoring the existing `Paren::Lround` object returned by `mo_to_symbol` and creating a generic Symbol.
10
+
11
+ ## Line 171 - mo_element= (FIXED)
12
+ ```ruby
13
+ result.mo_element = true
14
+ ```
15
+ This was setting mo_element on Symbol objects returned by mathml_unary_classes.
16
+ FIXED: Removed this line as Symbol class doesn't have mo_element attribute and doesn't need it.
17
+ The Paren classes already know how to render themselves as `<mo>` via their own to_mathml_without_math_tag method.
18
+
19
+ ## Line 169-175 - linebreakstyle not passed (FIXED)
20
+ ```ruby
21
+ return Plurimath::Math::Function::Linebreak.new(
22
+ Plurimath::Math::Symbols::Symbol.new(value)
23
+ )
24
+ ```
25
+ The `linebreakstyle` attribute was not being passed to Linebreak constructor.
26
+ FIXED: Now passes `linebreakstyle` attribute and uses `mathml_unary_classes` for proper encoding.
27
+
28
+ ## Line 159 - whitespace stripped (PARTIALLY FIXED)
29
+ ```ruby
30
+ result = Plurimath::Utility.mathml_unary_classes([stripped], lang: :mathml)
31
+ ```
32
+ Whitespace was being stripped from Symbol values, causing phantom content to lose spaces.
33
+ FIXED for LaTeX output: Restores original value after `mathml_unary_classes` creates the Symbol.
34
+ MathML structure issue remains a pre-existing bug.
35
+
36
+ ## Remaining Issues - SEE TODO.fix-tests/
37
+
38
+ Detailed investigation reports for the remaining 19 test failures are in `TODO.fix-tests/`:
39
+
40
+ - 00-overview.md - Summary of all failures
41
+ - 01-zero-width-space.md - OMML empty element serialization
42
+ - 02-html-linebreak.md - HTML linebreak positioning (FIXED)
43
+ - 03-phantom-whitespace.md - LaTeX whitespace in phantom (PARTIALLY FIXED)
44
+ - 04-mathml-structure.md - MathML structure differences
45
+ - 05-omml-rendering.md - OMML rendering issues
@@ -0,0 +1,28 @@
1
+ # Fix Unitsml ENOENT - missing unitsdb data files
2
+
3
+ ## Problem
4
+ ~44 test failures with `Errno::ENOENT` - unitsml gem can't find
5
+ `unitsdb/units.yaml`. The GitHub-hosted unitsml gem has an empty
6
+ `unitsdb/` directory (git submodule not initialized during `bundle install`).
7
+
8
+ ## Affected specs (51 total failures)
9
+ - spec/plurimath/asciimath_spec.rb (23 failures)
10
+ - spec/plurimath/integration/asciimath_spec.rb (13 failures)
11
+ - spec/plurimath/math/formula/unitsml_spec.rb (3 failures)
12
+ - spec/plurimath/asciimath/metanorma/mn_samples_bipm_spec.rb (2 failures)
13
+ - spec/plurimath/asciimath/metanorma/mn_samples_jcgm_spec.rb (1 failure)
14
+ - spec/plurimath/asciimath/parser_spec.rb (1 failure)
15
+ - spec/plurimath/unicode_math_spec.rb (1 failure)
16
+
17
+ ## Root cause
18
+ The unitsml gem's `unitsdb/` is a git submodule. When bundler installs
19
+ from GitHub, submodules aren't initialized. The local copy at
20
+ `../../unitsml/unitsml-ruby/` has the data.
21
+
22
+ ## Fix
23
+ Change Gemfile to use local path for unitsml:
24
+ ```ruby
25
+ gem "unitsml", path: "../../unitsml/unitsml-ruby"
26
+ ```
27
+
28
+ ## Status: Fixed (changed Gemfile to local path)
@@ -0,0 +1,34 @@
1
+ # Fix SystemStackError in Formula#cloned_objects
2
+
3
+ ## Problem
4
+ 4 test failures with `SystemStackError: stack level too deep` in
5
+ `Plurimath::Math::Core#cloned_objects`. The `cloned_objects` method
6
+ recursively clones all values, but some formula structures create
7
+ infinite recursion.
8
+
9
+ ## Affected specs (19 failures total)
10
+ - spec/plurimath/mathml_spec.rb:213 - MathML object round-trip
11
+ - spec/plurimath/mathml_spec.rb:778 - table with parentheses and sqrt
12
+ - spec/plurimath/mathml_spec.rb:1448 - mtable with frame/rowlines
13
+ - spec/plurimath/mathml_spec.rb:1713 - metanorma bipm input
14
+ - spec/plurimath/math_zone_spec.rb:675 - table math zone
15
+ - spec/plurimath/math_zone_spec.rb:4234 - table math zone
16
+ - spec/plurimath/integration/asciimath_spec.rb - 12 ogc/bipm/itu/jcgm examples
17
+
18
+ ## Stack trace pattern
19
+ ```
20
+ Core#cloned_objects → Formula#cloned_objects → Array#map →
21
+ Core#variable_value → Array#map → Core#cloned_objects → ...
22
+ ```
23
+
24
+ ## Root cause
25
+ `cloned_objects` in `lib/plurimath/math/core.rb:223` creates
26
+ `self.class.new(nil)` which triggers `Formula.new(nil)`. If the Formula
27
+ contains objects that reference back to the formula or create cyclic
28
+ structures, the recursion never terminates.
29
+
30
+ This is likely a pre-existing bug exposed by V4 parsing producing
31
+ different formula structures. Needs investigation of what formula
32
+ structure triggers the infinite recursion.
33
+
34
+ ## Status: Open (pre-existing, needs investigation)