plurimath 0.8.10 → 0.8.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1572) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +129 -40
  3. data/exe/plurimath +4 -0
  4. data/lib/plurimath/cli.rb +84 -0
  5. data/lib/plurimath/formatter/number_formatter.rb +6 -1
  6. data/lib/plurimath/formatter/numbers/fraction.rb +28 -4
  7. data/lib/plurimath/formatter/numbers/significant.rb +128 -0
  8. data/lib/plurimath/formatter/numeric_formatter.rb +20 -8
  9. data/lib/plurimath/latex/parser.rb +23 -10
  10. data/lib/plurimath/latex/transform.rb +20 -2
  11. data/lib/plurimath/math/core.rb +129 -37
  12. data/lib/plurimath/math/formula.rb +344 -11
  13. data/lib/plurimath/math/function/abs.rb +4 -3
  14. data/lib/plurimath/math/function/arg.rb +2 -2
  15. data/lib/plurimath/math/function/bar.rb +2 -2
  16. data/lib/plurimath/math/function/base.rb +4 -4
  17. data/lib/plurimath/math/function/binary_function.rb +12 -3
  18. data/lib/plurimath/math/function/cancel.rb +2 -2
  19. data/lib/plurimath/math/function/ceil.rb +2 -2
  20. data/lib/plurimath/math/function/color.rb +2 -2
  21. data/lib/plurimath/math/function/ddot.rb +2 -2
  22. data/lib/plurimath/math/function/dot.rb +3 -3
  23. data/lib/plurimath/math/function/fenced.rb +123 -17
  24. data/lib/plurimath/math/function/floor.rb +2 -2
  25. data/lib/plurimath/math/function/font_style/bold.rb +2 -2
  26. data/lib/plurimath/math/function/font_style/double_struck.rb +2 -2
  27. data/lib/plurimath/math/function/font_style/fraktur.rb +2 -2
  28. data/lib/plurimath/math/function/font_style/italic.rb +2 -2
  29. data/lib/plurimath/math/function/font_style/monospace.rb +2 -2
  30. data/lib/plurimath/math/function/font_style/normal.rb +2 -2
  31. data/lib/plurimath/math/function/font_style/sans-serif.rb +2 -2
  32. data/lib/plurimath/math/function/font_style/script.rb +2 -2
  33. data/lib/plurimath/math/function/font_style.rb +12 -2
  34. data/lib/plurimath/math/function/frac.rb +36 -4
  35. data/lib/plurimath/math/function/hat.rb +2 -2
  36. data/lib/plurimath/math/function/inf.rb +9 -6
  37. data/lib/plurimath/math/function/int.rb +8 -5
  38. data/lib/plurimath/math/function/intent.rb +40 -3
  39. data/lib/plurimath/math/function/left.rb +5 -1
  40. data/lib/plurimath/math/function/lim.rb +19 -19
  41. data/lib/plurimath/math/function/limits.rb +4 -4
  42. data/lib/plurimath/math/function/linebreak.rb +2 -2
  43. data/lib/plurimath/math/function/log.rb +14 -16
  44. data/lib/plurimath/math/function/longdiv.rb +2 -2
  45. data/lib/plurimath/math/function/mbox.rb +2 -2
  46. data/lib/plurimath/math/function/menclose.rb +2 -2
  47. data/lib/plurimath/math/function/merror.rb +2 -2
  48. data/lib/plurimath/math/function/mglyph.rb +1 -1
  49. data/lib/plurimath/math/function/mlabeledtr.rb +3 -3
  50. data/lib/plurimath/math/function/mod.rb +3 -3
  51. data/lib/plurimath/math/function/mpadded.rb +2 -2
  52. data/lib/plurimath/math/function/ms.rb +1 -1
  53. data/lib/plurimath/math/function/msgroup.rb +9 -2
  54. data/lib/plurimath/math/function/msline.rb +1 -1
  55. data/lib/plurimath/math/function/multiscript.rb +16 -7
  56. data/lib/plurimath/math/function/nary.rb +56 -28
  57. data/lib/plurimath/math/function/none.rb +1 -1
  58. data/lib/plurimath/math/function/norm.rb +2 -2
  59. data/lib/plurimath/math/function/obrace.rb +3 -3
  60. data/lib/plurimath/math/function/oint.rb +32 -18
  61. data/lib/plurimath/math/function/over.rb +4 -4
  62. data/lib/plurimath/math/function/overset.rb +7 -4
  63. data/lib/plurimath/math/function/phantom.rb +2 -2
  64. data/lib/plurimath/math/function/power.rb +4 -4
  65. data/lib/plurimath/math/function/power_base.rb +8 -8
  66. data/lib/plurimath/math/function/prod.rb +39 -28
  67. data/lib/plurimath/math/function/right.rb +5 -1
  68. data/lib/plurimath/math/function/root.rb +4 -7
  69. data/lib/plurimath/math/function/rule.rb +1 -1
  70. data/lib/plurimath/math/function/scarries.rb +5 -4
  71. data/lib/plurimath/math/function/semantics.rb +5 -6
  72. data/lib/plurimath/math/function/sqrt.rb +3 -5
  73. data/lib/plurimath/math/function/stackrel.rb +12 -7
  74. data/lib/plurimath/math/function/substack.rb +3 -3
  75. data/lib/plurimath/math/function/sum.rb +33 -14
  76. data/lib/plurimath/math/function/sup.rb +4 -4
  77. data/lib/plurimath/math/function/table/array.rb +9 -3
  78. data/lib/plurimath/math/function/table/bmatrix.rb +20 -7
  79. data/lib/plurimath/math/function/table/cases.rb +14 -0
  80. data/lib/plurimath/math/function/table/eqarray.rb +16 -0
  81. data/lib/plurimath/math/function/table/matrix.rb +2 -2
  82. data/lib/plurimath/math/function/table/pmatrix.rb +6 -0
  83. data/lib/plurimath/math/function/table/vmatrix.rb +15 -1
  84. data/lib/plurimath/math/function/table.rb +30 -14
  85. data/lib/plurimath/math/function/td.rb +17 -4
  86. data/lib/plurimath/math/function/ternary_function.rb +16 -6
  87. data/lib/plurimath/math/function/text.rb +6 -2
  88. data/lib/plurimath/math/function/tilde.rb +5 -6
  89. data/lib/plurimath/math/function/tr.rb +9 -2
  90. data/lib/plurimath/math/function/ubrace.rb +4 -4
  91. data/lib/plurimath/math/function/ul.rb +4 -4
  92. data/lib/plurimath/math/function/unary_function.rb +18 -6
  93. data/lib/plurimath/math/function/underover.rb +4 -4
  94. data/lib/plurimath/math/function/underset.rb +3 -3
  95. data/lib/plurimath/math/function/vec.rb +3 -3
  96. data/lib/plurimath/math/number.rb +1 -1
  97. data/lib/plurimath/math/symbols/aa.rb +1 -1
  98. data/lib/plurimath/math/symbols/ac.rb +1 -1
  99. data/lib/plurimath/math/symbols/accurrent.rb +1 -1
  100. data/lib/plurimath/math/symbols/acidfree.rb +1 -1
  101. data/lib/plurimath/math/symbols/acute.rb +1 -1
  102. data/lib/plurimath/math/symbols/acwcirclearrow.rb +1 -1
  103. data/lib/plurimath/math/symbols/acwgapcirclearrow.rb +1 -1
  104. data/lib/plurimath/math/symbols/acwleftarcarrow.rb +1 -1
  105. data/lib/plurimath/math/symbols/acwoverarcarrow.rb +1 -1
  106. data/lib/plurimath/math/symbols/acwunderarcarrow.rb +1 -1
  107. data/lib/plurimath/math/symbols/aleph.rb +1 -1
  108. data/lib/plurimath/math/symbols/alpha.rb +1 -1
  109. data/lib/plurimath/math/symbols/amalg.rb +1 -1
  110. data/lib/plurimath/math/symbols/ampersand.rb +1 -1
  111. data/lib/plurimath/math/symbols/anchor.rb +1 -1
  112. data/lib/plurimath/math/symbols/angdnr.rb +1 -1
  113. data/lib/plurimath/math/symbols/angle.rb +1 -1
  114. data/lib/plurimath/math/symbols/angles.rb +1 -1
  115. data/lib/plurimath/math/symbols/angleubar.rb +1 -1
  116. data/lib/plurimath/math/symbols/angmsd.rb +1 -1
  117. data/lib/plurimath/math/symbols/angrtvb.rb +1 -1
  118. data/lib/plurimath/math/symbols/angsph.rb +1 -1
  119. data/lib/plurimath/math/symbols/angstrom.rb +1 -1
  120. data/lib/plurimath/math/symbols/annuity.rb +1 -1
  121. data/lib/plurimath/math/symbols/aplboxquestion.rb +1 -1
  122. data/lib/plurimath/math/symbols/aplboxupcaret.rb +1 -1
  123. data/lib/plurimath/math/symbols/aplcomment.rb +1 -1
  124. data/lib/plurimath/math/symbols/apldownarrowbox.rb +1 -1
  125. data/lib/plurimath/math/symbols/aplinput.rb +1 -1
  126. data/lib/plurimath/math/symbols/aplinv.rb +1 -1
  127. data/lib/plurimath/math/symbols/aplleftarrowbox.rb +1 -1
  128. data/lib/plurimath/math/symbols/apllog.rb +1 -1
  129. data/lib/plurimath/math/symbols/aplrightarrowbox.rb +1 -1
  130. data/lib/plurimath/math/symbols/apluparrowbox.rb +1 -1
  131. data/lib/plurimath/math/symbols/apprge.rb +1 -1
  132. data/lib/plurimath/math/symbols/apprle.rb +1 -1
  133. data/lib/plurimath/math/symbols/approx.rb +1 -1
  134. data/lib/plurimath/math/symbols/approxeq.rb +1 -1
  135. data/lib/plurimath/math/symbols/approxeqq.rb +1 -1
  136. data/lib/plurimath/math/symbols/approxident.rb +1 -1
  137. data/lib/plurimath/math/symbols/aquarius.rb +1 -1
  138. data/lib/plurimath/math/symbols/arceq.rb +1 -1
  139. data/lib/plurimath/math/symbols/aries.rb +1 -1
  140. data/lib/plurimath/math/symbols/arrowbullet.rb +1 -1
  141. data/lib/plurimath/math/symbols/assert.rb +1 -1
  142. data/lib/plurimath/math/symbols/ast.rb +1 -1
  143. data/lib/plurimath/math/symbols/asteq.rb +1 -1
  144. data/lib/plurimath/math/symbols/asteraccent.rb +1 -1
  145. data/lib/plurimath/math/symbols/asymp.rb +1 -1
  146. data/lib/plurimath/math/symbols/atsign.rb +1 -1
  147. data/lib/plurimath/math/symbols/awint.rb +1 -1
  148. data/lib/plurimath/math/symbols/backcong.rb +1 -1
  149. data/lib/plurimath/math/symbols/backdprime.rb +1 -1
  150. data/lib/plurimath/math/symbols/backepsilon.rb +1 -1
  151. data/lib/plurimath/math/symbols/backprime.rb +1 -1
  152. data/lib/plurimath/math/symbols/backsim.rb +1 -1
  153. data/lib/plurimath/math/symbols/backsimeq.rb +1 -1
  154. data/lib/plurimath/math/symbols/backslash.rb +1 -1
  155. data/lib/plurimath/math/symbols/backtrprime.rb +1 -1
  156. data/lib/plurimath/math/symbols/bagmember.rb +1 -1
  157. data/lib/plurimath/math/symbols/ballotx.rb +1 -1
  158. data/lib/plurimath/math/symbols/bar.rb +1 -1
  159. data/lib/plurimath/math/symbols/barcap.rb +1 -1
  160. data/lib/plurimath/math/symbols/barcup.rb +1 -1
  161. data/lib/plurimath/math/symbols/barin.rb +1 -1
  162. data/lib/plurimath/math/symbols/barleftarrow.rb +1 -1
  163. data/lib/plurimath/math/symbols/barleftarrowrightarrowba.rb +1 -1
  164. data/lib/plurimath/math/symbols/barleftharpoon.rb +1 -1
  165. data/lib/plurimath/math/symbols/barovernorthwestarrow.rb +1 -1
  166. data/lib/plurimath/math/symbols/barrightarrowdiamond.rb +1 -1
  167. data/lib/plurimath/math/symbols/barrightharpoon.rb +1 -1
  168. data/lib/plurimath/math/symbols/baruparrow.rb +1 -1
  169. data/lib/plurimath/math/symbols/barv.rb +1 -1
  170. data/lib/plurimath/math/symbols/barvee.rb +1 -1
  171. data/lib/plurimath/math/symbols/barwedge.rb +1 -1
  172. data/lib/plurimath/math/symbols/bbrktbrk.rb +1 -1
  173. data/lib/plurimath/math/symbols/bdtriplevdash.rb +1 -1
  174. data/lib/plurimath/math/symbols/because.rb +1 -1
  175. data/lib/plurimath/math/symbols/benzenr.rb +1 -1
  176. data/lib/plurimath/math/symbols/beth.rb +1 -1
  177. data/lib/plurimath/math/symbols/between.rb +1 -1
  178. data/lib/plurimath/math/symbols/bigblacktriangledown.rb +1 -1
  179. data/lib/plurimath/math/symbols/bigblacktriangleup.rb +1 -1
  180. data/lib/plurimath/math/symbols/bigbot.rb +1 -1
  181. data/lib/plurimath/math/symbols/bigcupdot.rb +1 -1
  182. data/lib/plurimath/math/symbols/biginterleave.rb +1 -1
  183. data/lib/plurimath/math/symbols/bigodot.rb +1 -1
  184. data/lib/plurimath/math/symbols/bigoplus.rb +1 -1
  185. data/lib/plurimath/math/symbols/bigotimes.rb +1 -1
  186. data/lib/plurimath/math/symbols/bigslopedvee.rb +1 -1
  187. data/lib/plurimath/math/symbols/bigslopedwedge.rb +1 -1
  188. data/lib/plurimath/math/symbols/bigsqcap.rb +1 -1
  189. data/lib/plurimath/math/symbols/bigsqcup.rb +1 -1
  190. data/lib/plurimath/math/symbols/bigstar.rb +1 -1
  191. data/lib/plurimath/math/symbols/bigtalloblong.rb +1 -1
  192. data/lib/plurimath/math/symbols/bigtop.rb +1 -1
  193. data/lib/plurimath/math/symbols/bigtriangledown.rb +1 -1
  194. data/lib/plurimath/math/symbols/bigtriangleleft.rb +1 -1
  195. data/lib/plurimath/math/symbols/bigtriangleup.rb +1 -1
  196. data/lib/plurimath/math/symbols/biguplus.rb +1 -1
  197. data/lib/plurimath/math/symbols/bigwedge.rb +18 -2
  198. data/lib/plurimath/math/symbols/bigwhitestar.rb +1 -1
  199. data/lib/plurimath/math/symbols/bij.rb +1 -1
  200. data/lib/plurimath/math/symbols/biohazard.rb +1 -1
  201. data/lib/plurimath/math/symbols/blackcircledownarrow.rb +1 -1
  202. data/lib/plurimath/math/symbols/blackcircledrightdot.rb +1 -1
  203. data/lib/plurimath/math/symbols/blackcircledtwodots.rb +1 -1
  204. data/lib/plurimath/math/symbols/blackcircleulquadwhite.rb +1 -1
  205. data/lib/plurimath/math/symbols/blackdiamonddownarrow.rb +1 -1
  206. data/lib/plurimath/math/symbols/blackhourglass.rb +1 -1
  207. data/lib/plurimath/math/symbols/blackinwhitediamond.rb +1 -1
  208. data/lib/plurimath/math/symbols/blackinwhitesquare.rb +1 -1
  209. data/lib/plurimath/math/symbols/blacklozenge.rb +1 -1
  210. data/lib/plurimath/math/symbols/blackpointerleft.rb +1 -1
  211. data/lib/plurimath/math/symbols/blackpointerright.rb +1 -1
  212. data/lib/plurimath/math/symbols/blacksmiley.rb +1 -1
  213. data/lib/plurimath/math/symbols/blacktriangle.rb +1 -1
  214. data/lib/plurimath/math/symbols/blacktriangledown.rb +1 -1
  215. data/lib/plurimath/math/symbols/blkhorzoval.rb +1 -1
  216. data/lib/plurimath/math/symbols/blkvertoval.rb +1 -1
  217. data/lib/plurimath/math/symbols/blockfull.rb +1 -1
  218. data/lib/plurimath/math/symbols/blockhalfshaded.rb +1 -1
  219. data/lib/plurimath/math/symbols/blocklefthalf.rb +1 -1
  220. data/lib/plurimath/math/symbols/blocklowhalf.rb +1 -1
  221. data/lib/plurimath/math/symbols/blockqtrshaded.rb +1 -1
  222. data/lib/plurimath/math/symbols/blockrighthalf.rb +1 -1
  223. data/lib/plurimath/math/symbols/blockthreeqtrshaded.rb +1 -1
  224. data/lib/plurimath/math/symbols/blockuphalf.rb +1 -1
  225. data/lib/plurimath/math/symbols/bnot.rb +1 -1
  226. data/lib/plurimath/math/symbols/bot.rb +1 -1
  227. data/lib/plurimath/math/symbols/botsemicircle.rb +1 -1
  228. data/lib/plurimath/math/symbols/bowtie.rb +1 -1
  229. data/lib/plurimath/math/symbols/box.rb +1 -1
  230. data/lib/plurimath/math/symbols/boxast.rb +1 -1
  231. data/lib/plurimath/math/symbols/boxbar.rb +1 -1
  232. data/lib/plurimath/math/symbols/boxbox.rb +1 -1
  233. data/lib/plurimath/math/symbols/boxbslash.rb +1 -1
  234. data/lib/plurimath/math/symbols/boxcircle.rb +1 -1
  235. data/lib/plurimath/math/symbols/boxdiag.rb +1 -1
  236. data/lib/plurimath/math/symbols/boxdot.rb +1 -1
  237. data/lib/plurimath/math/symbols/boxminus.rb +1 -1
  238. data/lib/plurimath/math/symbols/boxonbox.rb +1 -1
  239. data/lib/plurimath/math/symbols/boxplus.rb +1 -1
  240. data/lib/plurimath/math/symbols/boxtimes.rb +1 -1
  241. data/lib/plurimath/math/symbols/breve.rb +1 -1
  242. data/lib/plurimath/math/symbols/bsimilarleftarrow.rb +1 -1
  243. data/lib/plurimath/math/symbols/bsimilarrightarrow.rb +1 -1
  244. data/lib/plurimath/math/symbols/bsolhsub.rb +1 -1
  245. data/lib/plurimath/math/symbols/btimes.rb +1 -1
  246. data/lib/plurimath/math/symbols/bullet.rb +1 -1
  247. data/lib/plurimath/math/symbols/bullseye.rb +1 -1
  248. data/lib/plurimath/math/symbols/bumpeq.rb +1 -1
  249. data/lib/plurimath/math/symbols/bumpeqq.rb +1 -1
  250. data/lib/plurimath/math/symbols/buni.rb +1 -1
  251. data/lib/plurimath/math/symbols/cancer.rb +1 -1
  252. data/lib/plurimath/math/symbols/candra.rb +1 -1
  253. data/lib/plurimath/math/symbols/cap.rb +3 -7
  254. data/lib/plurimath/math/symbols/capbarcup.rb +1 -1
  255. data/lib/plurimath/math/symbols/capdot.rb +1 -1
  256. data/lib/plurimath/math/symbols/capovercup.rb +1 -1
  257. data/lib/plurimath/math/symbols/capricornus.rb +1 -1
  258. data/lib/plurimath/math/symbols/capwedge.rb +1 -1
  259. data/lib/plurimath/math/symbols/caretinsert.rb +1 -1
  260. data/lib/plurimath/math/symbols/carriagereturn.rb +1 -1
  261. data/lib/plurimath/math/symbols/cat.rb +1 -1
  262. data/lib/plurimath/math/symbols/cc.rb +1 -1
  263. data/lib/plurimath/math/symbols/ccwundercurvearrow.rb +1 -1
  264. data/lib/plurimath/math/symbols/cdot.rb +1 -1
  265. data/lib/plurimath/math/symbols/cdotp.rb +1 -1
  266. data/lib/plurimath/math/symbols/cdots.rb +1 -1
  267. data/lib/plurimath/math/symbols/cent.rb +1 -1
  268. data/lib/plurimath/math/symbols/check.rb +1 -1
  269. data/lib/plurimath/math/symbols/checkedbox.rb +1 -1
  270. data/lib/plurimath/math/symbols/checkmark.rb +1 -1
  271. data/lib/plurimath/math/symbols/chi.rb +1 -1
  272. data/lib/plurimath/math/symbols/cirbot.rb +1 -1
  273. data/lib/plurimath/math/symbols/circ.rb +1 -1
  274. data/lib/plurimath/math/symbols/circeq.rb +1 -1
  275. data/lib/plurimath/math/symbols/circle.rb +1 -1
  276. data/lib/plurimath/math/symbols/circlebottomhalfblack.rb +1 -1
  277. data/lib/plurimath/math/symbols/circledbullet.rb +1 -1
  278. data/lib/plurimath/math/symbols/circledgtr.rb +1 -1
  279. data/lib/plurimath/math/symbols/circledownarrow.rb +1 -1
  280. data/lib/plurimath/math/symbols/circledparallel.rb +1 -1
  281. data/lib/plurimath/math/symbols/circledr.rb +1 -1
  282. data/lib/plurimath/math/symbols/circledrightdot.rb +1 -1
  283. data/lib/plurimath/math/symbols/circledstar.rb +1 -1
  284. data/lib/plurimath/math/symbols/circledtwodots.rb +1 -1
  285. data/lib/plurimath/math/symbols/circledvert.rb +1 -1
  286. data/lib/plurimath/math/symbols/circledwhitebullet.rb +1 -1
  287. data/lib/plurimath/math/symbols/circlehbar.rb +1 -1
  288. data/lib/plurimath/math/symbols/circlellquad.rb +1 -1
  289. data/lib/plurimath/math/symbols/circlelrquad.rb +1 -1
  290. data/lib/plurimath/math/symbols/circleonleftarrow.rb +1 -1
  291. data/lib/plurimath/math/symbols/circleonrightarrow.rb +1 -1
  292. data/lib/plurimath/math/symbols/circletophalfblack.rb +1 -1
  293. data/lib/plurimath/math/symbols/circleulquad.rb +1 -1
  294. data/lib/plurimath/math/symbols/circleurquad.rb +1 -1
  295. data/lib/plurimath/math/symbols/circleurquadblack.rb +1 -1
  296. data/lib/plurimath/math/symbols/circlevertfill.rb +1 -1
  297. data/lib/plurimath/math/symbols/cire.rb +1 -1
  298. data/lib/plurimath/math/symbols/cirfnint.rb +1 -1
  299. data/lib/plurimath/math/symbols/cirmid.rb +1 -1
  300. data/lib/plurimath/math/symbols/cirscir.rb +1 -1
  301. data/lib/plurimath/math/symbols/clockoint.rb +13 -1
  302. data/lib/plurimath/math/symbols/closedvarcap.rb +1 -1
  303. data/lib/plurimath/math/symbols/closedvarcup.rb +1 -1
  304. data/lib/plurimath/math/symbols/closedvarcupsmashprod.rb +1 -1
  305. data/lib/plurimath/math/symbols/closure.rb +1 -1
  306. data/lib/plurimath/math/symbols/clubsuit.rb +1 -1
  307. data/lib/plurimath/math/symbols/cntclockoint.rb +13 -1
  308. data/lib/plurimath/math/symbols/colon.rb +1 -1
  309. data/lib/plurimath/math/symbols/coloneq.rb +1 -1
  310. data/lib/plurimath/math/symbols/comma.rb +2 -2
  311. data/lib/plurimath/math/symbols/commaminus.rb +1 -1
  312. data/lib/plurimath/math/symbols/comp.rb +1 -1
  313. data/lib/plurimath/math/symbols/complement.rb +1 -1
  314. data/lib/plurimath/math/symbols/concavediamond.rb +1 -1
  315. data/lib/plurimath/math/symbols/concavediamondtickleft.rb +1 -1
  316. data/lib/plurimath/math/symbols/concavediamondtickright.rb +1 -1
  317. data/lib/plurimath/math/symbols/cong.rb +1 -1
  318. data/lib/plurimath/math/symbols/congdot.rb +1 -1
  319. data/lib/plurimath/math/symbols/conictaper.rb +1 -1
  320. data/lib/plurimath/math/symbols/conjquant.rb +1 -1
  321. data/lib/plurimath/math/symbols/coprod.rb +5 -1
  322. data/lib/plurimath/math/symbols/csub.rb +1 -1
  323. data/lib/plurimath/math/symbols/csube.rb +1 -1
  324. data/lib/plurimath/math/symbols/csup.rb +1 -1
  325. data/lib/plurimath/math/symbols/csupe.rb +1 -1
  326. data/lib/plurimath/math/symbols/cuberoot.rb +1 -1
  327. data/lib/plurimath/math/symbols/cup.rb +1 -1
  328. data/lib/plurimath/math/symbols/cupbarcap.rb +1 -1
  329. data/lib/plurimath/math/symbols/cupdot.rb +1 -1
  330. data/lib/plurimath/math/symbols/cupleftarrow.rb +1 -1
  331. data/lib/plurimath/math/symbols/cupovercap.rb +1 -1
  332. data/lib/plurimath/math/symbols/cupvee.rb +1 -1
  333. data/lib/plurimath/math/symbols/curlyeqprec.rb +1 -1
  334. data/lib/plurimath/math/symbols/curlyeqsucc.rb +1 -1
  335. data/lib/plurimath/math/symbols/curlyvee.rb +1 -1
  336. data/lib/plurimath/math/symbols/curlywedge.rb +1 -1
  337. data/lib/plurimath/math/symbols/curvearrowleftplus.rb +1 -1
  338. data/lib/plurimath/math/symbols/curvearrowright.rb +1 -1
  339. data/lib/plurimath/math/symbols/curvearrowrightminus.rb +1 -1
  340. data/lib/plurimath/math/symbols/cwcirclearrow.rb +1 -1
  341. data/lib/plurimath/math/symbols/cwgapcirclearrow.rb +1 -1
  342. data/lib/plurimath/math/symbols/cwrightarcarrow.rb +1 -1
  343. data/lib/plurimath/math/symbols/cwundercurvearrow.rb +1 -1
  344. data/lib/plurimath/math/symbols/dag.rb +1 -1
  345. data/lib/plurimath/math/symbols/daleth.rb +1 -1
  346. data/lib/plurimath/math/symbols/danger.rb +1 -1
  347. data/lib/plurimath/math/symbols/darr.rb +1 -1
  348. data/lib/plurimath/math/symbols/dasharrow.rb +1 -1
  349. data/lib/plurimath/math/symbols/dasharrowright.rb +1 -1
  350. data/lib/plurimath/math/symbols/dashv.rb +1 -1
  351. data/lib/plurimath/math/symbols/dashvdash.rb +1 -1
  352. data/lib/plurimath/math/symbols/dbkarow.rb +1 -1
  353. data/lib/plurimath/math/symbols/dd.rb +10 -3
  354. data/lib/plurimath/math/symbols/ddag.rb +1 -1
  355. data/lib/plurimath/math/symbols/ddddot.rb +1 -1
  356. data/lib/plurimath/math/symbols/dddot.rb +1 -1
  357. data/lib/plurimath/math/symbols/ddot.rb +1 -1
  358. data/lib/plurimath/math/symbols/ddots.rb +1 -1
  359. data/lib/plurimath/math/symbols/ddotseq.rb +1 -1
  360. data/lib/plurimath/math/symbols/ddownarrow.rb +1 -1
  361. data/lib/plurimath/math/symbols/degc.rb +1 -1
  362. data/lib/plurimath/math/symbols/degf.rb +1 -1
  363. data/lib/plurimath/math/symbols/degree.rb +1 -1
  364. data/lib/plurimath/math/symbols/delta.rb +1 -1
  365. data/lib/plurimath/math/symbols/deltaeq.rb +1 -1
  366. data/lib/plurimath/math/symbols/diameter.rb +1 -1
  367. data/lib/plurimath/math/symbols/diamond.rb +1 -1
  368. data/lib/plurimath/math/symbols/diamondblack.rb +1 -1
  369. data/lib/plurimath/math/symbols/diamondbotblack.rb +1 -1
  370. data/lib/plurimath/math/symbols/diamonddot.rb +1 -1
  371. data/lib/plurimath/math/symbols/diamondleftarrow.rb +1 -1
  372. data/lib/plurimath/math/symbols/diamondleftarrowbar.rb +1 -1
  373. data/lib/plurimath/math/symbols/diamondleftblack.rb +1 -1
  374. data/lib/plurimath/math/symbols/diamondrightblack.rb +1 -1
  375. data/lib/plurimath/math/symbols/diamondtopblack.rb +1 -1
  376. data/lib/plurimath/math/symbols/dicei.rb +1 -1
  377. data/lib/plurimath/math/symbols/diceii.rb +1 -1
  378. data/lib/plurimath/math/symbols/diceiii.rb +1 -1
  379. data/lib/plurimath/math/symbols/diceiv.rb +1 -1
  380. data/lib/plurimath/math/symbols/dicev.rb +1 -1
  381. data/lib/plurimath/math/symbols/dicevi.rb +1 -1
  382. data/lib/plurimath/math/symbols/digamma.rb +1 -1
  383. data/lib/plurimath/math/symbols/dingasterisk.rb +1 -1
  384. data/lib/plurimath/math/symbols/dint.rb +18 -2
  385. data/lib/plurimath/math/symbols/disin.rb +1 -1
  386. data/lib/plurimath/math/symbols/disjquant.rb +1 -1
  387. data/lib/plurimath/math/symbols/div.rb +1 -1
  388. data/lib/plurimath/math/symbols/divideontimes.rb +1 -1
  389. data/lib/plurimath/math/symbols/dot.rb +1 -1
  390. data/lib/plurimath/math/symbols/doteq.rb +1 -1
  391. data/lib/plurimath/math/symbols/dotequiv.rb +1 -1
  392. data/lib/plurimath/math/symbols/dotminus.rb +1 -1
  393. data/lib/plurimath/math/symbols/dotplus.rb +1 -1
  394. data/lib/plurimath/math/symbols/dots.rb +1 -1
  395. data/lib/plurimath/math/symbols/dotsim.rb +1 -1
  396. data/lib/plurimath/math/symbols/dotsminusdots.rb +1 -1
  397. data/lib/plurimath/math/symbols/dottedcircle.rb +1 -1
  398. data/lib/plurimath/math/symbols/dottedsquare.rb +1 -1
  399. data/lib/plurimath/math/symbols/dottimes.rb +1 -1
  400. data/lib/plurimath/math/symbols/doublebarvee.rb +1 -1
  401. data/lib/plurimath/math/symbols/doublebarwedge.rb +1 -1
  402. data/lib/plurimath/math/symbols/doubleplus.rb +1 -1
  403. data/lib/plurimath/math/symbols/downarrow.rb +1 -1
  404. data/lib/plurimath/math/symbols/downarrowbar.rb +1 -1
  405. data/lib/plurimath/math/symbols/downarrowbarred.rb +1 -1
  406. data/lib/plurimath/math/symbols/downarrows.rb +1 -1
  407. data/lib/plurimath/math/symbols/downdasharrow.rb +1 -1
  408. data/lib/plurimath/math/symbols/downdownharpoons.rb +1 -1
  409. data/lib/plurimath/math/symbols/downfishtail.rb +1 -1
  410. data/lib/plurimath/math/symbols/downharpoonleft.rb +1 -1
  411. data/lib/plurimath/math/symbols/downharpoonright.rb +1 -1
  412. data/lib/plurimath/math/symbols/downleftteevector.rb +1 -1
  413. data/lib/plurimath/math/symbols/downleftvectorbar.rb +1 -1
  414. data/lib/plurimath/math/symbols/downrightcurvedarrow.rb +1 -1
  415. data/lib/plurimath/math/symbols/downrightteevector.rb +1 -1
  416. data/lib/plurimath/math/symbols/downrightvectorbar.rb +1 -1
  417. data/lib/plurimath/math/symbols/downtriangleleftblack.rb +1 -1
  418. data/lib/plurimath/math/symbols/downtrianglerightblack.rb +1 -1
  419. data/lib/plurimath/math/symbols/downuparrows.rb +1 -1
  420. data/lib/plurimath/math/symbols/downupharpoons.rb +1 -1
  421. data/lib/plurimath/math/symbols/downwhitearrow.rb +1 -1
  422. data/lib/plurimath/math/symbols/dprime.rb +1 -1
  423. data/lib/plurimath/math/symbols/draftingarrow.rb +1 -1
  424. data/lib/plurimath/math/symbols/drbkarow.rb +1 -1
  425. data/lib/plurimath/math/symbols/droang.rb +1 -1
  426. data/lib/plurimath/math/symbols/dsol.rb +1 -1
  427. data/lib/plurimath/math/symbols/dsub.rb +1 -1
  428. data/lib/plurimath/math/symbols/dualmap.rb +1 -1
  429. data/lib/plurimath/math/symbols/duni.rb +18 -2
  430. data/lib/plurimath/math/symbols/earth.rb +1 -1
  431. data/lib/plurimath/math/symbols/ee.rb +20 -13
  432. data/lib/plurimath/math/symbols/egsdot.rb +1 -1
  433. data/lib/plurimath/math/symbols/eighthnote.rb +1 -1
  434. data/lib/plurimath/math/symbols/elinters.rb +1 -1
  435. data/lib/plurimath/math/symbols/ell.rb +1 -1
  436. data/lib/plurimath/math/symbols/elsdot.rb +1 -1
  437. data/lib/plurimath/math/symbols/emptyset.rb +1 -1
  438. data/lib/plurimath/math/symbols/emptysetoarr.rb +1 -1
  439. data/lib/plurimath/math/symbols/emptysetoarrl.rb +1 -1
  440. data/lib/plurimath/math/symbols/emptysetobar.rb +1 -1
  441. data/lib/plurimath/math/symbols/emptysetocirc.rb +1 -1
  442. data/lib/plurimath/math/symbols/enclosecircle.rb +1 -1
  443. data/lib/plurimath/math/symbols/enclosediamond.rb +1 -1
  444. data/lib/plurimath/math/symbols/enclosesquare.rb +1 -1
  445. data/lib/plurimath/math/symbols/enclosetriangle.rb +1 -1
  446. data/lib/plurimath/math/symbols/enleadertwodots.rb +1 -1
  447. data/lib/plurimath/math/symbols/epar.rb +1 -1
  448. data/lib/plurimath/math/symbols/eparsl.rb +1 -1
  449. data/lib/plurimath/math/symbols/epsilon.rb +1 -1
  450. data/lib/plurimath/math/symbols/eqcirc.rb +1 -1
  451. data/lib/plurimath/math/symbols/eqcolon.rb +1 -1
  452. data/lib/plurimath/math/symbols/eqdef.rb +1 -1
  453. data/lib/plurimath/math/symbols/eqdot.rb +1 -1
  454. data/lib/plurimath/math/symbols/eqeq.rb +1 -1
  455. data/lib/plurimath/math/symbols/eqgtr.rb +1 -1
  456. data/lib/plurimath/math/symbols/eqless.rb +1 -1
  457. data/lib/plurimath/math/symbols/eqno.rb +1 -1
  458. data/lib/plurimath/math/symbols/eqqcolon.rb +1 -1
  459. data/lib/plurimath/math/symbols/eqqgtr.rb +1 -1
  460. data/lib/plurimath/math/symbols/eqqless.rb +1 -1
  461. data/lib/plurimath/math/symbols/eqqplus.rb +1 -1
  462. data/lib/plurimath/math/symbols/eqqsim.rb +1 -1
  463. data/lib/plurimath/math/symbols/eqqslantgtr.rb +1 -1
  464. data/lib/plurimath/math/symbols/eqqslantless.rb +1 -1
  465. data/lib/plurimath/math/symbols/eqsim.rb +1 -1
  466. data/lib/plurimath/math/symbols/eqslantgtr.rb +1 -1
  467. data/lib/plurimath/math/symbols/eqslantless.rb +1 -1
  468. data/lib/plurimath/math/symbols/equal.rb +1 -1
  469. data/lib/plurimath/math/symbols/equalleftarrow.rb +1 -1
  470. data/lib/plurimath/math/symbols/equalrightarrow.rb +1 -1
  471. data/lib/plurimath/math/symbols/equiv.rb +1 -1
  472. data/lib/plurimath/math/symbols/equivdd.rb +1 -1
  473. data/lib/plurimath/math/symbols/equivvert.rb +1 -1
  474. data/lib/plurimath/math/symbols/equivvvert.rb +1 -1
  475. data/lib/plurimath/math/symbols/eqvparsl.rb +1 -1
  476. data/lib/plurimath/math/symbols/errbarblackcircle.rb +1 -1
  477. data/lib/plurimath/math/symbols/errbarblackdiamond.rb +1 -1
  478. data/lib/plurimath/math/symbols/errbarblacksquare.rb +1 -1
  479. data/lib/plurimath/math/symbols/errbarcircle.rb +1 -1
  480. data/lib/plurimath/math/symbols/errbardiamond.rb +1 -1
  481. data/lib/plurimath/math/symbols/errbarsquare.rb +1 -1
  482. data/lib/plurimath/math/symbols/eta.rb +1 -1
  483. data/lib/plurimath/math/symbols/eth.rb +1 -1
  484. data/lib/plurimath/math/symbols/euler.rb +1 -1
  485. data/lib/plurimath/math/symbols/euro.rb +1 -1
  486. data/lib/plurimath/math/symbols/exclam.rb +1 -1
  487. data/lib/plurimath/math/symbols/exi.rb +1 -1
  488. data/lib/plurimath/math/symbols/exists.rb +1 -1
  489. data/lib/plurimath/math/symbols/fallingdotseq.rb +1 -1
  490. data/lib/plurimath/math/symbols/fbowtie.rb +1 -1
  491. data/lib/plurimath/math/symbols/fdiagovnearrow.rb +1 -1
  492. data/lib/plurimath/math/symbols/fdiagovrdiag.rb +1 -1
  493. data/lib/plurimath/math/symbols/ffun.rb +1 -1
  494. data/lib/plurimath/math/symbols/finj.rb +1 -1
  495. data/lib/plurimath/math/symbols/fint.rb +1 -1
  496. data/lib/plurimath/math/symbols/finv.rb +1 -1
  497. data/lib/plurimath/math/symbols/fisheye.rb +1 -1
  498. data/lib/plurimath/math/symbols/flat.rb +1 -1
  499. data/lib/plurimath/math/symbols/fltns.rb +1 -1
  500. data/lib/plurimath/math/symbols/forall.rb +1 -1
  501. data/lib/plurimath/math/symbols/forks.rb +1 -1
  502. data/lib/plurimath/math/symbols/forksnot.rb +1 -1
  503. data/lib/plurimath/math/symbols/forkv.rb +1 -1
  504. data/lib/plurimath/math/symbols/fourthroot.rb +1 -1
  505. data/lib/plurimath/math/symbols/fourvdots.rb +1 -1
  506. data/lib/plurimath/math/symbols/fracslash.rb +1 -1
  507. data/lib/plurimath/math/symbols/frown.rb +1 -1
  508. data/lib/plurimath/math/symbols/fullouterjoin.rb +1 -1
  509. data/lib/plurimath/math/symbols/funcapply.rb +1 -1
  510. data/lib/plurimath/math/symbols/game.rb +1 -1
  511. data/lib/plurimath/math/symbols/gamma.rb +1 -1
  512. data/lib/plurimath/math/symbols/ge.rb +1 -1
  513. data/lib/plurimath/math/symbols/gemini.rb +1 -1
  514. data/lib/plurimath/math/symbols/geq.rb +1 -1
  515. data/lib/plurimath/math/symbols/geqq.rb +1 -1
  516. data/lib/plurimath/math/symbols/geqqslant.rb +1 -1
  517. data/lib/plurimath/math/symbols/geqslant.rb +1 -1
  518. data/lib/plurimath/math/symbols/gescc.rb +1 -1
  519. data/lib/plurimath/math/symbols/gesdot.rb +1 -1
  520. data/lib/plurimath/math/symbols/gesdoto.rb +1 -1
  521. data/lib/plurimath/math/symbols/gesdotol.rb +1 -1
  522. data/lib/plurimath/math/symbols/gesles.rb +1 -1
  523. data/lib/plurimath/math/symbols/gets.rb +1 -1
  524. data/lib/plurimath/math/symbols/gg.rb +1 -1
  525. data/lib/plurimath/math/symbols/ggg.rb +1 -1
  526. data/lib/plurimath/math/symbols/gggnest.rb +1 -1
  527. data/lib/plurimath/math/symbols/gimel.rb +1 -1
  528. data/lib/plurimath/math/symbols/gla.rb +1 -1
  529. data/lib/plurimath/math/symbols/gle.rb +1 -1
  530. data/lib/plurimath/math/symbols/gleichstark.rb +1 -1
  531. data/lib/plurimath/math/symbols/glj.rb +1 -1
  532. data/lib/plurimath/math/symbols/gnapprox.rb +1 -1
  533. data/lib/plurimath/math/symbols/gneq.rb +1 -1
  534. data/lib/plurimath/math/symbols/gneqq.rb +1 -1
  535. data/lib/plurimath/math/symbols/gnsim.rb +1 -1
  536. data/lib/plurimath/math/symbols/grad.rb +1 -1
  537. data/lib/plurimath/math/symbols/grave.rb +1 -1
  538. data/lib/plurimath/math/symbols/greater.rb +1 -1
  539. data/lib/plurimath/math/symbols/gsime.rb +1 -1
  540. data/lib/plurimath/math/symbols/gsiml.rb +1 -1
  541. data/lib/plurimath/math/symbols/gt.rb +1 -1
  542. data/lib/plurimath/math/symbols/gtcc.rb +1 -1
  543. data/lib/plurimath/math/symbols/gtcir.rb +1 -1
  544. data/lib/plurimath/math/symbols/gtlpar.rb +1 -1
  545. data/lib/plurimath/math/symbols/gtquest.rb +1 -1
  546. data/lib/plurimath/math/symbols/gtrapprox.rb +1 -1
  547. data/lib/plurimath/math/symbols/gtrarr.rb +1 -1
  548. data/lib/plurimath/math/symbols/gtrdot.rb +1 -1
  549. data/lib/plurimath/math/symbols/gtreqless.rb +1 -1
  550. data/lib/plurimath/math/symbols/gtreqqless.rb +1 -1
  551. data/lib/plurimath/math/symbols/gtrless.rb +1 -1
  552. data/lib/plurimath/math/symbols/harr.rb +1 -1
  553. data/lib/plurimath/math/symbols/hash.rb +1 -1
  554. data/lib/plurimath/math/symbols/hat.rb +1 -1
  555. data/lib/plurimath/math/symbols/hatapprox.rb +1 -1
  556. data/lib/plurimath/math/symbols/hbar.rb +1 -1
  557. data/lib/plurimath/math/symbols/hearsuit.rb +1 -1
  558. data/lib/plurimath/math/symbols/hermaphrodite.rb +1 -1
  559. data/lib/plurimath/math/symbols/hermitmatrix.rb +1 -1
  560. data/lib/plurimath/math/symbols/hexagon.rb +1 -1
  561. data/lib/plurimath/math/symbols/hexagonblack.rb +1 -1
  562. data/lib/plurimath/math/symbols/hide.rb +1 -1
  563. data/lib/plurimath/math/symbols/hknearrow.rb +1 -1
  564. data/lib/plurimath/math/symbols/hknwarrow.rb +1 -1
  565. data/lib/plurimath/math/symbols/hksearow.rb +1 -1
  566. data/lib/plurimath/math/symbols/hkswarow.rb +1 -1
  567. data/lib/plurimath/math/symbols/hline.rb +1 -1
  568. data/lib/plurimath/math/symbols/hookleftarrow.rb +1 -1
  569. data/lib/plurimath/math/symbols/hookrightarrow.rb +1 -1
  570. data/lib/plurimath/math/symbols/horizbar.rb +1 -1
  571. data/lib/plurimath/math/symbols/hourglass.rb +1 -1
  572. data/lib/plurimath/math/symbols/house.rb +1 -1
  573. data/lib/plurimath/math/symbols/hrectangle.rb +1 -1
  574. data/lib/plurimath/math/symbols/hrectangleblack.rb +1 -1
  575. data/lib/plurimath/math/symbols/hyphenbullet.rb +1 -1
  576. data/lib/plurimath/math/symbols/hzigzag.rb +1 -1
  577. data/lib/plurimath/math/symbols/if.rb +1 -1
  578. data/lib/plurimath/math/symbols/iff.rb +1 -1
  579. data/lib/plurimath/math/symbols/ii.rb +10 -3
  580. data/lib/plurimath/math/symbols/iiiint.rb +9 -1
  581. data/lib/plurimath/math/symbols/iiint.rb +1 -1
  582. data/lib/plurimath/math/symbols/iinfin.rb +1 -1
  583. data/lib/plurimath/math/symbols/iint.rb +5 -1
  584. data/lib/plurimath/math/symbols/im.rb +1 -1
  585. data/lib/plurimath/math/symbols/imageof.rb +1 -1
  586. data/lib/plurimath/math/symbols/imath.rb +1 -1
  587. data/lib/plurimath/math/symbols/impliedby.rb +1 -1
  588. data/lib/plurimath/math/symbols/in.rb +1 -1
  589. data/lib/plurimath/math/symbols/inc.rb +1 -1
  590. data/lib/plurimath/math/symbols/int.rb +1 -1
  591. data/lib/plurimath/math/symbols/intbar.rb +1 -1
  592. data/lib/plurimath/math/symbols/intbottom.rb +1 -1
  593. data/lib/plurimath/math/symbols/intcap.rb +1 -1
  594. data/lib/plurimath/math/symbols/intclockwise.rb +13 -1
  595. data/lib/plurimath/math/symbols/intcup.rb +1 -1
  596. data/lib/plurimath/math/symbols/intercal.rb +3 -2
  597. data/lib/plurimath/math/symbols/interleave.rb +1 -1
  598. data/lib/plurimath/math/symbols/intextender.rb +1 -1
  599. data/lib/plurimath/math/symbols/intlarhk.rb +1 -1
  600. data/lib/plurimath/math/symbols/intprod.rb +1 -1
  601. data/lib/plurimath/math/symbols/intprodr.rb +1 -1
  602. data/lib/plurimath/math/symbols/inttop.rb +1 -1
  603. data/lib/plurimath/math/symbols/intx.rb +1 -1
  604. data/lib/plurimath/math/symbols/invdiameter.rb +1 -1
  605. data/lib/plurimath/math/symbols/inversebullet.rb +1 -1
  606. data/lib/plurimath/math/symbols/inversewhitecircle.rb +1 -1
  607. data/lib/plurimath/math/symbols/invlazys.rb +1 -1
  608. data/lib/plurimath/math/symbols/invnot.rb +1 -1
  609. data/lib/plurimath/math/symbols/invwhitelowerhalfcircle.rb +1 -1
  610. data/lib/plurimath/math/symbols/invwhiteupperhalfcircle.rb +1 -1
  611. data/lib/plurimath/math/symbols/iota.rb +1 -1
  612. data/lib/plurimath/math/symbols/isindot.rb +1 -1
  613. data/lib/plurimath/math/symbols/isine.rb +1 -1
  614. data/lib/plurimath/math/symbols/isinobar.rb +1 -1
  615. data/lib/plurimath/math/symbols/isins.rb +1 -1
  616. data/lib/plurimath/math/symbols/isinvb.rb +1 -1
  617. data/lib/plurimath/math/symbols/jj.rb +9 -2
  618. data/lib/plurimath/math/symbols/jmath.rb +1 -1
  619. data/lib/plurimath/math/symbols/join.rb +1 -1
  620. data/lib/plurimath/math/symbols/jupiter.rb +1 -1
  621. data/lib/plurimath/math/symbols/kappa.rb +1 -1
  622. data/lib/plurimath/math/symbols/kernelcontraction.rb +1 -1
  623. data/lib/plurimath/math/symbols/koppa.rb +1 -1
  624. data/lib/plurimath/math/symbols/lambda.rb +1 -1
  625. data/lib/plurimath/math/symbols/land.rb +1 -1
  626. data/lib/plurimath/math/symbols/lang.rb +1 -1
  627. data/lib/plurimath/math/symbols/langledot.rb +1 -1
  628. data/lib/plurimath/math/symbols/laplac.rb +1 -1
  629. data/lib/plurimath/math/symbols/larr.rb +1 -1
  630. data/lib/plurimath/math/symbols/lat.rb +1 -1
  631. data/lib/plurimath/math/symbols/late.rb +1 -1
  632. data/lib/plurimath/math/symbols/lbag.rb +1 -1
  633. data/lib/plurimath/math/symbols/lblkbrbrak.rb +1 -1
  634. data/lib/plurimath/math/symbols/lblot.rb +1 -1
  635. data/lib/plurimath/math/symbols/lbracelend.rb +1 -1
  636. data/lib/plurimath/math/symbols/lbracemid.rb +1 -1
  637. data/lib/plurimath/math/symbols/lbraceuend.rb +1 -1
  638. data/lib/plurimath/math/symbols/lbrackextender.rb +1 -1
  639. data/lib/plurimath/math/symbols/lbracklend.rb +1 -1
  640. data/lib/plurimath/math/symbols/lbracklltick.rb +1 -1
  641. data/lib/plurimath/math/symbols/lbrackubar.rb +1 -1
  642. data/lib/plurimath/math/symbols/lbrackuend.rb +1 -1
  643. data/lib/plurimath/math/symbols/lbrackultick.rb +1 -1
  644. data/lib/plurimath/math/symbols/lbrbrak.rb +1 -1
  645. data/lib/plurimath/math/symbols/lcurvyangle.rb +1 -1
  646. data/lib/plurimath/math/symbols/ldsh.rb +1 -1
  647. data/lib/plurimath/math/symbols/le.rb +1 -1
  648. data/lib/plurimath/math/symbols/leadsto.rb +1 -1
  649. data/lib/plurimath/math/symbols/leftarrow.rb +1 -1
  650. data/lib/plurimath/math/symbols/leftarrowapprox.rb +1 -1
  651. data/lib/plurimath/math/symbols/leftarrowbackapprox.rb +1 -1
  652. data/lib/plurimath/math/symbols/leftarrowbsimilar.rb +1 -1
  653. data/lib/plurimath/math/symbols/leftarrowless.rb +1 -1
  654. data/lib/plurimath/math/symbols/leftarrowonoplus.rb +1 -1
  655. data/lib/plurimath/math/symbols/leftarrowplus.rb +1 -1
  656. data/lib/plurimath/math/symbols/leftarrowshortrightarrow.rb +1 -1
  657. data/lib/plurimath/math/symbols/leftarrowsimilar.rb +1 -1
  658. data/lib/plurimath/math/symbols/leftarrowsubset.rb +1 -1
  659. data/lib/plurimath/math/symbols/leftarrowtail.rb +1 -1
  660. data/lib/plurimath/math/symbols/leftarrowtriangle.rb +1 -1
  661. data/lib/plurimath/math/symbols/leftarrowx.rb +1 -1
  662. data/lib/plurimath/math/symbols/leftbarharpoon.rb +1 -1
  663. data/lib/plurimath/math/symbols/leftbkarrow.rb +1 -1
  664. data/lib/plurimath/math/symbols/leftcircle.rb +1 -1
  665. data/lib/plurimath/math/symbols/leftcurvedarrow.rb +1 -1
  666. data/lib/plurimath/math/symbols/leftdasharrow.rb +1 -1
  667. data/lib/plurimath/math/symbols/leftdbkarrow.rb +1 -1
  668. data/lib/plurimath/math/symbols/leftdbltail.rb +1 -1
  669. data/lib/plurimath/math/symbols/leftdotarrow.rb +1 -1
  670. data/lib/plurimath/math/symbols/leftdowncurvedarrow.rb +1 -1
  671. data/lib/plurimath/math/symbols/leftdownteevector.rb +1 -1
  672. data/lib/plurimath/math/symbols/leftdownvectorbar.rb +1 -1
  673. data/lib/plurimath/math/symbols/leftharpoondown.rb +1 -1
  674. data/lib/plurimath/math/symbols/leftharpoonup.rb +1 -1
  675. data/lib/plurimath/math/symbols/leftleftarrows.rb +1 -1
  676. data/lib/plurimath/math/symbols/leftleftharpoons.rb +1 -1
  677. data/lib/plurimath/math/symbols/leftmoon.rb +1 -1
  678. data/lib/plurimath/math/symbols/leftouterjoin.rb +1 -1
  679. data/lib/plurimath/math/symbols/leftrightarrow.rb +1 -1
  680. data/lib/plurimath/math/symbols/leftrightarrowcircle.rb +1 -1
  681. data/lib/plurimath/math/symbols/leftrightarrows.rb +1 -1
  682. data/lib/plurimath/math/symbols/leftrightarrowtriangle.rb +1 -1
  683. data/lib/plurimath/math/symbols/leftrightharpoon.rb +1 -1
  684. data/lib/plurimath/math/symbols/leftrightharpoondown.rb +1 -1
  685. data/lib/plurimath/math/symbols/leftrightharpoonsdown.rb +1 -1
  686. data/lib/plurimath/math/symbols/leftrightharpoonsup.rb +1 -1
  687. data/lib/plurimath/math/symbols/leftrightharpoonup.rb +1 -1
  688. data/lib/plurimath/math/symbols/leftrightwavearrow.rb +1 -1
  689. data/lib/plurimath/math/symbols/leftsquigarrow.rb +1 -1
  690. data/lib/plurimath/math/symbols/lefttail.rb +1 -1
  691. data/lib/plurimath/math/symbols/leftteevector.rb +1 -1
  692. data/lib/plurimath/math/symbols/leftthreearrows.rb +1 -1
  693. data/lib/plurimath/math/symbols/leftthreetimes.rb +1 -1
  694. data/lib/plurimath/math/symbols/leftturn.rb +1 -1
  695. data/lib/plurimath/math/symbols/leftupdownharpoon.rb +1 -1
  696. data/lib/plurimath/math/symbols/leftupteevector.rb +1 -1
  697. data/lib/plurimath/math/symbols/leftupvectorbar.rb +1 -1
  698. data/lib/plurimath/math/symbols/leftvectorbar.rb +1 -1
  699. data/lib/plurimath/math/symbols/leftwavearrow.rb +1 -1
  700. data/lib/plurimath/math/symbols/leftwhitearrow.rb +1 -1
  701. data/lib/plurimath/math/symbols/leo.rb +1 -1
  702. data/lib/plurimath/math/symbols/leq.rb +1 -1
  703. data/lib/plurimath/math/symbols/leqq.rb +1 -1
  704. data/lib/plurimath/math/symbols/leqqslant.rb +1 -1
  705. data/lib/plurimath/math/symbols/leqslant.rb +1 -1
  706. data/lib/plurimath/math/symbols/lescc.rb +1 -1
  707. data/lib/plurimath/math/symbols/lesdot.rb +1 -1
  708. data/lib/plurimath/math/symbols/lesdoto.rb +1 -1
  709. data/lib/plurimath/math/symbols/lesdotor.rb +1 -1
  710. data/lib/plurimath/math/symbols/lesges.rb +1 -1
  711. data/lib/plurimath/math/symbols/less.rb +1 -1
  712. data/lib/plurimath/math/symbols/lessapprox.rb +1 -1
  713. data/lib/plurimath/math/symbols/lessdot.rb +1 -1
  714. data/lib/plurimath/math/symbols/lesseqgtr.rb +1 -1
  715. data/lib/plurimath/math/symbols/lesseqqgtr.rb +1 -1
  716. data/lib/plurimath/math/symbols/lessgtr.rb +1 -1
  717. data/lib/plurimath/math/symbols/lfbowtie.rb +1 -1
  718. data/lib/plurimath/math/symbols/lftimes.rb +1 -1
  719. data/lib/plurimath/math/symbols/lgblkcircle.rb +1 -1
  720. data/lib/plurimath/math/symbols/lgblksquare.rb +1 -1
  721. data/lib/plurimath/math/symbols/lge.rb +1 -1
  722. data/lib/plurimath/math/symbols/lgroup.rb +1 -1
  723. data/lib/plurimath/math/symbols/lgwhtcircle.rb +1 -1
  724. data/lib/plurimath/math/symbols/lgwhtsquare.rb +1 -1
  725. data/lib/plurimath/math/symbols/lhd.rb +1 -1
  726. data/lib/plurimath/math/symbols/libra.rb +1 -1
  727. data/lib/plurimath/math/symbols/lightning.rb +1 -1
  728. data/lib/plurimath/math/symbols/limg.rb +1 -1
  729. data/lib/plurimath/math/symbols/linefeed.rb +1 -1
  730. data/lib/plurimath/math/symbols/ll.rb +1 -1
  731. data/lib/plurimath/math/symbols/llarc.rb +1 -1
  732. data/lib/plurimath/math/symbols/llblacktriangle.rb +1 -1
  733. data/lib/plurimath/math/symbols/llcorner.rb +1 -1
  734. data/lib/plurimath/math/symbols/lleftarrow.rb +1 -1
  735. data/lib/plurimath/math/symbols/lll.rb +1 -1
  736. data/lib/plurimath/math/symbols/lllnest.rb +1 -1
  737. data/lib/plurimath/math/symbols/lltriangle.rb +1 -1
  738. data/lib/plurimath/math/symbols/lmoust.rb +1 -1
  739. data/lib/plurimath/math/symbols/lmoustache.rb +1 -1
  740. data/lib/plurimath/math/symbols/lnapprox.rb +1 -1
  741. data/lib/plurimath/math/symbols/lneq.rb +1 -1
  742. data/lib/plurimath/math/symbols/lnot.rb +1 -1
  743. data/lib/plurimath/math/symbols/lnsim.rb +1 -1
  744. data/lib/plurimath/math/symbols/longdashv.rb +1 -1
  745. data/lib/plurimath/math/symbols/longdivision.rb +1 -1
  746. data/lib/plurimath/math/symbols/longleftarrow.rb +1 -1
  747. data/lib/plurimath/math/symbols/longleftrightarrow.rb +1 -1
  748. data/lib/plurimath/math/symbols/longleftsquigarrow.rb +1 -1
  749. data/lib/plurimath/math/symbols/longmapsfrom.rb +1 -1
  750. data/lib/plurimath/math/symbols/longmapsto.rb +1 -1
  751. data/lib/plurimath/math/symbols/longrightarrow.rb +1 -1
  752. data/lib/plurimath/math/symbols/looparrowleft.rb +1 -1
  753. data/lib/plurimath/math/symbols/lor.rb +1 -1
  754. data/lib/plurimath/math/symbols/lowint.rb +1 -1
  755. data/lib/plurimath/math/symbols/lozenge.rb +1 -1
  756. data/lib/plurimath/math/symbols/lozengeminus.rb +1 -1
  757. data/lib/plurimath/math/symbols/lparen.rb +1 -1
  758. data/lib/plurimath/math/symbols/lparenextender.rb +1 -1
  759. data/lib/plurimath/math/symbols/lparengtr.rb +1 -1
  760. data/lib/plurimath/math/symbols/lparenlend.rb +1 -1
  761. data/lib/plurimath/math/symbols/lparenless.rb +1 -1
  762. data/lib/plurimath/math/symbols/lparenuend.rb +1 -1
  763. data/lib/plurimath/math/symbols/lrarc.rb +1 -1
  764. data/lib/plurimath/math/symbols/lrblacktriangle.rb +1 -1
  765. data/lib/plurimath/math/symbols/lrcorner.rb +1 -1
  766. data/lib/plurimath/math/symbols/lrhar.rb +1 -1
  767. data/lib/plurimath/math/symbols/lrtimes.rb +1 -1
  768. data/lib/plurimath/math/symbols/lrtriangle.rb +1 -1
  769. data/lib/plurimath/math/symbols/lrtriangleeq.rb +1 -1
  770. data/lib/plurimath/math/symbols/lsh.rb +1 -1
  771. data/lib/plurimath/math/symbols/lsime.rb +1 -1
  772. data/lib/plurimath/math/symbols/lsimg.rb +1 -1
  773. data/lib/plurimath/math/symbols/lsqhook.rb +1 -1
  774. data/lib/plurimath/math/symbols/lt.rb +1 -1
  775. data/lib/plurimath/math/symbols/ltcc.rb +1 -1
  776. data/lib/plurimath/math/symbols/ltcir.rb +1 -1
  777. data/lib/plurimath/math/symbols/ltimes.rb +1 -1
  778. data/lib/plurimath/math/symbols/ltlarr.rb +1 -1
  779. data/lib/plurimath/math/symbols/ltquest.rb +1 -1
  780. data/lib/plurimath/math/symbols/ltrivb.rb +1 -1
  781. data/lib/plurimath/math/symbols/lvboxline.rb +1 -1
  782. data/lib/plurimath/math/symbols/lvec.rb +1 -1
  783. data/lib/plurimath/math/symbols/lvzigzag.rb +1 -1
  784. data/lib/plurimath/math/symbols/maltese.rb +1 -1
  785. data/lib/plurimath/math/symbols/mapsdown.rb +1 -1
  786. data/lib/plurimath/math/symbols/mapsfrom.rb +1 -1
  787. data/lib/plurimath/math/symbols/mapsto.rb +1 -1
  788. data/lib/plurimath/math/symbols/mapstoleft.rb +1 -1
  789. data/lib/plurimath/math/symbols/mapsup.rb +1 -1
  790. data/lib/plurimath/math/symbols/mars.rb +1 -1
  791. data/lib/plurimath/math/symbols/mathcolon.rb +1 -1
  792. data/lib/plurimath/math/symbols/mathdollar.rb +1 -1
  793. data/lib/plurimath/math/symbols/mathslash.rb +1 -1
  794. data/lib/plurimath/math/symbols/mdblkdiamond.rb +1 -1
  795. data/lib/plurimath/math/symbols/mdblklozenge.rb +1 -1
  796. data/lib/plurimath/math/symbols/mdblksquare.rb +1 -1
  797. data/lib/plurimath/math/symbols/mdlgblksquare.rb +1 -1
  798. data/lib/plurimath/math/symbols/mdsmblksquare.rb +1 -1
  799. data/lib/plurimath/math/symbols/mdsmwhtcircle.rb +1 -1
  800. data/lib/plurimath/math/symbols/mdsmwhtsquare.rb +1 -1
  801. data/lib/plurimath/math/symbols/mdwhtdiamond.rb +1 -1
  802. data/lib/plurimath/math/symbols/mdwhtlozenge.rb +1 -1
  803. data/lib/plurimath/math/symbols/mdwhtsquare.rb +1 -1
  804. data/lib/plurimath/math/symbols/measangledltosw.rb +1 -1
  805. data/lib/plurimath/math/symbols/measangledrtose.rb +1 -1
  806. data/lib/plurimath/math/symbols/measangleldtosw.rb +1 -1
  807. data/lib/plurimath/math/symbols/measanglelutonw.rb +1 -1
  808. data/lib/plurimath/math/symbols/measanglerdtose.rb +1 -1
  809. data/lib/plurimath/math/symbols/measanglerutone.rb +1 -1
  810. data/lib/plurimath/math/symbols/measangleultonw.rb +1 -1
  811. data/lib/plurimath/math/symbols/measangleurtone.rb +1 -1
  812. data/lib/plurimath/math/symbols/measeq.rb +1 -1
  813. data/lib/plurimath/math/symbols/measuredangleleft.rb +1 -1
  814. data/lib/plurimath/math/symbols/medblackstar.rb +1 -1
  815. data/lib/plurimath/math/symbols/medbullet.rb +1 -1
  816. data/lib/plurimath/math/symbols/medcirc.rb +1 -1
  817. data/lib/plurimath/math/symbols/medsp.rb +1 -1
  818. data/lib/plurimath/math/symbols/medwhitestar.rb +1 -1
  819. data/lib/plurimath/math/symbols/mercury.rb +1 -1
  820. data/lib/plurimath/math/symbols/mho.rb +1 -1
  821. data/lib/plurimath/math/symbols/mid.rb +1 -1
  822. data/lib/plurimath/math/symbols/midbarvee.rb +1 -1
  823. data/lib/plurimath/math/symbols/midbarwedge.rb +1 -1
  824. data/lib/plurimath/math/symbols/midcir.rb +1 -1
  825. data/lib/plurimath/math/symbols/minus.rb +1 -1
  826. data/lib/plurimath/math/symbols/minusdot.rb +1 -1
  827. data/lib/plurimath/math/symbols/minusfdots.rb +1 -1
  828. data/lib/plurimath/math/symbols/minusrdots.rb +1 -1
  829. data/lib/plurimath/math/symbols/mlcp.rb +1 -1
  830. data/lib/plurimath/math/symbols/models.rb +1 -1
  831. data/lib/plurimath/math/symbols/modtwosum.rb +1 -1
  832. data/lib/plurimath/math/symbols/mp.rb +1 -1
  833. data/lib/plurimath/math/symbols/mu.rb +1 -1
  834. data/lib/plurimath/math/symbols/multimap.rb +1 -1
  835. data/lib/plurimath/math/symbols/multimapinv.rb +1 -1
  836. data/lib/plurimath/math/symbols/nabla.rb +1 -1
  837. data/lib/plurimath/math/symbols/napprox.rb +1 -1
  838. data/lib/plurimath/math/symbols/nasymp.rb +1 -1
  839. data/lib/plurimath/math/symbols/natural.rb +1 -1
  840. data/lib/plurimath/math/symbols/ncong.rb +1 -1
  841. data/lib/plurimath/math/symbols/ne.rb +1 -1
  842. data/lib/plurimath/math/symbols/nearrow.rb +1 -1
  843. data/lib/plurimath/math/symbols/neg.rb +1 -1
  844. data/lib/plurimath/math/symbols/neovnwarrow.rb +1 -1
  845. data/lib/plurimath/math/symbols/neovsearrow.rb +1 -1
  846. data/lib/plurimath/math/symbols/neptune.rb +1 -1
  847. data/lib/plurimath/math/symbols/neq.rb +1 -1
  848. data/lib/plurimath/math/symbols/nequiv.rb +1 -1
  849. data/lib/plurimath/math/symbols/neswarrow.rb +1 -1
  850. data/lib/plurimath/math/symbols/neuter.rb +1 -1
  851. data/lib/plurimath/math/symbols/nexi.rb +1 -1
  852. data/lib/plurimath/math/symbols/ngeq.rb +1 -1
  853. data/lib/plurimath/math/symbols/ngt.rb +1 -1
  854. data/lib/plurimath/math/symbols/ngtrless.rb +1 -1
  855. data/lib/plurimath/math/symbols/ngtrsim.rb +1 -1
  856. data/lib/plurimath/math/symbols/nhdownarrow.rb +1 -1
  857. data/lib/plurimath/math/symbols/nhpar.rb +1 -1
  858. data/lib/plurimath/math/symbols/nhuparrow.rb +1 -1
  859. data/lib/plurimath/math/symbols/nhvvert.rb +1 -1
  860. data/lib/plurimath/math/symbols/ni.rb +1 -1
  861. data/lib/plurimath/math/symbols/nin.rb +1 -1
  862. data/lib/plurimath/math/symbols/niobar.rb +1 -1
  863. data/lib/plurimath/math/symbols/nis.rb +1 -1
  864. data/lib/plurimath/math/symbols/nisd.rb +1 -1
  865. data/lib/plurimath/math/symbols/nleftarrow.rb +1 -1
  866. data/lib/plurimath/math/symbols/nleftrightarrow.rb +1 -1
  867. data/lib/plurimath/math/symbols/nleq.rb +1 -1
  868. data/lib/plurimath/math/symbols/nless.rb +1 -1
  869. data/lib/plurimath/math/symbols/nlessgtr.rb +1 -1
  870. data/lib/plurimath/math/symbols/nlesssim.rb +1 -1
  871. data/lib/plurimath/math/symbols/nmid.rb +1 -1
  872. data/lib/plurimath/math/symbols/nn.rb +1 -1
  873. data/lib/plurimath/math/symbols/nni.rb +1 -1
  874. data/lib/plurimath/math/symbols/nnn.rb +18 -2
  875. data/lib/plurimath/math/symbols/not.rb +1 -1
  876. data/lib/plurimath/math/symbols/notbackslash.rb +1 -1
  877. data/lib/plurimath/math/symbols/notin.rb +1 -1
  878. data/lib/plurimath/math/symbols/notslash.rb +1 -1
  879. data/lib/plurimath/math/symbols/nparallel.rb +1 -1
  880. data/lib/plurimath/math/symbols/npolint.rb +1 -1
  881. data/lib/plurimath/math/symbols/nprec.rb +1 -1
  882. data/lib/plurimath/math/symbols/npreceq.rb +1 -1
  883. data/lib/plurimath/math/symbols/nrightarrow.rb +1 -1
  884. data/lib/plurimath/math/symbols/nsim.rb +1 -1
  885. data/lib/plurimath/math/symbols/nsime.rb +1 -1
  886. data/lib/plurimath/math/symbols/nsqsubseteq.rb +1 -1
  887. data/lib/plurimath/math/symbols/nsqsuperseteq.rb +1 -1
  888. data/lib/plurimath/math/symbols/nsub.rb +1 -1
  889. data/lib/plurimath/math/symbols/nsucc.rb +1 -1
  890. data/lib/plurimath/math/symbols/nsucceq.rb +1 -1
  891. data/lib/plurimath/math/symbols/nsup.rb +1 -1
  892. data/lib/plurimath/math/symbols/ntriangleleft.rb +1 -1
  893. data/lib/plurimath/math/symbols/ntriangleright.rb +1 -1
  894. data/lib/plurimath/math/symbols/nu.rb +1 -1
  895. data/lib/plurimath/math/symbols/nunlhd.rb +1 -1
  896. data/lib/plurimath/math/symbols/nunrhd.rb +1 -1
  897. data/lib/plurimath/math/symbols/nvdash.rb +1 -1
  898. data/lib/plurimath/math/symbols/nvinfty.rb +1 -1
  899. data/lib/plurimath/math/symbols/nvleftarrow.rb +1 -1
  900. data/lib/plurimath/math/symbols/nvleftarrowtail.rb +1 -1
  901. data/lib/plurimath/math/symbols/nvleftrightarrow.rb +1 -1
  902. data/lib/plurimath/math/symbols/nvrightarrow.rb +1 -1
  903. data/lib/plurimath/math/symbols/nvtwoheadleftarrow.rb +1 -1
  904. data/lib/plurimath/math/symbols/nvtwoheadleftarrowtail.rb +1 -1
  905. data/lib/plurimath/math/symbols/nvtwoheadrightarrow.rb +1 -1
  906. data/lib/plurimath/math/symbols/nvtwoheadrightarrowtail.rb +1 -1
  907. data/lib/plurimath/math/symbols/nwarrow.rb +1 -1
  908. data/lib/plurimath/math/symbols/nwovnearrow.rb +1 -1
  909. data/lib/plurimath/math/symbols/nwsearrow.rb +1 -1
  910. data/lib/plurimath/math/symbols/oast.rb +1 -1
  911. data/lib/plurimath/math/symbols/obar.rb +1 -1
  912. data/lib/plurimath/math/symbols/obot.rb +1 -1
  913. data/lib/plurimath/math/symbols/obrace.rb +1 -1
  914. data/lib/plurimath/math/symbols/obrbrak.rb +1 -1
  915. data/lib/plurimath/math/symbols/obslash.rb +1 -1
  916. data/lib/plurimath/math/symbols/ocirc.rb +1 -1
  917. data/lib/plurimath/math/symbols/ocommatopright.rb +1 -1
  918. data/lib/plurimath/math/symbols/octothorpe.rb +1 -1
  919. data/lib/plurimath/math/symbols/odash.rb +1 -1
  920. data/lib/plurimath/math/symbols/odiv.rb +1 -1
  921. data/lib/plurimath/math/symbols/odot.rb +1 -1
  922. data/lib/plurimath/math/symbols/odotslashdot.rb +1 -1
  923. data/lib/plurimath/math/symbols/oeq.rb +1 -1
  924. data/lib/plurimath/math/symbols/oiiint.rb +14 -2
  925. data/lib/plurimath/math/symbols/oiint.rb +14 -2
  926. data/lib/plurimath/math/symbols/oint.rb +17 -1
  927. data/lib/plurimath/math/symbols/olcross.rb +1 -1
  928. data/lib/plurimath/math/symbols/olessthan.rb +1 -1
  929. data/lib/plurimath/math/symbols/omega.rb +1 -1
  930. data/lib/plurimath/math/symbols/ominus.rb +1 -1
  931. data/lib/plurimath/math/symbols/oo.rb +1 -1
  932. data/lib/plurimath/math/symbols/operp.rb +1 -1
  933. data/lib/plurimath/math/symbols/oplus.rb +1 -1
  934. data/lib/plurimath/math/symbols/opluslhrim.rb +1 -1
  935. data/lib/plurimath/math/symbols/oplusrhrim.rb +1 -1
  936. data/lib/plurimath/math/symbols/origof.rb +1 -1
  937. data/lib/plurimath/math/symbols/oslash.rb +1 -1
  938. data/lib/plurimath/math/symbols/otimes.rb +1 -1
  939. data/lib/plurimath/math/symbols/otimeshat.rb +1 -1
  940. data/lib/plurimath/math/symbols/otimeslhrim.rb +1 -1
  941. data/lib/plurimath/math/symbols/otimesrhrim.rb +1 -1
  942. data/lib/plurimath/math/symbols/oturnedcomma.rb +1 -1
  943. data/lib/plurimath/math/symbols/overbar.rb +1 -1
  944. data/lib/plurimath/math/symbols/overbracket.rb +1 -1
  945. data/lib/plurimath/math/symbols/overleftrightarrow.rb +1 -1
  946. data/lib/plurimath/math/symbols/overline.rb +1 -1
  947. data/lib/plurimath/math/symbols/ovhook.rb +1 -1
  948. data/lib/plurimath/math/symbols/ox.rb +1 -1
  949. data/lib/plurimath/math/symbols/parallelogram.rb +1 -1
  950. data/lib/plurimath/math/symbols/parallelogramblack.rb +1 -1
  951. data/lib/plurimath/math/symbols/paren/close_paren.rb +1 -1
  952. data/lib/plurimath/math/symbols/paren/langle.rb +1 -1
  953. data/lib/plurimath/math/symbols/paren/lbbrack.rb +1 -1
  954. data/lib/plurimath/math/symbols/paren/lbrace.rb +1 -1
  955. data/lib/plurimath/math/symbols/paren/lbrack.rb +1 -1
  956. data/lib/plurimath/math/symbols/paren/lceil.rb +1 -1
  957. data/lib/plurimath/math/symbols/paren/lcurly.rb +1 -1
  958. data/lib/plurimath/math/symbols/paren/lfloor.rb +1 -1
  959. data/lib/plurimath/math/symbols/paren/lround.rb +1 -1
  960. data/lib/plurimath/math/symbols/paren/lsquare.rb +1 -1
  961. data/lib/plurimath/math/symbols/paren/norm.rb +1 -1
  962. data/lib/plurimath/math/symbols/paren/open_paren.rb +1 -1
  963. data/lib/plurimath/math/symbols/paren/rangle.rb +1 -1
  964. data/lib/plurimath/math/symbols/paren/rbbrack.rb +1 -1
  965. data/lib/plurimath/math/symbols/paren/rbrace.rb +1 -1
  966. data/lib/plurimath/math/symbols/paren/rbrack.rb +1 -1
  967. data/lib/plurimath/math/symbols/paren/rceil.rb +1 -1
  968. data/lib/plurimath/math/symbols/paren/rcurly.rb +1 -1
  969. data/lib/plurimath/math/symbols/paren/rfloor.rb +1 -1
  970. data/lib/plurimath/math/symbols/paren/rround.rb +1 -1
  971. data/lib/plurimath/math/symbols/paren/rsquare.rb +1 -1
  972. data/lib/plurimath/math/symbols/paren/upcase_langle.rb +1 -1
  973. data/lib/plurimath/math/symbols/paren/upcase_rangle.rb +1 -1
  974. data/lib/plurimath/math/symbols/paren/vert.rb +1 -1
  975. data/lib/plurimath/math/symbols/parsim.rb +1 -1
  976. data/lib/plurimath/math/symbols/partial.rb +7 -7
  977. data/lib/plurimath/math/symbols/partialmeetcontraction.rb +1 -1
  978. data/lib/plurimath/math/symbols/pencil.rb +1 -1
  979. data/lib/plurimath/math/symbols/pentagon.rb +1 -1
  980. data/lib/plurimath/math/symbols/pentagonblack.rb +1 -1
  981. data/lib/plurimath/math/symbols/percent.rb +1 -1
  982. data/lib/plurimath/math/symbols/period.rb +1 -1
  983. data/lib/plurimath/math/symbols/perp.rb +1 -1
  984. data/lib/plurimath/math/symbols/perps.rb +1 -1
  985. data/lib/plurimath/math/symbols/pfun.rb +1 -1
  986. data/lib/plurimath/math/symbols/phi.rb +1 -1
  987. data/lib/plurimath/math/symbols/pi.rb +7 -7
  988. data/lib/plurimath/math/symbols/pinj.rb +1 -1
  989. data/lib/plurimath/math/symbols/pisces.rb +1 -1
  990. data/lib/plurimath/math/symbols/pitchfork.rb +1 -1
  991. data/lib/plurimath/math/symbols/planckconst.rb +1 -1
  992. data/lib/plurimath/math/symbols/plus.rb +1 -1
  993. data/lib/plurimath/math/symbols/plusdot.rb +1 -1
  994. data/lib/plurimath/math/symbols/pluseqq.rb +1 -1
  995. data/lib/plurimath/math/symbols/plushat.rb +1 -1
  996. data/lib/plurimath/math/symbols/plussim.rb +1 -1
  997. data/lib/plurimath/math/symbols/plussubtwo.rb +1 -1
  998. data/lib/plurimath/math/symbols/plustrif.rb +1 -1
  999. data/lib/plurimath/math/symbols/pluto.rb +1 -1
  1000. data/lib/plurimath/math/symbols/pm.rb +1 -1
  1001. data/lib/plurimath/math/symbols/pointint.rb +1 -1
  1002. data/lib/plurimath/math/symbols/pointright.rb +1 -1
  1003. data/lib/plurimath/math/symbols/postalmark.rb +1 -1
  1004. data/lib/plurimath/math/symbols/pounds.rb +1 -1
  1005. data/lib/plurimath/math/symbols/pppprime.rb +1 -1
  1006. data/lib/plurimath/math/symbols/ppprime.rb +1 -1
  1007. data/lib/plurimath/math/symbols/pprime.rb +1 -1
  1008. data/lib/plurimath/math/symbols/prcue.rb +1 -1
  1009. data/lib/plurimath/math/symbols/prec.rb +1 -1
  1010. data/lib/plurimath/math/symbols/precapprox.rb +1 -1
  1011. data/lib/plurimath/math/symbols/preceq.rb +1 -1
  1012. data/lib/plurimath/math/symbols/preceqq.rb +1 -1
  1013. data/lib/plurimath/math/symbols/precnapprox.rb +1 -1
  1014. data/lib/plurimath/math/symbols/precneq.rb +1 -1
  1015. data/lib/plurimath/math/symbols/precneqq.rb +1 -1
  1016. data/lib/plurimath/math/symbols/precnsim.rb +1 -1
  1017. data/lib/plurimath/math/symbols/precsim.rb +1 -1
  1018. data/lib/plurimath/math/symbols/prime.rb +1 -1
  1019. data/lib/plurimath/math/symbols/prod.rb +9 -1
  1020. data/lib/plurimath/math/symbols/profline.rb +1 -1
  1021. data/lib/plurimath/math/symbols/profsurf.rb +1 -1
  1022. data/lib/plurimath/math/symbols/project.rb +1 -1
  1023. data/lib/plurimath/math/symbols/prop.rb +1 -1
  1024. data/lib/plurimath/math/symbols/propertyline.rb +1 -1
  1025. data/lib/plurimath/math/symbols/psi.rb +1 -1
  1026. data/lib/plurimath/math/symbols/psur.rb +1 -1
  1027. data/lib/plurimath/math/symbols/pullback.rb +1 -1
  1028. data/lib/plurimath/math/symbols/pushout.rb +1 -1
  1029. data/lib/plurimath/math/symbols/qed.rb +1 -1
  1030. data/lib/plurimath/math/symbols/qprime.rb +1 -1
  1031. data/lib/plurimath/math/symbols/qq.rb +1 -1
  1032. data/lib/plurimath/math/symbols/qquad.rb +1 -1
  1033. data/lib/plurimath/math/symbols/quad.rb +1 -1
  1034. data/lib/plurimath/math/symbols/quarternote.rb +1 -1
  1035. data/lib/plurimath/math/symbols/questeq.rb +1 -1
  1036. data/lib/plurimath/math/symbols/question.rb +1 -1
  1037. data/lib/plurimath/math/symbols/radiation.rb +1 -1
  1038. data/lib/plurimath/math/symbols/rang.rb +1 -1
  1039. data/lib/plurimath/math/symbols/rangledot.rb +1 -1
  1040. data/lib/plurimath/math/symbols/rangledownzigzagarrow.rb +1 -1
  1041. data/lib/plurimath/math/symbols/ratio.rb +1 -1
  1042. data/lib/plurimath/math/symbols/rbag.rb +1 -1
  1043. data/lib/plurimath/math/symbols/rblkbrbrak.rb +1 -1
  1044. data/lib/plurimath/math/symbols/rblot.rb +1 -1
  1045. data/lib/plurimath/math/symbols/rbracelend.rb +1 -1
  1046. data/lib/plurimath/math/symbols/rbracemid.rb +1 -1
  1047. data/lib/plurimath/math/symbols/rbraceuend.rb +1 -1
  1048. data/lib/plurimath/math/symbols/rbrackextender.rb +1 -1
  1049. data/lib/plurimath/math/symbols/rbracklend.rb +1 -1
  1050. data/lib/plurimath/math/symbols/rbracklrtick.rb +1 -1
  1051. data/lib/plurimath/math/symbols/rbrackubar.rb +1 -1
  1052. data/lib/plurimath/math/symbols/rbrackuend.rb +1 -1
  1053. data/lib/plurimath/math/symbols/rbrackurtick.rb +1 -1
  1054. data/lib/plurimath/math/symbols/rbrbrak.rb +1 -1
  1055. data/lib/plurimath/math/symbols/rcurvyangle.rb +1 -1
  1056. data/lib/plurimath/math/symbols/rddots.rb +1 -1
  1057. data/lib/plurimath/math/symbols/rdiagovfdiag.rb +1 -1
  1058. data/lib/plurimath/math/symbols/rdiagovsearrow.rb +1 -1
  1059. data/lib/plurimath/math/symbols/rdsh.rb +1 -1
  1060. data/lib/plurimath/math/symbols/re.rb +1 -1
  1061. data/lib/plurimath/math/symbols/recycle.rb +1 -1
  1062. data/lib/plurimath/math/symbols/rel.rb +1 -1
  1063. data/lib/plurimath/math/symbols/restriction.rb +1 -1
  1064. data/lib/plurimath/math/symbols/revangle.rb +1 -1
  1065. data/lib/plurimath/math/symbols/revangleubar.rb +1 -1
  1066. data/lib/plurimath/math/symbols/revemptyset.rb +1 -1
  1067. data/lib/plurimath/math/symbols/revnmid.rb +1 -1
  1068. data/lib/plurimath/math/symbols/rfbowtie.rb +1 -1
  1069. data/lib/plurimath/math/symbols/rftimes.rb +1 -1
  1070. data/lib/plurimath/math/symbols/rgroup.rb +1 -1
  1071. data/lib/plurimath/math/symbols/rhd.rb +1 -1
  1072. data/lib/plurimath/math/symbols/rho.rb +1 -1
  1073. data/lib/plurimath/math/symbols/rightangle.rb +1 -1
  1074. data/lib/plurimath/math/symbols/rightanglemdot.rb +1 -1
  1075. data/lib/plurimath/math/symbols/rightanglesqr.rb +1 -1
  1076. data/lib/plurimath/math/symbols/rightarrow.rb +1 -1
  1077. data/lib/plurimath/math/symbols/rightarrowapprox.rb +1 -1
  1078. data/lib/plurimath/math/symbols/rightarrowbackapprox.rb +1 -1
  1079. data/lib/plurimath/math/symbols/rightarrowbar.rb +1 -1
  1080. data/lib/plurimath/math/symbols/rightarrowbsimilar.rb +1 -1
  1081. data/lib/plurimath/math/symbols/rightarrowdiamond.rb +1 -1
  1082. data/lib/plurimath/math/symbols/rightarrowgtr.rb +1 -1
  1083. data/lib/plurimath/math/symbols/rightarrowonoplus.rb +1 -1
  1084. data/lib/plurimath/math/symbols/rightarrowplus.rb +1 -1
  1085. data/lib/plurimath/math/symbols/rightarrowshortleftarrow.rb +1 -1
  1086. data/lib/plurimath/math/symbols/rightarrowsimilar.rb +1 -1
  1087. data/lib/plurimath/math/symbols/rightarrowsupset.rb +1 -1
  1088. data/lib/plurimath/math/symbols/rightarrowtail.rb +1 -1
  1089. data/lib/plurimath/math/symbols/rightarrowtriangle.rb +1 -1
  1090. data/lib/plurimath/math/symbols/rightarrowx.rb +1 -1
  1091. data/lib/plurimath/math/symbols/rightbarharpoon.rb +1 -1
  1092. data/lib/plurimath/math/symbols/rightbkarrow.rb +1 -1
  1093. data/lib/plurimath/math/symbols/rightcircle.rb +1 -1
  1094. data/lib/plurimath/math/symbols/rightdbltail.rb +1 -1
  1095. data/lib/plurimath/math/symbols/rightdotarrow.rb +1 -1
  1096. data/lib/plurimath/math/symbols/rightdowncurvedarrow.rb +1 -1
  1097. data/lib/plurimath/math/symbols/rightdownteevector.rb +1 -1
  1098. data/lib/plurimath/math/symbols/rightdownvectorbar.rb +1 -1
  1099. data/lib/plurimath/math/symbols/rightharpoonaccent.rb +1 -1
  1100. data/lib/plurimath/math/symbols/rightharpoondown.rb +1 -1
  1101. data/lib/plurimath/math/symbols/rightharpoonup.rb +1 -1
  1102. data/lib/plurimath/math/symbols/rightimply.rb +1 -1
  1103. data/lib/plurimath/math/symbols/rightleftarrow.rb +1 -1
  1104. data/lib/plurimath/math/symbols/rightleftharpoon.rb +1 -1
  1105. data/lib/plurimath/math/symbols/rightleftharpoonsdown.rb +1 -1
  1106. data/lib/plurimath/math/symbols/rightleftharpoonsup.rb +1 -1
  1107. data/lib/plurimath/math/symbols/rightmoon.rb +1 -1
  1108. data/lib/plurimath/math/symbols/rightouterjoin.rb +1 -1
  1109. data/lib/plurimath/math/symbols/rightpentagon.rb +1 -1
  1110. data/lib/plurimath/math/symbols/rightpentagonblack.rb +1 -1
  1111. data/lib/plurimath/math/symbols/rightrightarrows.rb +1 -1
  1112. data/lib/plurimath/math/symbols/rightrightharpoons.rb +1 -1
  1113. data/lib/plurimath/math/symbols/rightsquigarrow.rb +1 -1
  1114. data/lib/plurimath/math/symbols/righttail.rb +1 -1
  1115. data/lib/plurimath/math/symbols/rightteevector.rb +1 -1
  1116. data/lib/plurimath/math/symbols/rightthreearrows.rb +1 -1
  1117. data/lib/plurimath/math/symbols/rightthreetimes.rb +1 -1
  1118. data/lib/plurimath/math/symbols/rightturn.rb +1 -1
  1119. data/lib/plurimath/math/symbols/rightupdownharpoon.rb +1 -1
  1120. data/lib/plurimath/math/symbols/rightupteevector.rb +1 -1
  1121. data/lib/plurimath/math/symbols/rightupvectorbar.rb +1 -1
  1122. data/lib/plurimath/math/symbols/rightvectorbar.rb +1 -1
  1123. data/lib/plurimath/math/symbols/rightwavearrow.rb +1 -1
  1124. data/lib/plurimath/math/symbols/rightwhitearrow.rb +1 -1
  1125. data/lib/plurimath/math/symbols/rimg.rb +1 -1
  1126. data/lib/plurimath/math/symbols/ring.rb +1 -1
  1127. data/lib/plurimath/math/symbols/ringplus.rb +1 -1
  1128. data/lib/plurimath/math/symbols/risingdotseq.rb +1 -1
  1129. data/lib/plurimath/math/symbols/rlhar.rb +1 -1
  1130. data/lib/plurimath/math/symbols/rmoust.rb +1 -1
  1131. data/lib/plurimath/math/symbols/rparen.rb +1 -1
  1132. data/lib/plurimath/math/symbols/rparenextender.rb +1 -1
  1133. data/lib/plurimath/math/symbols/rparengtr.rb +1 -1
  1134. data/lib/plurimath/math/symbols/rparenlend.rb +1 -1
  1135. data/lib/plurimath/math/symbols/rparenless.rb +1 -1
  1136. data/lib/plurimath/math/symbols/rparenuend.rb +1 -1
  1137. data/lib/plurimath/math/symbols/rppolint.rb +1 -1
  1138. data/lib/plurimath/math/symbols/rr.rb +1 -1
  1139. data/lib/plurimath/math/symbols/rrightarrow.rb +1 -1
  1140. data/lib/plurimath/math/symbols/rsh.rb +1 -1
  1141. data/lib/plurimath/math/symbols/rsolbar.rb +1 -1
  1142. data/lib/plurimath/math/symbols/rsqhook.rb +1 -1
  1143. data/lib/plurimath/math/symbols/rsub.rb +1 -1
  1144. data/lib/plurimath/math/symbols/rtimes.rb +1 -1
  1145. data/lib/plurimath/math/symbols/rtriltri.rb +1 -1
  1146. data/lib/plurimath/math/symbols/ruledelayed.rb +1 -1
  1147. data/lib/plurimath/math/symbols/rvboxline.rb +1 -1
  1148. data/lib/plurimath/math/symbols/rvert.rb +1 -1
  1149. data/lib/plurimath/math/symbols/rvzigzag.rb +1 -1
  1150. data/lib/plurimath/math/symbols/sadface.rb +1 -1
  1151. data/lib/plurimath/math/symbols/sagittarius.rb +1 -1
  1152. data/lib/plurimath/math/symbols/same.rb +1 -1
  1153. data/lib/plurimath/math/symbols/sampi.rb +1 -1
  1154. data/lib/plurimath/math/symbols/sanslmirrored.rb +1 -1
  1155. data/lib/plurimath/math/symbols/sanslturned.rb +1 -1
  1156. data/lib/plurimath/math/symbols/saturn.rb +1 -1
  1157. data/lib/plurimath/math/symbols/scorpio.rb +1 -1
  1158. data/lib/plurimath/math/symbols/scpolint.rb +1 -1
  1159. data/lib/plurimath/math/symbols/scurel.rb +1 -1
  1160. data/lib/plurimath/math/symbols/sdef.rb +1 -1
  1161. data/lib/plurimath/math/symbols/searrow.rb +1 -1
  1162. data/lib/plurimath/math/symbols/second.rb +1 -1
  1163. data/lib/plurimath/math/symbols/semi.rb +1 -1
  1164. data/lib/plurimath/math/symbols/semicolon.rb +1 -1
  1165. data/lib/plurimath/math/symbols/seovnearrow.rb +1 -1
  1166. data/lib/plurimath/math/symbols/setminus.rb +1 -1
  1167. data/lib/plurimath/math/symbols/sharp.rb +1 -1
  1168. data/lib/plurimath/math/symbols/shortdowntack.rb +1 -1
  1169. data/lib/plurimath/math/symbols/shortlefttack.rb +1 -1
  1170. data/lib/plurimath/math/symbols/shortrightarrowleftarrow.rb +1 -1
  1171. data/lib/plurimath/math/symbols/shortuptack.rb +1 -1
  1172. data/lib/plurimath/math/symbols/shuffle.rb +1 -1
  1173. data/lib/plurimath/math/symbols/sigma.rb +1 -1
  1174. data/lib/plurimath/math/symbols/sim.rb +1 -1
  1175. data/lib/plurimath/math/symbols/simeq.rb +1 -1
  1176. data/lib/plurimath/math/symbols/simge.rb +1 -1
  1177. data/lib/plurimath/math/symbols/simgtr.rb +1 -1
  1178. data/lib/plurimath/math/symbols/similarleftarrow.rb +1 -1
  1179. data/lib/plurimath/math/symbols/similarrightarrow.rb +1 -1
  1180. data/lib/plurimath/math/symbols/simle.rb +1 -1
  1181. data/lib/plurimath/math/symbols/simless.rb +1 -1
  1182. data/lib/plurimath/math/symbols/simminussim.rb +1 -1
  1183. data/lib/plurimath/math/symbols/simneqq.rb +1 -1
  1184. data/lib/plurimath/math/symbols/simplus.rb +1 -1
  1185. data/lib/plurimath/math/symbols/simrdots.rb +1 -1
  1186. data/lib/plurimath/math/symbols/sixteenthnote.rb +1 -1
  1187. data/lib/plurimath/math/symbols/skull.rb +1 -1
  1188. data/lib/plurimath/math/symbols/slash.rb +1 -1
  1189. data/lib/plurimath/math/symbols/smallblacktriangleleft.rb +1 -1
  1190. data/lib/plurimath/math/symbols/smallblacktriangleright.rb +1 -1
  1191. data/lib/plurimath/math/symbols/smallin.rb +1 -1
  1192. data/lib/plurimath/math/symbols/smallni.rb +1 -1
  1193. data/lib/plurimath/math/symbols/smalltriangleleft.rb +1 -1
  1194. data/lib/plurimath/math/symbols/smalltriangleright.rb +1 -1
  1195. data/lib/plurimath/math/symbols/smashtimes.rb +1 -1
  1196. data/lib/plurimath/math/symbols/smblkcircle.rb +1 -1
  1197. data/lib/plurimath/math/symbols/smblkdiamond.rb +1 -1
  1198. data/lib/plurimath/math/symbols/smblklozenge.rb +1 -1
  1199. data/lib/plurimath/math/symbols/smblksquare.rb +1 -1
  1200. data/lib/plurimath/math/symbols/smeparsl.rb +1 -1
  1201. data/lib/plurimath/math/symbols/smile.rb +1 -1
  1202. data/lib/plurimath/math/symbols/smiley.rb +1 -1
  1203. data/lib/plurimath/math/symbols/smt.rb +1 -1
  1204. data/lib/plurimath/math/symbols/smte.rb +1 -1
  1205. data/lib/plurimath/math/symbols/smwhitestar.rb +1 -1
  1206. data/lib/plurimath/math/symbols/smwhtcircle.rb +1 -1
  1207. data/lib/plurimath/math/symbols/smwhtlozenge.rb +1 -1
  1208. data/lib/plurimath/math/symbols/smwhtsquare.rb +1 -1
  1209. data/lib/plurimath/math/symbols/space.rb +1 -1
  1210. data/lib/plurimath/math/symbols/spadesuit.rb +1 -1
  1211. data/lib/plurimath/math/symbols/spddot.rb +1 -1
  1212. data/lib/plurimath/math/symbols/sphat.rb +1 -1
  1213. data/lib/plurimath/math/symbols/sphericalangleup.rb +1 -1
  1214. data/lib/plurimath/math/symbols/spot.rb +1 -1
  1215. data/lib/plurimath/math/symbols/sprime.rb +1 -1
  1216. data/lib/plurimath/math/symbols/sptilde.rb +1 -1
  1217. data/lib/plurimath/math/symbols/sqcap.rb +1 -1
  1218. data/lib/plurimath/math/symbols/sqcup.rb +1 -1
  1219. data/lib/plurimath/math/symbols/sqint.rb +1 -1
  1220. data/lib/plurimath/math/symbols/sqlozenge.rb +1 -1
  1221. data/lib/plurimath/math/symbols/sqrtbottom.rb +1 -1
  1222. data/lib/plurimath/math/symbols/sqsubset.rb +1 -1
  1223. data/lib/plurimath/math/symbols/sqsubseteq.rb +1 -1
  1224. data/lib/plurimath/math/symbols/sqsubsetneq.rb +1 -1
  1225. data/lib/plurimath/math/symbols/sqsupset.rb +1 -1
  1226. data/lib/plurimath/math/symbols/sqsupseteq.rb +1 -1
  1227. data/lib/plurimath/math/symbols/square.rb +1 -1
  1228. data/lib/plurimath/math/symbols/squarebotblack.rb +1 -1
  1229. data/lib/plurimath/math/symbols/squarecrossfill.rb +1 -1
  1230. data/lib/plurimath/math/symbols/squarehfill.rb +1 -1
  1231. data/lib/plurimath/math/symbols/squarehvfill.rb +1 -1
  1232. data/lib/plurimath/math/symbols/squareleftblack.rb +1 -1
  1233. data/lib/plurimath/math/symbols/squarellblack.rb +1 -1
  1234. data/lib/plurimath/math/symbols/squarellquad.rb +1 -1
  1235. data/lib/plurimath/math/symbols/squarelrblack.rb +1 -1
  1236. data/lib/plurimath/math/symbols/squarelrquad.rb +1 -1
  1237. data/lib/plurimath/math/symbols/squareneswfill.rb +1 -1
  1238. data/lib/plurimath/math/symbols/squarenwsefill.rb +1 -1
  1239. data/lib/plurimath/math/symbols/squarerightblack.rb +1 -1
  1240. data/lib/plurimath/math/symbols/squaretopblack.rb +1 -1
  1241. data/lib/plurimath/math/symbols/squareulblack.rb +1 -1
  1242. data/lib/plurimath/math/symbols/squareulquad.rb +1 -1
  1243. data/lib/plurimath/math/symbols/squareurblack.rb +1 -1
  1244. data/lib/plurimath/math/symbols/squareurquad.rb +1 -1
  1245. data/lib/plurimath/math/symbols/squarevfill.rb +1 -1
  1246. data/lib/plurimath/math/symbols/squoval.rb +1 -1
  1247. data/lib/plurimath/math/symbols/sslash.rb +1 -1
  1248. data/lib/plurimath/math/symbols/star.rb +1 -1
  1249. data/lib/plurimath/math/symbols/stareq.rb +1 -1
  1250. data/lib/plurimath/math/symbols/steaming.rb +1 -1
  1251. data/lib/plurimath/math/symbols/stigma.rb +1 -1
  1252. data/lib/plurimath/math/symbols/strictfi.rb +1 -1
  1253. data/lib/plurimath/math/symbols/strictif.rb +1 -1
  1254. data/lib/plurimath/math/symbols/strns.rb +1 -1
  1255. data/lib/plurimath/math/symbols/sub.rb +1 -1
  1256. data/lib/plurimath/math/symbols/sube.rb +1 -1
  1257. data/lib/plurimath/math/symbols/subedot.rb +1 -1
  1258. data/lib/plurimath/math/symbols/submult.rb +1 -1
  1259. data/lib/plurimath/math/symbols/subrarr.rb +1 -1
  1260. data/lib/plurimath/math/symbols/subset.rb +1 -1
  1261. data/lib/plurimath/math/symbols/subsetapprox.rb +1 -1
  1262. data/lib/plurimath/math/symbols/subsetcirc.rb +1 -1
  1263. data/lib/plurimath/math/symbols/subsetdot.rb +1 -1
  1264. data/lib/plurimath/math/symbols/subseteq.rb +1 -1
  1265. data/lib/plurimath/math/symbols/subseteqq.rb +1 -1
  1266. data/lib/plurimath/math/symbols/subsetneq.rb +1 -1
  1267. data/lib/plurimath/math/symbols/subsetneqq.rb +1 -1
  1268. data/lib/plurimath/math/symbols/subsetplus.rb +1 -1
  1269. data/lib/plurimath/math/symbols/subsim.rb +1 -1
  1270. data/lib/plurimath/math/symbols/subsub.rb +1 -1
  1271. data/lib/plurimath/math/symbols/succ.rb +1 -1
  1272. data/lib/plurimath/math/symbols/succapprox.rb +1 -1
  1273. data/lib/plurimath/math/symbols/succcurlyeq.rb +1 -1
  1274. data/lib/plurimath/math/symbols/succeq.rb +1 -1
  1275. data/lib/plurimath/math/symbols/succeqq.rb +1 -1
  1276. data/lib/plurimath/math/symbols/succnapprox.rb +1 -1
  1277. data/lib/plurimath/math/symbols/succneq.rb +1 -1
  1278. data/lib/plurimath/math/symbols/succneqq.rb +1 -1
  1279. data/lib/plurimath/math/symbols/succnsim.rb +1 -1
  1280. data/lib/plurimath/math/symbols/succsim.rb +1 -1
  1281. data/lib/plurimath/math/symbols/sum.rb +9 -1
  1282. data/lib/plurimath/math/symbols/sumbottom.rb +1 -1
  1283. data/lib/plurimath/math/symbols/sumint.rb +1 -1
  1284. data/lib/plurimath/math/symbols/sumtop.rb +1 -1
  1285. data/lib/plurimath/math/symbols/sun.rb +1 -1
  1286. data/lib/plurimath/math/symbols/sup.rb +1 -1
  1287. data/lib/plurimath/math/symbols/supdsub.rb +1 -1
  1288. data/lib/plurimath/math/symbols/supe.rb +1 -1
  1289. data/lib/plurimath/math/symbols/supedot.rb +1 -1
  1290. data/lib/plurimath/math/symbols/suphsol.rb +1 -1
  1291. data/lib/plurimath/math/symbols/suphsub.rb +1 -1
  1292. data/lib/plurimath/math/symbols/suplarr.rb +1 -1
  1293. data/lib/plurimath/math/symbols/supmult.rb +1 -1
  1294. data/lib/plurimath/math/symbols/supset.rb +1 -1
  1295. data/lib/plurimath/math/symbols/supsetapprox.rb +1 -1
  1296. data/lib/plurimath/math/symbols/supsetcirc.rb +1 -1
  1297. data/lib/plurimath/math/symbols/supsetdot.rb +1 -1
  1298. data/lib/plurimath/math/symbols/supseteq.rb +1 -1
  1299. data/lib/plurimath/math/symbols/supseteqq.rb +1 -1
  1300. data/lib/plurimath/math/symbols/supsetneq.rb +1 -1
  1301. data/lib/plurimath/math/symbols/supsetneqq.rb +1 -1
  1302. data/lib/plurimath/math/symbols/supsetplus.rb +1 -1
  1303. data/lib/plurimath/math/symbols/supsim.rb +1 -1
  1304. data/lib/plurimath/math/symbols/supsub.rb +1 -1
  1305. data/lib/plurimath/math/symbols/supsup.rb +1 -1
  1306. data/lib/plurimath/math/symbols/swarrow.rb +1 -1
  1307. data/lib/plurimath/math/symbols/swords.rb +1 -1
  1308. data/lib/plurimath/math/symbols/symbol.rb +6 -21
  1309. data/lib/plurimath/math/symbols/talloblong.rb +1 -1
  1310. data/lib/plurimath/math/symbols/tau.rb +1 -1
  1311. data/lib/plurimath/math/symbols/taurus.rb +1 -1
  1312. data/lib/plurimath/math/symbols/tcmu.rb +1 -1
  1313. data/lib/plurimath/math/symbols/tcohm.rb +1 -1
  1314. data/lib/plurimath/math/symbols/therefore.rb +1 -1
  1315. data/lib/plurimath/math/symbols/thermod.rb +1 -1
  1316. data/lib/plurimath/math/symbols/theta.rb +7 -7
  1317. data/lib/plurimath/math/symbols/third.rb +1 -1
  1318. data/lib/plurimath/math/symbols/threedangle.rb +1 -1
  1319. data/lib/plurimath/math/symbols/threedotcolon.rb +1 -1
  1320. data/lib/plurimath/math/symbols/threeunderdot.rb +1 -1
  1321. data/lib/plurimath/math/symbols/tieinfty.rb +1 -1
  1322. data/lib/plurimath/math/symbols/tilde.rb +1 -1
  1323. data/lib/plurimath/math/symbols/times.rb +1 -1
  1324. data/lib/plurimath/math/symbols/timesbar.rb +1 -1
  1325. data/lib/plurimath/math/symbols/tinj.rb +1 -1
  1326. data/lib/plurimath/math/symbols/tminus.rb +1 -1
  1327. data/lib/plurimath/math/symbols/to.rb +1 -1
  1328. data/lib/plurimath/math/symbols/toea.rb +1 -1
  1329. data/lib/plurimath/math/symbols/tona.rb +1 -1
  1330. data/lib/plurimath/math/symbols/top.rb +1 -1
  1331. data/lib/plurimath/math/symbols/topbot.rb +1 -1
  1332. data/lib/plurimath/math/symbols/topcir.rb +1 -1
  1333. data/lib/plurimath/math/symbols/topfork.rb +1 -1
  1334. data/lib/plurimath/math/symbols/topsemicircle.rb +1 -1
  1335. data/lib/plurimath/math/symbols/tosa.rb +1 -1
  1336. data/lib/plurimath/math/symbols/towa.rb +1 -1
  1337. data/lib/plurimath/math/symbols/tplus.rb +1 -1
  1338. data/lib/plurimath/math/symbols/trapezium.rb +1 -1
  1339. data/lib/plurimath/math/symbols/triangle.rb +1 -1
  1340. data/lib/plurimath/math/symbols/trianglecdot.rb +1 -1
  1341. data/lib/plurimath/math/symbols/triangledown.rb +1 -1
  1342. data/lib/plurimath/math/symbols/triangleleftblack.rb +1 -1
  1343. data/lib/plurimath/math/symbols/triangleminus.rb +1 -1
  1344. data/lib/plurimath/math/symbols/triangleodot.rb +1 -1
  1345. data/lib/plurimath/math/symbols/triangleplus.rb +1 -1
  1346. data/lib/plurimath/math/symbols/trianglerightblack.rb +1 -1
  1347. data/lib/plurimath/math/symbols/triangles.rb +1 -1
  1348. data/lib/plurimath/math/symbols/triangleserifs.rb +1 -1
  1349. data/lib/plurimath/math/symbols/triangletimes.rb +1 -1
  1350. data/lib/plurimath/math/symbols/triangleubar.rb +1 -1
  1351. data/lib/plurimath/math/symbols/tripleplus.rb +1 -1
  1352. data/lib/plurimath/math/symbols/trslash.rb +1 -1
  1353. data/lib/plurimath/math/symbols/tsur.rb +1 -1
  1354. data/lib/plurimath/math/symbols/tt.rb +1 -1
  1355. data/lib/plurimath/math/symbols/turnangle.rb +1 -1
  1356. data/lib/plurimath/math/symbols/turnediota.rb +1 -1
  1357. data/lib/plurimath/math/symbols/turnednot.rb +1 -1
  1358. data/lib/plurimath/math/symbols/twocaps.rb +1 -1
  1359. data/lib/plurimath/math/symbols/twocups.rb +1 -1
  1360. data/lib/plurimath/math/symbols/twoheaddownarrow.rb +1 -1
  1361. data/lib/plurimath/math/symbols/twoheadleftarrow.rb +1 -1
  1362. data/lib/plurimath/math/symbols/twoheadleftarrowtail.rb +1 -1
  1363. data/lib/plurimath/math/symbols/twoheadleftdbkarrow.rb +1 -1
  1364. data/lib/plurimath/math/symbols/twoheadmapsfrom.rb +1 -1
  1365. data/lib/plurimath/math/symbols/twoheadmapsto.rb +1 -1
  1366. data/lib/plurimath/math/symbols/twoheadrightarrow.rb +1 -1
  1367. data/lib/plurimath/math/symbols/twoheadrightarrowtail.rb +1 -1
  1368. data/lib/plurimath/math/symbols/twoheaduparrow.rb +1 -1
  1369. data/lib/plurimath/math/symbols/twoheaduparrowcircle.rb +1 -1
  1370. data/lib/plurimath/math/symbols/twolowline.rb +1 -1
  1371. data/lib/plurimath/math/symbols/twonotes.rb +1 -1
  1372. data/lib/plurimath/math/symbols/typecolon.rb +1 -1
  1373. data/lib/plurimath/math/symbols/uarr.rb +1 -1
  1374. data/lib/plurimath/math/symbols/ubrace.rb +1 -1
  1375. data/lib/plurimath/math/symbols/ubrbrak.rb +1 -1
  1376. data/lib/plurimath/math/symbols/ul.rb +1 -1
  1377. data/lib/plurimath/math/symbols/ularc.rb +1 -1
  1378. data/lib/plurimath/math/symbols/ulblacktriangle.rb +1 -1
  1379. data/lib/plurimath/math/symbols/ulcorner.rb +1 -1
  1380. data/lib/plurimath/math/symbols/ultriangle.rb +1 -1
  1381. data/lib/plurimath/math/symbols/uminus.rb +1 -1
  1382. data/lib/plurimath/math/symbols/underbar.rb +1 -1
  1383. data/lib/plurimath/math/symbols/underbracket.rb +1 -1
  1384. data/lib/plurimath/math/symbols/underleftarrow.rb +1 -1
  1385. data/lib/plurimath/math/symbols/underleftharpoondown.rb +1 -1
  1386. data/lib/plurimath/math/symbols/underline.rb +1 -1
  1387. data/lib/plurimath/math/symbols/underparen.rb +1 -1
  1388. data/lib/plurimath/math/symbols/underrightarrow.rb +1 -1
  1389. data/lib/plurimath/math/symbols/underrightharpoondown.rb +1 -1
  1390. data/lib/plurimath/math/symbols/unicodecdots.rb +1 -1
  1391. data/lib/plurimath/math/symbols/unicodeellipsis.rb +1 -1
  1392. data/lib/plurimath/math/symbols/unlhd.rb +1 -1
  1393. data/lib/plurimath/math/symbols/unrhd.rb +1 -1
  1394. data/lib/plurimath/math/symbols/upalpha.rb +1 -1
  1395. data/lib/plurimath/math/symbols/upand.rb +1 -1
  1396. data/lib/plurimath/math/symbols/uparrow.rb +1 -1
  1397. data/lib/plurimath/math/symbols/uparrowbarred.rb +1 -1
  1398. data/lib/plurimath/math/symbols/uparrowoncircle.rb +1 -1
  1399. data/lib/plurimath/math/symbols/upbeta.rb +1 -1
  1400. data/lib/plurimath/math/symbols/upcase_cap.rb +1 -1
  1401. data/lib/plurimath/math/symbols/upcase_dd.rb +48 -0
  1402. data/lib/plurimath/math/symbols/upcase_delta.rb +1 -1
  1403. data/lib/plurimath/math/symbols/upcase_equiv.rb +1 -1
  1404. data/lib/plurimath/math/symbols/upcase_gamma.rb +1 -1
  1405. data/lib/plurimath/math/symbols/upcase_lambda.rb +1 -1
  1406. data/lib/plurimath/math/symbols/upcase_mapsto.rb +1 -1
  1407. data/lib/plurimath/math/symbols/upcase_omega.rb +1 -1
  1408. data/lib/plurimath/math/symbols/upcase_phi.rb +1 -1
  1409. data/lib/plurimath/math/symbols/upcase_pi.rb +1 -1
  1410. data/lib/plurimath/math/symbols/upcase_psi.rb +1 -1
  1411. data/lib/plurimath/math/symbols/upcase_rbrack.rb +1 -1
  1412. data/lib/plurimath/math/symbols/upcase_rightarrow.rb +1 -1
  1413. data/lib/plurimath/math/symbols/upcase_sigma.rb +1 -1
  1414. data/lib/plurimath/math/symbols/upcase_theta.rb +1 -1
  1415. data/lib/plurimath/math/symbols/upcase_wedge.rb +1 -1
  1416. data/lib/plurimath/math/symbols/upcase_xi.rb +1 -1
  1417. data/lib/plurimath/math/symbols/upcaseup_omega.rb +1 -1
  1418. data/lib/plurimath/math/symbols/upchi.rb +1 -1
  1419. data/lib/plurimath/math/symbols/updasharrow.rb +1 -1
  1420. data/lib/plurimath/math/symbols/updownarrow.rb +1 -1
  1421. data/lib/plurimath/math/symbols/updownarrowbar.rb +1 -1
  1422. data/lib/plurimath/math/symbols/updownarrows.rb +1 -1
  1423. data/lib/plurimath/math/symbols/updownharpoonleftright.rb +1 -1
  1424. data/lib/plurimath/math/symbols/updownharpoonrightleft.rb +1 -1
  1425. data/lib/plurimath/math/symbols/upepsilon.rb +1 -1
  1426. data/lib/plurimath/math/symbols/upequilibrium.rb +1 -1
  1427. data/lib/plurimath/math/symbols/upeta.rb +1 -1
  1428. data/lib/plurimath/math/symbols/upfishtail.rb +1 -1
  1429. data/lib/plurimath/math/symbols/upharpoonleft.rb +1 -1
  1430. data/lib/plurimath/math/symbols/upin.rb +1 -1
  1431. data/lib/plurimath/math/symbols/upint.rb +1 -1
  1432. data/lib/plurimath/math/symbols/upiota.rb +1 -1
  1433. data/lib/plurimath/math/symbols/upkappa.rb +1 -1
  1434. data/lib/plurimath/math/symbols/upkoppa.rb +1 -1
  1435. data/lib/plurimath/math/symbols/upmu.rb +1 -1
  1436. data/lib/plurimath/math/symbols/upnu.rb +1 -1
  1437. data/lib/plurimath/math/symbols/upomicron.rb +1 -1
  1438. data/lib/plurimath/math/symbols/uprho.rb +1 -1
  1439. data/lib/plurimath/math/symbols/uprightcurvearrow.rb +1 -1
  1440. data/lib/plurimath/math/symbols/upsilon.rb +1 -1
  1441. data/lib/plurimath/math/symbols/uptau.rb +1 -1
  1442. data/lib/plurimath/math/symbols/upuparrows.rb +1 -1
  1443. data/lib/plurimath/math/symbols/upupharpoons.rb +1 -1
  1444. data/lib/plurimath/math/symbols/upvarsigma.rb +1 -1
  1445. data/lib/plurimath/math/symbols/upvartheta.rb +1 -1
  1446. data/lib/plurimath/math/symbols/upwhitearrow.rb +1 -1
  1447. data/lib/plurimath/math/symbols/upzeta.rb +1 -1
  1448. data/lib/plurimath/math/symbols/uranus.rb +1 -1
  1449. data/lib/plurimath/math/symbols/urarc.rb +1 -1
  1450. data/lib/plurimath/math/symbols/urblacktriangle.rb +1 -1
  1451. data/lib/plurimath/math/symbols/urcorner.rb +1 -1
  1452. data/lib/plurimath/math/symbols/urtriangle.rb +1 -1
  1453. data/lib/plurimath/math/symbols/utilde.rb +1 -1
  1454. data/lib/plurimath/math/symbols/uu.rb +1 -5
  1455. data/lib/plurimath/math/symbols/uuparrow.rb +1 -1
  1456. data/lib/plurimath/math/symbols/uuu.rb +18 -2
  1457. data/lib/plurimath/math/symbols/varbarwedge.rb +1 -1
  1458. data/lib/plurimath/math/symbols/varbeta.rb +1 -1
  1459. data/lib/plurimath/math/symbols/varcarriagereturn.rb +1 -1
  1460. data/lib/plurimath/math/symbols/varclub.rb +1 -1
  1461. data/lib/plurimath/math/symbols/vardiamond.rb +1 -1
  1462. data/lib/plurimath/math/symbols/vardoublebarwedge.rb +1 -1
  1463. data/lib/plurimath/math/symbols/varepsilon.rb +1 -1
  1464. data/lib/plurimath/math/symbols/varheart.rb +1 -1
  1465. data/lib/plurimath/math/symbols/varhexagon.rb +1 -1
  1466. data/lib/plurimath/math/symbols/varhexagonblack.rb +1 -1
  1467. data/lib/plurimath/math/symbols/varhexagonlrbonds.rb +1 -1
  1468. data/lib/plurimath/math/symbols/varisins.rb +1 -1
  1469. data/lib/plurimath/math/symbols/varkappa.rb +1 -1
  1470. data/lib/plurimath/math/symbols/varlrtriangle.rb +1 -1
  1471. data/lib/plurimath/math/symbols/varniobar.rb +1 -1
  1472. data/lib/plurimath/math/symbols/varnis.rb +1 -1
  1473. data/lib/plurimath/math/symbols/varnothing.rb +1 -1
  1474. data/lib/plurimath/math/symbols/varphi.rb +1 -1
  1475. data/lib/plurimath/math/symbols/varpi.rb +1 -1
  1476. data/lib/plurimath/math/symbols/varprod.rb +1 -1
  1477. data/lib/plurimath/math/symbols/varrho.rb +1 -1
  1478. data/lib/plurimath/math/symbols/varsigma.rb +1 -1
  1479. data/lib/plurimath/math/symbols/varspade.rb +1 -1
  1480. data/lib/plurimath/math/symbols/varstar.rb +1 -1
  1481. data/lib/plurimath/math/symbols/vartheta.rb +1 -1
  1482. data/lib/plurimath/math/symbols/vartriangle.rb +1 -1
  1483. data/lib/plurimath/math/symbols/vartriangleleft.rb +1 -1
  1484. data/lib/plurimath/math/symbols/vartriangleright.rb +1 -1
  1485. data/lib/plurimath/math/symbols/varvdash.rb +1 -1
  1486. data/lib/plurimath/math/symbols/varveebar.rb +1 -1
  1487. data/lib/plurimath/math/symbols/vbar.rb +1 -1
  1488. data/lib/plurimath/math/symbols/vbarv.rb +1 -1
  1489. data/lib/plurimath/math/symbols/vbraceextender.rb +1 -1
  1490. data/lib/plurimath/math/symbols/vbrtri.rb +1 -1
  1491. data/lib/plurimath/math/symbols/vdash.rb +1 -1
  1492. data/lib/plurimath/math/symbols/vddash.rb +1 -1
  1493. data/lib/plurimath/math/symbols/vdots.rb +1 -1
  1494. data/lib/plurimath/math/symbols/vec.rb +1 -1
  1495. data/lib/plurimath/math/symbols/vectimes.rb +1 -1
  1496. data/lib/plurimath/math/symbols/vee.rb +1 -1
  1497. data/lib/plurimath/math/symbols/veebar.rb +1 -1
  1498. data/lib/plurimath/math/symbols/veedot.rb +1 -1
  1499. data/lib/plurimath/math/symbols/veedoublebar.rb +1 -1
  1500. data/lib/plurimath/math/symbols/veeeq.rb +1 -1
  1501. data/lib/plurimath/math/symbols/veemidvert.rb +1 -1
  1502. data/lib/plurimath/math/symbols/veeodot.rb +1 -1
  1503. data/lib/plurimath/math/symbols/veeonvee.rb +1 -1
  1504. data/lib/plurimath/math/symbols/veeonwedge.rb +1 -1
  1505. data/lib/plurimath/math/symbols/venus.rb +1 -1
  1506. data/lib/plurimath/math/symbols/vertoverlay.rb +1 -1
  1507. data/lib/plurimath/math/symbols/viewdata.rb +1 -1
  1508. data/lib/plurimath/math/symbols/virgo.rb +1 -1
  1509. data/lib/plurimath/math/symbols/vlongdash.rb +1 -1
  1510. data/lib/plurimath/math/symbols/vrectangle.rb +1 -1
  1511. data/lib/plurimath/math/symbols/vrectangleblack.rb +1 -1
  1512. data/lib/plurimath/math/symbols/vv.rb +1 -1
  1513. data/lib/plurimath/math/symbols/vvdash.rb +1 -1
  1514. data/lib/plurimath/math/symbols/vvv.rb +18 -2
  1515. data/lib/plurimath/math/symbols/vysmblkcircle.rb +1 -1
  1516. data/lib/plurimath/math/symbols/vysmblksquare.rb +1 -1
  1517. data/lib/plurimath/math/symbols/vysmwhtcircle.rb +1 -1
  1518. data/lib/plurimath/math/symbols/vysmwhtsquare.rb +1 -1
  1519. data/lib/plurimath/math/symbols/vzigzag.rb +1 -1
  1520. data/lib/plurimath/math/symbols/warning.rb +1 -1
  1521. data/lib/plurimath/math/symbols/wasytherefore.rb +1 -1
  1522. data/lib/plurimath/math/symbols/wedge.rb +1 -1
  1523. data/lib/plurimath/math/symbols/wedgebar.rb +1 -1
  1524. data/lib/plurimath/math/symbols/wedgedot.rb +1 -1
  1525. data/lib/plurimath/math/symbols/wedgedoublebar.rb +1 -1
  1526. data/lib/plurimath/math/symbols/wedgemidvert.rb +1 -1
  1527. data/lib/plurimath/math/symbols/wedgeodot.rb +1 -1
  1528. data/lib/plurimath/math/symbols/wedgeonwedge.rb +1 -1
  1529. data/lib/plurimath/math/symbols/whitearrowupfrombar.rb +1 -1
  1530. data/lib/plurimath/math/symbols/whiteinwhitetriangle.rb +1 -1
  1531. data/lib/plurimath/math/symbols/whitepointerleft.rb +1 -1
  1532. data/lib/plurimath/math/symbols/whitepointerright.rb +1 -1
  1533. data/lib/plurimath/math/symbols/whitesquaretickleft.rb +1 -1
  1534. data/lib/plurimath/math/symbols/whitesquaretickright.rb +1 -1
  1535. data/lib/plurimath/math/symbols/whthorzoval.rb +1 -1
  1536. data/lib/plurimath/math/symbols/whtvertoval.rb +1 -1
  1537. data/lib/plurimath/math/symbols/wideangledown.rb +1 -1
  1538. data/lib/plurimath/math/symbols/wideangleup.rb +1 -1
  1539. data/lib/plurimath/math/symbols/widebridgeabove.rb +1 -1
  1540. data/lib/plurimath/math/symbols/wideparen.rb +1 -1
  1541. data/lib/plurimath/math/symbols/wp.rb +1 -1
  1542. data/lib/plurimath/math/symbols/wr.rb +1 -1
  1543. data/lib/plurimath/math/symbols/xbox.rb +1 -1
  1544. data/lib/plurimath/math/symbols/xi.rb +1 -1
  1545. data/lib/plurimath/math/symbols/xsol.rb +1 -1
  1546. data/lib/plurimath/math/symbols/xx.rb +1 -1
  1547. data/lib/plurimath/math/symbols/yen.rb +1 -1
  1548. data/lib/plurimath/math/symbols/yinyang.rb +1 -1
  1549. data/lib/plurimath/math/symbols/yup.rb +1 -1
  1550. data/lib/plurimath/math/symbols/zbar.rb +1 -1
  1551. data/lib/plurimath/math/symbols/zeta.rb +1 -1
  1552. data/lib/plurimath/math/symbols/zpipe.rb +1 -1
  1553. data/lib/plurimath/math/symbols/zwnj.rb +1 -1
  1554. data/lib/plurimath/math/symbols/zwsp.rb +1 -1
  1555. data/lib/plurimath/math/symbols/zz.rb +1 -1
  1556. data/lib/plurimath/mathml/parser.rb +1 -0
  1557. data/lib/plurimath/mathml/transform.rb +1 -0
  1558. data/lib/plurimath/number_formatter.rb +7 -0
  1559. data/lib/plurimath/unicode_math/constants.rb +9 -1
  1560. data/lib/plurimath/unicode_math/parse.rb +20 -2
  1561. data/lib/plurimath/unicode_math/parsing_rules/absence_rules.rb +1 -0
  1562. data/lib/plurimath/unicode_math/parsing_rules/common_rules.rb +11 -3
  1563. data/lib/plurimath/unicode_math/parsing_rules/constants_rules.rb +32 -9
  1564. data/lib/plurimath/unicode_math/parsing_rules/sub_sup.rb +7 -6
  1565. data/lib/plurimath/unicode_math/transform.rb +206 -41
  1566. data/lib/plurimath/utility/intent_encoding.rb +301 -0
  1567. data/lib/plurimath/utility.rb +15 -7
  1568. data/lib/plurimath/version.rb +1 -1
  1569. data/lib/plurimath/xml_engine/ox/element.rb +3 -1
  1570. data/plurimath.gemspec +1 -0
  1571. metadata +23 -4
  1572. data/lib/plurimath/math/symbols/del.rb +0 -41
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 896215930a897878dac674f1be1092b3c6e8f330e20ffe218421b01e0aa98cbc
4
- data.tar.gz: ad8d176647c84540c11f8ed736e5e816ec88cf65d029b605cf280e326ea7c91a
3
+ metadata.gz: 4c68ac69d198de23d6a021dd5d33b68cd942f95de739f92d870e70826445da59
4
+ data.tar.gz: 361960657e4a8a5e38a11b237744e33b9f7aa5c5eced8582f9ec9de1ca95a7b0
5
5
  SHA512:
6
- metadata.gz: 2414d5501af2bd824d56e0557132ec650eb3bddfa44180e6d2561ae11f976d2c0edffc90bc00d9d442e41b31d5c2c900c9f5e16fad770b2717810ea79f2470aa
7
- data.tar.gz: 124779151cac821ea29ed9d3cd12f61bd41efb1273e9912cb92377e7ee4d4854ca91906838c8cedd540f76fc8a5c9b17256651bd933bffe582ee026cc6609c8b
6
+ metadata.gz: 8e5af5caafefef2bde39dd2330b8291bce8a3831f891141360fb5b15c6c170576023551d3aa284b08026ae2a70d67ff43a268c12002502b72387521fde0c8b78
7
+ data.tar.gz: 34f049ad3c1c8ce77b9abfe0def2c29ca20c06876b0ed81f92096837d10d0e1a2fd8bf51cb5c99b73e6eb3733f7a6635ab8200406cd71cbc8278c0faaa5ce672
data/README.adoc CHANGED
@@ -61,16 +61,91 @@ Or install it yourself with:
61
61
  $ gem install plurimath
62
62
  ----
63
63
 
64
- == Usage
64
+ == Command Line Interface (CLI) usage
65
+
66
+ === General
67
+
68
+ Plurimath provides a Command Line Interface (CLI) tool for converting between
69
+ different math formats.
70
+
71
+ NOTE: Before continuing please ensure you have the gem installed.
72
+
73
+ To convert math equations between formats, use the following command followed by
74
+ appropriate options.
75
+
76
+ [source,bash]
77
+ ----
78
+ plurimath convert [options]
79
+ ----
80
+
81
+ Options available are:
82
+
83
+ `-i`, `--input <INPUT>`::
84
+ Specifies the input math equation. Should be provided within double quotes.
85
+
86
+ `-f`, `--input-format <FORMAT>`::
87
+ Specifies the input format of the equation. Defaults to `asciimath`.
88
+
89
+ `-p`, `--file-path <FILE_PATH>`::
90
+ Reads input from a file instead of the command line input. Use this for larger
91
+ inputs or when input contains special characters.
92
+
93
+ `-t`, `--output-format <FORMAT>`::
94
+ Specifies the output format type. Defaults to `mathml`.
95
+
96
+ `-m`, `--math-rendering`::
97
+ Renders the converted equation as a math zone display tree. Boolean option
98
+ (`true`, `false`).
99
+
100
+ `-d`, `--display-style`::
101
+ Specifies the DisplayStyle for OMML and MathML outputs only. Boolean option
102
+ (`true`, `false`).
103
+
104
+ `-s`, `--split-on-linebreak`::
105
+ Splits MathML and OMML output into multiple equations. Boolean option (`true`,
106
+ `false`).
107
+
108
+
109
+ === Convert an AsciiMath equation to MathML
110
+
111
+ [source,bash]
112
+ ----
113
+ plurimath convert -i "sqrt(x^2 + y^2)" -f asciimath -t mathml
114
+ ----
115
+
116
+ === Convert an OMML equation to MathML with DisplayStyle
117
+
118
+ [source,bash]
119
+ ----
120
+ plurimath convert -i "equation" -f omml -t mathml -d true
121
+ ----
122
+
123
+ === Convert equations from a file and output as UnicodeMath
124
+
125
+ [source,bash]
126
+ ----
127
+ plurimath convert -e <file_path> -t unicodemath
128
+ ----
129
+
130
+ For more detailed information and additional options, use:
131
+
132
+ [source,bash]
133
+ ----
134
+ plurimath help convert
135
+ ----
136
+
137
+
138
+ == Ruby API
139
+
65
140
 
66
141
  The central data model in Plurimath is the `Plurimath::Formula` class, which
67
142
  allows you to transform any math representation language into any other
68
143
  representation language.
69
144
 
70
145
 
71
- === Conversion Examples
146
+ === Conversion examples
72
147
 
73
- ==== AsciiMath Formula Example
148
+ ==== AsciiMath Formula example
74
149
 
75
150
  [source,ruby]
76
151
  ----
@@ -78,7 +153,7 @@ asciimath = "sin(1)"
78
153
  formula = Plurimath::Math.parse(asciimath, :asciimath)
79
154
  ----
80
155
 
81
- ==== MathML Formula Example
156
+ ==== MathML Formula example
82
157
 
83
158
  [source,ruby]
84
159
  ----
@@ -93,7 +168,7 @@ MATHML
93
168
  formula = Plurimath::Math.parse(mathml, :mathml)
94
169
  ----
95
170
 
96
- ==== LaTeX Formula Example
171
+ ==== LaTeX Formula example
97
172
 
98
173
  [source,ruby]
99
174
  ----
@@ -101,7 +176,7 @@ latex = "\\sin{1}"
101
176
  formula = Plurimath::Math.parse(latex, :latex)
102
177
  ----
103
178
 
104
- ==== UnicodeMath Formula Example
179
+ ==== UnicodeMath Formula example
105
180
 
106
181
  [source,ruby]
107
182
  ----
@@ -109,7 +184,7 @@ unicodemath = "sin(1)"
109
184
  formula = Plurimath::Math.parse(unicodemath, :unicodemath)
110
185
  ----
111
186
 
112
- ==== OMML Formula Example
187
+ ==== OMML Formula example
113
188
 
114
189
  [source,ruby]
115
190
  ----
@@ -137,13 +212,14 @@ OMML
137
212
  formula = Plurimath::Math.parse(omml, :omml)
138
213
  ----
139
214
 
140
- === Converting to Other Formats
215
+
216
+ === Converting to other formats
141
217
 
142
218
  Once you have a `Plurimath::Math::Formula` object, you can convert it to
143
219
  AsciiMath, MathML, LaTeX, UnicodeMath, or OMML by calling the respective
144
220
  conversion function on the `Formula` object.
145
221
 
146
- ==== AsciiMath Output Conversion
222
+ ==== AsciiMath output conversion
147
223
 
148
224
  [source,ruby]
149
225
  ----
@@ -157,7 +233,7 @@ that LaTeX does. During conversion from LaTeX to AsciiMath, if a symbol is not
157
233
  supported in AsciiMath, the LaTeX symbol will be returned.
158
234
 
159
235
 
160
- ==== LaTeX Output Conversion
236
+ ==== LaTeX output conversion
161
237
 
162
238
  [source,ruby]
163
239
  ----
@@ -165,7 +241,7 @@ formula.to_latex
165
241
  # => "\\sin1"
166
242
  ----
167
243
 
168
- ==== MathML Output Conversion
244
+ ==== MathML output conversion
169
245
 
170
246
  [source,ruby]
171
247
  ----
@@ -173,7 +249,7 @@ formula.to_mathml
173
249
  # => "<math xmlns='http://www.w3.org/1998/Math/MathML'><mstyle displaystyle='true'><mi>sin</mi><mn>1</mn></mstyle></math>"
174
250
  ----
175
251
 
176
- ==== UnicodeMath Output Conversion
252
+ ==== UnicodeMath output conversion
177
253
 
178
254
  [source,ruby]
179
255
  ----
@@ -181,7 +257,7 @@ formula.to_unicodemath
181
257
  # => "sin(1)"
182
258
  ----
183
259
 
184
- ==== OMML Output Conversion
260
+ ==== OMML output conversion
185
261
 
186
262
  [source,ruby]
187
263
  ----
@@ -189,7 +265,8 @@ formula.to_omml
189
265
  # => "<m:oMathPara xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\"><m:oMath><m:f><m:fPr><m:ctrlPr /></m:fPr><m:num><m:r><m:t>sin</m:t></m:r></m:num><m:den><m:r><m:t>1</m:t></m:r></m:den></m:f></m:oMath></m:oMathPara>"
190
266
  ----
191
267
 
192
- == Handling Complex Mathematical Expressions
268
+
269
+ ==== Complex mathematical expressions
193
270
 
194
271
  Plurimath is capable of handling complex mathematical expressions with nested
195
272
  functions and operators.
@@ -197,9 +274,7 @@ functions and operators.
197
274
  This feature is particularly useful for application that requires consistent and
198
275
  accurate conversion of intricate mathematical content.
199
276
 
200
- === Example of a Complex Expression
201
-
202
- Consider the following complex LaTeX expression:
277
+ Example. Consider the following complex LaTeX expression:
203
278
 
204
279
  [source,latex]
205
280
  ----
@@ -232,13 +307,14 @@ omml = formula.to_omml
232
307
 
233
308
 
234
309
 
310
+ == Math parse trees
235
311
 
236
- == Displaying the Math Parse Tree
312
+ === General
237
313
 
238
314
  Plurimath allows you to display the math parse tree both as `Formula` objects
239
315
  and in the math language of expression.
240
316
 
241
- === Displaying as Formula Objects
317
+ === Displaying as Formula objects
242
318
 
243
319
  You can display the parse tree as `Formula` objects to understand the structure
244
320
  of the parsed mathematical expression.
@@ -246,14 +322,11 @@ of the parsed mathematical expression.
246
322
  [source,ruby]
247
323
  ----
248
324
  formula = Plurimath::Math.parse("sin(1)", :asciimath)
249
- formula.to_display(:asciimath)
250
- # |_ Math zone
251
- # |_ "sin(1)"
252
- # |_ "sin" function apply
253
- # |_ "1" argument
325
+ formula.to_display(:formula)
326
+ # ...
254
327
  ----
255
328
 
256
- === Displaying in the Math Language of Expression
329
+ === Displaying in the math language of expression
257
330
 
258
331
  You can also display the parse tree in the math language of expression to see
259
332
  how the expression is represented in that language.
@@ -261,11 +334,25 @@ how the expression is represented in that language.
261
334
  [source,ruby]
262
335
  ----
263
336
  formula = Plurimath::Math.parse("sin(1)", :asciimath)
337
+ formula.to_display(:asciimath)
338
+ # |_ Math zone
339
+ # |_ "sin(1)"
340
+ # |_ "sin" function apply
341
+ # |_ "1" argument
342
+
264
343
  formula.to_display(:latex)
265
344
  # |_ Math zone
266
345
  # |_ "\\sin1"
267
346
  # |_ "sin" function apply
268
347
  # |_ "1" argument
348
+
349
+ formula.to_display(:mathml)
350
+ # |_ Math zone
351
+ # |_ "<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mstyle displaystyle="true"><mrow><mi>sin</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></mstyle></math>"
352
+ # |_ "<mrow><mi>sin</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>" function apply
353
+ # |_ "sin" function name
354
+ # |_ "<mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow>" argument
355
+ # |_ "<mtext>1</mtext>" text
269
356
  ----
270
357
 
271
358
  // == Integration
@@ -311,11 +398,11 @@ h = 6.62607015 xx 10^(-34) "unitsml(kg*m^2*s^(-1))"
311
398
 
312
399
  ==== Step-by-Step Customization
313
400
 
314
- . **Parse the UnitsML Expression**
315
- . **Customize and Convert to AsciiMath**
316
- . **Customize and Convert to MathML**
317
- . **Customize and Convert to UnicodeMath**
318
- . **Customize and Convert to OMML**
401
+ . Parse the UnitsML Expression
402
+ . Customize and Convert to AsciiMath
403
+ . Customize and Convert to MathML
404
+ . Customize and Convert to UnicodeMath
405
+ . Customize and Convert to OMML
319
406
 
320
407
  ==== Parse the UnitsML Expression
321
408
 
@@ -341,7 +428,7 @@ puts asciimath
341
428
  # Output: 'h = 6.62607015 xx 10^(-34) "unitsml(kg*m^2*s^(-1))"'
342
429
  ----
343
430
 
344
- ==== Customize and Convert to MathML
431
+ ==== Customize and convert to MathML
345
432
 
346
433
  To customize the MathML output, you can use additional attributes and options:
347
434
 
@@ -353,7 +440,7 @@ puts mathml
353
440
  # Output: "<math xmlns='http://www.w3.org/1998/Math/MathML'><mrow><mi>h</mi><mo>=</mo><mn>6.62607015</mn><mo>×</mo><msup><mn>10</mn><mrow><mo>−</mo><mn>34</mn></mrow></msup><mtext>kg·m²·s⁻¹</mtext></mrow></math>"
354
441
  ----
355
442
 
356
- ==== Customize and Convert to UnicodeMath
443
+ ==== Customize and convert to UnicodeMath
357
444
 
358
445
  Similarly, customize the UnicodeMath output:
359
446
 
@@ -365,7 +452,7 @@ puts unicodemath
365
452
  # Output: 'h = 6.62607015 × 10^(−34) kg·m²·s⁻¹'
366
453
  ----
367
454
 
368
- ==== Customize and Convert to OMML
455
+ ==== Customize and convert to OMML
369
456
 
370
457
  For OMML output, you can customize the XML structure:
371
458
 
@@ -377,7 +464,7 @@ puts omml
377
464
  # Output: "<m:oMathPara xmlns:m='http://schemas.openxmlformats.org/officeDocument/2006/math'><m:oMath><m:r><m:t>h</m:t></m:r><m:r><m:t>=</m:t></m:r><m:r><m:t>6.62607015</m:t></m:r><m:r><m:t>×</m:t></m:r><m:sSup><m:sSupPr><m:ctrlPr /></m:sSupPr><m:e><m:r><m:t>10</m:t></m:r></m:e><m:sup><m:r><m:t>−34</m:t></m:r></m:sup></m:sSup><m:r><m:t>kg·m²·s⁻¹</m:t></m:r></m:oMath></m:oMathPara>"
378
465
  ----
379
466
 
380
- === Complete Example Code with Customization
467
+ === Complete example code with customization
381
468
 
382
469
  Here's the complete code for parsing, converting, and customizing the UnitsML
383
470
  expression between different formats:
@@ -434,7 +521,7 @@ as a text string of `"__{symbol-name}"`. Plurimath can recognize it, but other
434
521
  renderers or processors would treat it as a single symbol, which is accurate.
435
522
 
436
523
 
437
- === Example of Compatibility Wrapper
524
+ === Usage of the compatibility wrapper
438
525
 
439
526
  For a symbol like `backepsilon`.
440
527
 
@@ -466,12 +553,13 @@ In MathML:
466
553
  <mi>∍</mi>
467
554
  ----
468
555
 
469
- == XML Engines
470
556
 
471
- **Plurimath** supports two XML engines:
557
+ == XML engines
558
+
559
+ Plurimath supports two XML engines:
472
560
 
561
+ . **Ox**: (default) A fast XML parser
473
562
  . **Oga**: A pure Ruby XML parser
474
- . **Ox**: A fast XML parser
475
563
 
476
564
  By default, **Ox** is used.
477
565
 
@@ -479,12 +567,13 @@ To switch to **Oga**, use the following syntax:
479
567
 
480
568
  [source,ruby]
481
569
  ----
482
- require "plurimath/xml_engines/oga" = load files related to Oga
483
- Plurimath.xml_engine = Plurimath::XmlEngine::Oga = set Oga as Plurimath XML engine
570
+ require "plurimath/xml_engines/oga"
571
+ Plurimath.xml_engine = Plurimath::XmlEngine::Oga
484
572
  ----
485
573
 
486
574
  You can switch back to **Ox** similarly.
487
575
 
576
+
488
577
  === Supported content
489
578
 
490
579
  === General
data/exe/plurimath ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require "plurimath/cli"
3
+
4
+ Plurimath::Cli.start(ARGV)
@@ -0,0 +1,84 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "thor"
4
+
5
+ module Plurimath
6
+ self.autoload :Math, "plurimath/math"
7
+
8
+ class Cli < Thor
9
+ desc "convert", "Convert between math formats"
10
+
11
+ option :input,
12
+ aliases: "-i",
13
+ desc: "Input value should be in quoted string"
14
+
15
+ option :input_format,
16
+ aliases: "-f",
17
+ default: "asciimath",
18
+ desc: "Input format should be in quoted string => \"asciimath\""
19
+
20
+ option :file_path,
21
+ aliases: "-p",
22
+ desc: "Reads input from a file instead of the command line input. Use this for larger inputs or when input contains special characters.",
23
+ force: :boolean
24
+
25
+ option :output_format,
26
+ aliases: "-t",
27
+ default: "mathml",
28
+ desc: "Convert to language type, Output format should be in quoted string"
29
+
30
+ option :math_rendering,
31
+ aliases: "-m",
32
+ force: :boolean,
33
+ default: 'false',
34
+ desc: "Render converted equation as math zone display tree, Boolean only"
35
+
36
+ option :display_style,
37
+ aliases: "-d",
38
+ desc: "DisplayStyle is only supported for OMML and MathML conversion, Boolean only",
39
+ force: :boolean
40
+
41
+ option :split_on_linebreak,
42
+ aliases: "-s",
43
+ desc: "Splits only MathML and OMML equations into multiple equations, Boolean only",
44
+ force: :boolean
45
+
46
+ def convert
47
+ input = options[:input]
48
+ input_string = options[:file_path] ? File.read(options[:file_path]) : input
49
+ warn_and_exit("missing generator argument --input or --file-input") unless input_string
50
+
51
+ input_format = options[:input_format]
52
+ output_format = options[:output_format]
53
+ formula = Plurimath::Math.parse(input_string, input_format)
54
+ return puts formula.to_display(output_format.to_sym) if YAML.safe_load(options[:math_rendering])
55
+
56
+ display_style = options[:display_style]
57
+ split = options[:split_on_linebreak]
58
+ style = display_style.to_s.empty? ? "true" : display_style
59
+ output_text = case output_format
60
+ when "unicodemath"
61
+ formula.to_unicodemath
62
+ when "asciimath"
63
+ formula.to_asciimath
64
+ when "mathml"
65
+ formula.to_mathml(display_style: style, split_on_linebreak: split)
66
+ when "latex"
67
+ formula.to_latex
68
+ when "omml"
69
+ formula.to_omml(display_style: style, split_on_linebreak: split)
70
+ else
71
+ warn_and_exit("Invalid output format: #{output_format}")
72
+ end
73
+
74
+ puts output_text
75
+ end
76
+
77
+ no_commands do
78
+ def warn_and_exit(message)
79
+ warn(message)
80
+ exit 1
81
+ end
82
+ end
83
+ end
84
+ end
@@ -7,13 +7,15 @@ module Plurimath
7
7
  options[:precision] ||= precision_from(number)
8
8
  options[:type] ||= :decimal
9
9
 
10
- prefix, suffix, integer_format, fraction_format = *partition_tokens(tokens)
10
+ prefix, suffix, integer_format, fraction_format, signif_format = *partition_tokens(tokens)
11
11
  number = truncate_number(number, integer_format.format.length)
12
12
 
13
13
  int, fraction = parse_number(number, options)
14
14
  result = integer_format.apply(int, options)
15
15
  result << fraction_format.apply(fraction, options, int) if fraction
16
16
 
17
+ result = signif_format.apply(result, integer_format, fraction_format)
18
+
17
19
  number_system.transliterate(
18
20
  "#{prefix.to_s}#{result}#{suffix.to_s}"
19
21
  )
@@ -32,6 +34,9 @@ module Plurimath
32
34
  Numbers::Fraction.new(
33
35
  tokens[1],
34
36
  data_reader.symbols
37
+ ),
38
+ Numbers::Significant.new(
39
+ data_reader.symbols,
35
40
  )
36
41
  ]
37
42
  end
@@ -21,7 +21,7 @@ module Plurimath
21
21
 
22
22
  number = interpolate(format(options), fraction, :left)
23
23
  number = digit_count_format(int, fraction, number) if @digit_count
24
- formatted_number = change_format(precision, number) if number
24
+ formatted_number = change_format(number) if number
25
25
  formatted_number ? decimal + formatted_number : ""
26
26
  end
27
27
 
@@ -30,9 +30,13 @@ module Plurimath
30
30
  precision ? '0' * precision : @format
31
31
  end
32
32
 
33
+ def format_groups(string)
34
+ change_format(string)
35
+ end
36
+
33
37
  protected
34
38
 
35
- def change_format(precision, string)
39
+ def change_format(string)
36
40
  tokens = []
37
41
  tokens << string&.slice!(0, (group || string.length)) until string&.empty?
38
42
  tokens.compact.join(separator)
@@ -45,13 +49,33 @@ module Plurimath
45
49
  @digit_count ||= int_length
46
50
  if int_length > @digit_count
47
51
  number_string = float.round(@digit_count - int.length)
48
- @digit_count > int.length ? number_string.to_s("F").split(".").last : nil
52
+ numeric_digits(number_string) if @digit_count > int.length
49
53
  elsif int_length < @digit_count
50
- number + "0" * (@digit_count - int_length)
54
+ number + "0" * (update_digit_count(number) - int_length)
51
55
  else
52
56
  number
53
57
  end
54
58
  end
59
+
60
+ def numeric_digits(num_str)
61
+ float = num_str.to_s("F")
62
+ return float.split(".").last if float.length == @digit_count + 1
63
+ return unless @digit_count + 1 > float.length
64
+
65
+ float.split(".")[0] + ("0" * (@digit_count - float.length + 1))
66
+ end
67
+
68
+ def update_digit_count(number)
69
+ return @digit_count unless all_zeros?(number) == @precision
70
+
71
+ @digit_count - @precision + 1
72
+ end
73
+
74
+ def all_zeros?(number)
75
+ return unless number.split('').all? { |dig| dig == "0" }
76
+
77
+ number.length
78
+ end
55
79
  end
56
80
  end
57
81
  end
@@ -0,0 +1,128 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Plurimath
4
+ module Formatter
5
+ module Numbers
6
+ class Significant
7
+ attr_accessor :symbols, :decimal, :significant
8
+
9
+ def initialize(symbols)
10
+ @symbols = symbols
11
+ @decimal = symbols[:decimal]
12
+ @significant = symbols[:significant].to_i
13
+ end
14
+
15
+ def apply(string, int_format, frac_format)
16
+ return string if significant.zero?
17
+ return string unless string.match?(/[1-9]/)
18
+ chars = string.split("")
19
+
20
+ return string if count_chars(chars, true) == significant
21
+
22
+ string = signify(chars)
23
+ integer, fraction = string.split(decimal)
24
+ string = [format_groups(int_format, integer)]
25
+ string << format_groups(frac_format, fraction) if fraction
26
+ string.join(decimal)
27
+ end
28
+
29
+ protected
30
+
31
+ def signify(chars)
32
+ sig_num = false
33
+ frac_part = false
34
+ new_chars = []
35
+ sig_count = significant
36
+ chars.each.with_index do |char, ind|
37
+ frac_part = frac_part || char == decimal
38
+ sig_num = sig_num || char.match?(/[1-9]/)
39
+ break if sig_count.zero?
40
+
41
+ new_chars << char
42
+ next unless sig_num
43
+ next unless char.match?(/[0-9]/)
44
+
45
+ sig_count -= 1
46
+ end
47
+
48
+ if sig_count > 0
49
+ new_chars << decimal unless frac_part
50
+ new_chars << ("0" * sig_count)
51
+ else
52
+ remain_chars = count_chars(chars, frac_part) - significant
53
+ if remain_chars > 0
54
+ round_str(chars, new_chars, frac_part)
55
+ remain_chars = 0 if frac_part && remain_chars == 1
56
+ end
57
+ new_chars << ("0" * remain_chars) unless frac_part && sig_char_count(new_chars)
58
+ end
59
+ new_chars.join
60
+ end
61
+
62
+ def round_str(chars, array, frac_part)
63
+ arr_len = array.length
64
+ char_ind = chars[arr_len]&.match?(/[0-9]/) ? arr_len : arr_len + 1
65
+ return unless chars[char_ind]&.match?(/[5-9]/)
66
+
67
+ frac_part = false if chars[arr_len] == decimal
68
+ prev_ten = false
69
+ array.reverse!.each.with_index do |char, ind|
70
+ if char == decimal
71
+ array[ind] = ""
72
+ frac_part = false
73
+ next
74
+ end
75
+ next unless char.match?(/[0-9]/)
76
+
77
+ if char == "9"
78
+ prev_ten = true
79
+ array[ind] = frac_part ? "" : "0"
80
+ next
81
+ end
82
+ char.next!
83
+ prev_ten = false
84
+ break
85
+ end
86
+ array << "1" if prev_ten
87
+ array.reverse!
88
+ end
89
+
90
+ def count_chars(chars, fraction)
91
+ counting = 0
92
+ chars.each do |char|
93
+ break if char == decimal && !fraction
94
+
95
+ counting += 1 if char.match?(/\d/)
96
+ end
97
+ counting
98
+ end
99
+
100
+ def change_format(string, separator, group)
101
+ tokens = []
102
+ tokens << string&.slice!(0, group) until string&.empty?
103
+ tokens.compact.join(separator)
104
+ end
105
+
106
+ def format_groups(format, string)
107
+ format.format_groups(numeric_string(string, format))
108
+ end
109
+
110
+ def numeric_string(string, format)
111
+ string.split(format.separator).join
112
+ end
113
+
114
+ def sig_char_count(chars)
115
+ start_counting = false
116
+ counting = 0
117
+ chars.each do |char|
118
+ start_counting = true if char.match(/[1-9]/)
119
+ next unless start_counting
120
+
121
+ counting += 1 if char.match?(/\d/)
122
+ end
123
+ counting == significant
124
+ end
125
+ end
126
+ end
127
+ end
128
+ end