Class: Plurimath::Math::Symbols::Symbol

Inherits:
Core
  • Object
show all
Defined in:
lib/plurimath/math/symbols/symbol.rb

Direct Known Subclasses

Aa, Ac, Accurrent, Acidfree, Acute, Acwcirclearrow, Acwgapcirclearrow, Acwleftarcarrow, Acwoverarcarrow, Acwunderarcarrow, Aleph, Alpha, Amalg, Ampersand, Anchor, Angdnr, Angle, Angles, Angleubar, Angmsd, Angrtvb, Angsph, Angstrom, Annuity, Aplboxquestion, Aplboxupcaret, Aplcomment, Apldownarrowbox, Aplinput, Aplinv, Aplleftarrowbox, Apllog, Aplrightarrowbox, Apluparrowbox, Apprge, Apprle, Approx, Approxeq, Approxeqq, Approxident, Aquarius, Arceq, Aries, Arrowbullet, Assert, Ast, Asteq, Asteraccent, Asymp, Atsign, Awint, Backcong, Backdprime, Backepsilon, Backprime, Backsim, Backsimeq, Backslash, Backtrprime, Bagmember, Ballotx, Bar, Barcap, Barcup, Barin, Barleftarrow, Barleftarrowrightarrowba, Barleftharpoon, Barovernorthwestarrow, Barrightarrowdiamond, Barrightharpoon, Baruparrow, Barv, Barvee, Barwedge, Bbrktbrk, Bdtriplevdash, Because, Benzenr, Beth, Between, Bigblacktriangledown, Bigblacktriangleup, Bigbot, Bigcupdot, Biginterleave, Bigodot, Bigoplus, Bigotimes, Bigslopedvee, Bigslopedwedge, Bigsqcap, Bigsqcup, Bigstar, Bigtalloblong, Bigtop, Bigtriangledown, Bigtriangleleft, Bigtriangleup, Biguplus, Bigwedge, Bigwhitestar, Bij, Biohazard, Blackcircledownarrow, Blackcircledrightdot, Blackcircledtwodots, Blackcircleulquadwhite, Blackdiamonddownarrow, Blackhourglass, Blackinwhitediamond, Blackinwhitesquare, Blacklozenge, Blackpointerleft, Blackpointerright, Blacksmiley, Blacktriangle, Blacktriangledown, Blkhorzoval, Blkvertoval, Blockfull, Blockhalfshaded, Blocklefthalf, Blocklowhalf, Blockqtrshaded, Blockrighthalf, Blockthreeqtrshaded, Blockuphalf, Bnot, Bot, Botsemicircle, Bowtie, Box, Boxast, Boxbar, Boxbox, Boxbslash, Boxcircle, Boxdiag, Boxdot, Boxminus, Boxonbox, Boxplus, Boxtimes, Breve, Bsimilarleftarrow, Bsimilarrightarrow, Bsolhsub, Btimes, Bullet, Bullseye, Bumpeq, Bumpeqq, Buni, Cancer, Candra, Cap, Capbarcup, Capdot, Capovercup, Capricornus, Capwedge, Caretinsert, Carriagereturn, Cat, Cc, Ccwundercurvearrow, Cdot, Cdotp, Cdots, Cent, Check, Checkedbox, Checkmark, Chi, Cirbot, Circ, Circeq, Circle, Circlebottomhalfblack, Circledbullet, Circledgtr, Circledownarrow, Circledparallel, Circledr, Circledrightdot, Circledstar, Circledtwodots, Circledvert, Circledwhitebullet, Circlehbar, Circlellquad, Circlelrquad, Circleonleftarrow, Circleonrightarrow, Circletophalfblack, Circleulquad, Circleurquad, Circleurquadblack, Circlevertfill, Cire, Cirfnint, Cirmid, Cirscir, Clockoint, Closedvarcap, Closedvarcup, Closedvarcupsmashprod, Closure, Clubsuit, Cntclockoint, Colon, Coloneq, Comma, Commaminus, Comp, Complement, Concavediamond, Concavediamondtickleft, Concavediamondtickright, Cong, Congdot, Conictaper, Conjquant, Coprod, Csub, Csube, Csup, Csupe, Cuberoot, Cup, Cupbarcap, Cupdot, Cupleftarrow, Cupovercap, Cupvee, Curlyeqprec, Curlyeqsucc, Curlyvee, Curlywedge, Curvearrowleftplus, Curvearrowright, Curvearrowrightminus, Cwcirclearrow, Cwgapcirclearrow, Cwrightarcarrow, Cwundercurvearrow, Dag, Daleth, Danger, Darr, Dasharrow, Dasharrowright, Dashv, Dashvdash, Dbkarow, Dd, Ddag, Ddddot, Dddot, Ddot, Ddots, Ddotseq, Ddownarrow, Degc, Degf, Degree, Del, Delta, Deltaeq, Diameter, Diamond, Diamondblack, Diamondbotblack, Diamonddot, Diamondleftarrow, Diamondleftarrowbar, Diamondleftblack, Diamondrightblack, Diamondtopblack, Dicei, Diceii, Diceiii, Diceiv, Dicev, Dicevi, Digamma, Dingasterisk, Dint, Disin, Disjquant, Div, Divideontimes, Dot, Doteq, Dotequiv, Dotminus, Dotplus, Dots, Dotsim, Dotsminusdots, Dottedcircle, Dottedsquare, Dottimes, Doublebarvee, Doublebarwedge, Doubleplus, Downarrow, Downarrowbar, Downarrowbarred, Downarrows, Downdasharrow, Downdownharpoons, Downfishtail, Downharpoonleft, Downharpoonright, Downleftteevector, Downleftvectorbar, Downrightcurvedarrow, Downrightteevector, Downrightvectorbar, Downtriangleleftblack, Downtrianglerightblack, Downuparrows, Downupharpoons, Downwhitearrow, Dprime, Draftingarrow, Drbkarow, Droang, Dsol, Dsub, Dualmap, Duni, Earth, Ee, Egsdot, Eighthnote, Elinters, Ell, Elsdot, Emptyset, Emptysetoarr, Emptysetoarrl, Emptysetobar, Emptysetocirc, Enclosecircle, Enclosediamond, Enclosesquare, Enclosetriangle, Enleadertwodots, Epar, Eparsl, Epsilon, Eqcirc, Eqcolon, Eqdef, Eqdot, Eqeq, Eqgtr, Eqless, Eqno, Eqqcolon, Eqqgtr, Eqqless, Eqqplus, Eqqsim, Eqqslantgtr, Eqqslantless, Eqsim, Eqslantgtr, Eqslantless, Equal, Equalleftarrow, Equalrightarrow, Equiv, Equivdd, Equivvert, Equivvvert, Eqvparsl, Errbarblackcircle, Errbarblackdiamond, Errbarblacksquare, Errbarcircle, Errbardiamond, Errbarsquare, Eta, Eth, Euler, Euro, Exclam, Exi, Exists, Fallingdotseq, Fbowtie, Fdiagovnearrow, Fdiagovrdiag, Ffun, Finj, Fint, Finv, Fisheye, Flat, Fltns, Forall, Forks, Forksnot, Forkv, Fourthroot, Fourvdots, Fracslash, Frown, Fullouterjoin, Funcapply, Game, Gamma, Ge, Gemini, Geq, Geqq, Geqqslant, Geqslant, Gescc, Gesdot, Gesdoto, Gesdotol, Gesles, Gets, Gg, Ggg, Gggnest, Gimel, Gla, Gle, Gleichstark, Glj, Gnapprox, Gneq, Gneqq, Gnsim, Grad, Grave, Greater, Gsime, Gsiml, Gt, Gtcc, Gtcir, Gtlpar, Gtquest, Gtrapprox, Gtrarr, Gtrdot, Gtreqless, Gtreqqless, Gtrless, Harr, Hash, Hat, Hatapprox, Hbar, Hearsuit, Hermaphrodite, Hermitmatrix, Hexagon, Hexagonblack, Hide, Hknearrow, Hknwarrow, Hksearow, Hkswarow, Hline, Hookleftarrow, Hookrightarrow, Horizbar, Hourglass, House, Hrectangle, Hrectangleblack, Hyphenbullet, Hzigzag, If, Iff, Ii, Iiiint, Iiint, Iinfin, Iint, Im, Imageof, Imath, Impliedby, In, Inc, Int, Intbar, Intbottom, Intcap, Intclockwise, Intcup, Intercal, Interleave, Intextender, Intlarhk, Intprod, Intprodr, Inttop, Intx, Invdiameter, Inversebullet, Inversewhitecircle, Invlazys, Invnot, Invwhitelowerhalfcircle, Invwhiteupperhalfcircle, Iota, Isindot, Isine, Isinobar, Isins, Isinvb, Jj, Jmath, Join, Jupiter, Kappa, Kernelcontraction, Koppa, Lambda, Land, Lang, Langledot, Laplac, Larr, Lat, Late, Lbag, Lblkbrbrak, Lblot, Lbracelend, Lbracemid, Lbraceuend, Lbrackextender, Lbracklend, Lbracklltick, Lbrackubar, Lbrackuend, Lbrackultick, Lbrbrak, Lcurvyangle, Ldsh, Le, Leadsto, Leftarrow, Leftarrowapprox, Leftarrowbackapprox, Leftarrowbsimilar, Leftarrowless, Leftarrowonoplus, Leftarrowplus, Leftarrowshortrightarrow, Leftarrowsimilar, Leftarrowsubset, Leftarrowtail, Leftarrowtriangle, Leftarrowx, Leftbarharpoon, Leftbkarrow, Leftcircle, Leftcurvedarrow, Leftdasharrow, Leftdbkarrow, Leftdbltail, Leftdotarrow, Leftdowncurvedarrow, Leftdownteevector, Leftdownvectorbar, Leftharpoondown, Leftharpoonup, Leftleftarrows, Leftleftharpoons, Leftmoon, Leftouterjoin, Leftrightarrow, Leftrightarrowcircle, Leftrightarrows, Leftrightarrowtriangle, Leftrightharpoon, Leftrightharpoondown, Leftrightharpoonsdown, Leftrightharpoonsup, Leftrightharpoonup, Leftrightwavearrow, Leftsquigarrow, Lefttail, Leftteevector, Leftthreearrows, Leftthreetimes, Leftturn, Leftupdownharpoon, Leftupteevector, Leftupvectorbar, Leftvectorbar, Leftwavearrow, Leftwhitearrow, Leo, Leq, Leqq, Leqqslant, Leqslant, Lescc, Lesdot, Lesdoto, Lesdotor, Lesges, Less, Lessapprox, Lessdot, Lesseqgtr, Lesseqqgtr, Lessgtr, Lfbowtie, Lftimes, Lgblkcircle, Lgblksquare, Lge, Lgroup, Lgwhtcircle, Lgwhtsquare, Lhd, Libra, Lightning, Limg, Linefeed, Ll, Llarc, Llblacktriangle, Llcorner, Lleftarrow, Lll, Lllnest, Lltriangle, Lmoust, Lmoustache, Lnapprox, Lneq, Lnot, Lnsim, Longdashv, Longdivision, Longleftarrow, Longleftrightarrow, Longleftsquigarrow, Longmapsfrom, Longmapsto, Longrightarrow, Looparrowleft, Lor, Lowint, Lozenge, Lozengeminus, Lparen, Lparenextender, Lparengtr, Lparenlend, Lparenless, Lparenuend, Lrarc, Lrblacktriangle, Lrcorner, Lrhar, Lrtimes, Lrtriangle, Lrtriangleeq, Lsh, Lsime, Lsimg, Lsqhook, Lt, Ltcc, Ltcir, Ltimes, Ltlarr, Ltquest, Ltrivb, Lvboxline, Lvec, Lvzigzag, Maltese, Mapsdown, Mapsfrom, Mapsto, Mapstoleft, Mapsup, Mars, Mathcolon, Mathdollar, Mathslash, Mdblkdiamond, Mdblklozenge, Mdblksquare, Mdlgblksquare, Mdsmblksquare, Mdsmwhtcircle, Mdsmwhtsquare, Mdwhtdiamond, Mdwhtlozenge, Mdwhtsquare, Measangledltosw, Measangledrtose, Measangleldtosw, Measanglelutonw, Measanglerdtose, Measanglerutone, Measangleultonw, Measangleurtone, Measeq, Measuredangleleft, Medblackstar, Medbullet, Medcirc, Medsp, Medwhitestar, Mercury, Mho, Mid, Midbarvee, Midbarwedge, Midcir, Minus, Minusdot, Minusfdots, Minusrdots, Mlcp, Models, Modtwosum, Mp, Mu, Multimap, Multimapinv, Nabla, Napprox, Nasymp, Natural, Ncong, Ne, Nearrow, Neg, Neovnwarrow, Neovsearrow, Neptune, Neq, Nequiv, Neswarrow, Neuter, Nexi, Ngeq, Ngt, Ngtrless, Ngtrsim, Nhdownarrow, Nhpar, Nhuparrow, Nhvvert, Ni, Nin, Niobar, Nis, Nisd, Nleftarrow, Nleftrightarrow, Nleq, Nless, Nlessgtr, Nlesssim, Nmid, Nn, Nni, Nnn, Not, Notbackslash, Notin, Notslash, Nparallel, Npolint, Nprec, Npreceq, Nrightarrow, Nsim, Nsime, Nsqsubseteq, Nsqsuperseteq, Nsub, Nsucc, Nsucceq, Nsup, Ntriangleleft, Ntriangleright, Nu, Nunlhd, Nunrhd, Nvdash, Nvinfty, Nvleftarrow, Nvleftarrowtail, Nvleftrightarrow, Nvrightarrow, Nvtwoheadleftarrow, Nvtwoheadleftarrowtail, Nvtwoheadrightarrow, Nvtwoheadrightarrowtail, Nwarrow, Nwovnearrow, Nwsearrow, Oast, Obar, Obot, Obrace, Obrbrak, Obslash, Ocirc, Ocommatopright, Octothorpe, Odash, Odiv, Odot, Odotslashdot, Oeq, Oiiint, Oiint, Oint, Olcross, Olessthan, Omega, Ominus, Oo, Operp, Oplus, Opluslhrim, Oplusrhrim, Origof, Oslash, Otimes, Otimeshat, Otimeslhrim, Otimesrhrim, Oturnedcomma, Overbar, Overbracket, Overleftrightarrow, Overline, Ovhook, Ox, Parallelogram, Parallelogramblack, Paren, Parsim, Partial, Partialmeetcontraction, Pencil, Pentagon, Pentagonblack, Percent, Period, Perp, Perps, Pfun, Phi, Pi, Pinj, Pisces, Pitchfork, Planckconst, Plus, Plusdot, Pluseqq, Plushat, Plussim, Plussubtwo, Plustrif, Pluto, Pm, Pointint, Pointright, Postalmark, Pounds, Pppprime, Ppprime, Pprime, Prcue, Prec, Precapprox, Preceq, Preceqq, Precnapprox, Precneq, Precneqq, Precnsim, Precsim, Prime, Prod, Profline, Profsurf, Project, Prop, Propertyline, Psi, Psur, Pullback, Pushout, Qed, Qprime, Qq, Qquad, Quad, Quarternote, Questeq, Question, Radiation, Rang, Rangledot, Rangledownzigzagarrow, Ratio, Rbag, Rblkbrbrak, Rblot, Rbracelend, Rbracemid, Rbraceuend, Rbrackextender, Rbracklend, Rbracklrtick, Rbrackubar, Rbrackuend, Rbrackurtick, Rbrbrak, Rcurvyangle, Rddots, Rdiagovfdiag, Rdiagovsearrow, Rdsh, Re, Recycle, Rel, Restriction, Revangle, Revangleubar, Revemptyset, Revnmid, Rfbowtie, Rftimes, Rgroup, Rhd, Rho, Rightangle, Rightanglemdot, Rightanglesqr, Rightarrow, Rightarrowapprox, Rightarrowbackapprox, Rightarrowbar, Rightarrowbsimilar, Rightarrowdiamond, Rightarrowgtr, Rightarrowonoplus, Rightarrowplus, Rightarrowshortleftarrow, Rightarrowsimilar, Rightarrowsupset, Rightarrowtail, Rightarrowtriangle, Rightarrowx, Rightbarharpoon, Rightbkarrow, Rightcircle, Rightdbltail, Rightdotarrow, Rightdowncurvedarrow, Rightdownteevector, Rightdownvectorbar, Rightharpoonaccent, Rightharpoondown, Rightharpoonup, Rightimply, Rightleftarrow, Rightleftharpoon, Rightleftharpoonsdown, Rightleftharpoonsup, Rightmoon, Rightouterjoin, Rightpentagon, Rightpentagonblack, Rightrightarrows, Rightrightharpoons, Rightsquigarrow, Righttail, Rightteevector, Rightthreearrows, Rightthreetimes, Rightturn, Rightupdownharpoon, Rightupteevector, Rightupvectorbar, Rightvectorbar, Rightwavearrow, Rightwhitearrow, Rimg, Ring, Ringplus, Risingdotseq, Rlhar, Rmoust, Rparen, Rparenextender, Rparengtr, Rparenlend, Rparenless, Rparenuend, Rppolint, Rr, Rrightarrow, Rsh, Rsolbar, Rsqhook, Rsub, Rtimes, Rtriltri, Ruledelayed, Rvboxline, Rvert, Rvzigzag, Sadface, Sagittarius, Same, Sampi, Sanslmirrored, Sanslturned, Saturn, Scorpio, Scpolint, Scurel, Sdef, Searrow, Second, Semi, Semicolon, Seovnearrow, Setminus, Sharp, Shortdowntack, Shortlefttack, Shortrightarrowleftarrow, Shortuptack, Shuffle, Sigma, Sim, Simeq, Simge, Simgtr, Similarleftarrow, Similarrightarrow, Simle, Simless, Simminussim, Simneqq, Simplus, Simrdots, Sixteenthnote, Skull, Slash, Smallblacktriangleleft, Smallblacktriangleright, Smallin, Smallni, Smalltriangleleft, Smalltriangleright, Smashtimes, Smblkcircle, Smblkdiamond, Smblklozenge, Smblksquare, Smeparsl, Smile, Smiley, Smt, Smte, Smwhitestar, Smwhtcircle, Smwhtlozenge, Smwhtsquare, Space, Spadesuit, Spddot, Sphat, Sphericalangleup, Spot, Sprime, Sptilde, Sqcap, Sqcup, Sqint, Sqlozenge, Sqrtbottom, Sqsubset, Sqsubseteq, Sqsubsetneq, Sqsupset, Sqsupseteq, Square, Squarebotblack, Squarecrossfill, Squarehfill, Squarehvfill, Squareleftblack, Squarellblack, Squarellquad, Squarelrblack, Squarelrquad, Squareneswfill, Squarenwsefill, Squarerightblack, Squaretopblack, Squareulblack, Squareulquad, Squareurblack, Squareurquad, Squarevfill, Squoval, Sslash, Star, Stareq, Steaming, Stigma, Strictfi, Strictif, Strns, Sub, Sube, Subedot, Submult, Subrarr, Subset, Subsetapprox, Subsetcirc, Subsetdot, Subseteq, Subseteqq, Subsetneq, Subsetneqq, Subsetplus, Subsim, Subsub, Succ, Succapprox, Succcurlyeq, Succeq, Succeqq, Succnapprox, Succneq, Succneqq, Succnsim, Succsim, Sum, Sumbottom, Sumint, Sumtop, Sun, Sup, Supdsub, Supe, Supedot, Suphsol, Suphsub, Suplarr, Supmult, Supset, Supsetapprox, Supsetcirc, Supsetdot, Supseteq, Supseteqq, Supsetneq, Supsetneqq, Supsetplus, Supsim, Supsub, Supsup, Swarrow, Swords, Talloblong, Tau, Taurus, Tcmu, Tcohm, Therefore, Thermod, Theta, Third, ThreePerEmSpace, Threedangle, Threedotcolon, Threeunderdot, Tieinfty, Tilde, Times, Timesbar, Tinj, Tminus, To, Toea, Tona, Top, Topbot, Topcir, Topfork, Topsemicircle, Tosa, Towa, Tplus, Trapezium, Triangle, Trianglecdot, Triangledown, Triangleleftblack, Triangleminus, Triangleodot, Triangleplus, Trianglerightblack, Triangles, Triangleserifs, Triangletimes, Triangleubar, Tripleplus, Trslash, Tsur, Tt, Turnangle, Turnediota, Turnednot, Twocaps, Twocups, Twoheaddownarrow, Twoheadleftarrow, Twoheadleftarrowtail, Twoheadleftdbkarrow, Twoheadmapsfrom, Twoheadmapsto, Twoheadrightarrow, Twoheadrightarrowtail, Twoheaduparrow, Twoheaduparrowcircle, Twolowline, Twonotes, Typecolon, Uarr, Ubrace, Ubrbrak, Ul, Ularc, Ulblacktriangle, Ulcorner, Ultriangle, Uminus, Underbar, Underbracket, Underleftarrow, Underleftharpoondown, Underline, Underparen, Underrightarrow, Underrightharpoondown, Unicodeellipsis, Unlhd, Unrhd, Upalpha, Upand, Uparrow, Uparrowbarred, Uparrowoncircle, Upbeta, UpcaseCap, UpcaseDd, UpcaseDelta, UpcaseEquiv, UpcaseGamma, UpcaseLambda, UpcaseMapsto, UpcaseOmega, UpcasePhi, UpcasePi, UpcasePsi, UpcaseRbrack, UpcaseRightarrow, UpcaseSigma, UpcaseTheta, UpcaseWedge, UpcaseXi, UpcaseupOmega, Upchi, Updasharrow, Updownarrow, Updownarrowbar, Updownarrows, Updownharpoonleftright, Updownharpoonrightleft, Upepsilon, Upequilibrium, Upeta, Upfishtail, Upharpoonleft, Upin, Upint, Upiota, Upkappa, Upkoppa, Upmu, Upnu, Upomicron, Uprho, Uprightcurvearrow, Upsilon, Uptau, Upuparrows, Upupharpoons, Upvarsigma, Upvartheta, Upwhitearrow, Upzeta, Uranus, Urarc, Urblacktriangle, Urcorner, Urtriangle, Utilde, Uu, Uuparrow, Uuu, Varbarwedge, Varbeta, Varcarriagereturn, Varclub, Vardiamond, Vardoublebarwedge, Varepsilon, Varheart, Varhexagon, Varhexagonblack, Varhexagonlrbonds, Varisins, Varkappa, Varlrtriangle, Varniobar, Varnis, Varnothing, Varphi, Varpi, Varprod, Varrho, Varsigma, Varspade, Varstar, Vartheta, Vartriangle, Vartriangleleft, Vartriangleright, Varvdash, Varveebar, Vbar, Vbarv, Vbraceextender, Vbrtri, Vdash, Vddash, Vdots, Vec, Vectimes, Vee, Veebar, Veedot, Veedoublebar, Veeeq, Veemidvert, Veeodot, Veeonvee, Veeonwedge, Venus, Vertoverlay, Viewdata, Virgo, Vlongdash, Vrectangle, Vrectangleblack, Vv, Vvdash, Vvv, Vysmblkcircle, Vysmblksquare, Vysmwhtcircle, Vysmwhtsquare, Vzigzag, Warning, Wasytherefore, Wedge, Wedgebar, Wedgedot, Wedgedoublebar, Wedgemidvert, Wedgeodot, Wedgeonwedge, Whitearrowupfrombar, Whiteinwhitetriangle, Whitepointerleft, Whitepointerright, Whitesquaretickleft, Whitesquaretickright, Whthorzoval, Whtvertoval, Wideangledown, Wideangleup, Widebridgeabove, Wideparen, Wp, Wr, Xbox, Xi, Xsol, Xx, Yen, Yinyang, Yup, Zbar, Zeta, Zpipe, Zwnj, Zwsp, Zz

Constant Summary collapse

INPUT =
{}.freeze

Constants inherited from Core

Core::ALL_PARAMETERS, Core::REPLACABLES

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Core

#ascii_fields_to_print, #class_name, #cloned_objects, #close?, #common_math_zone_conversion, descendants, #dump_mathml, #dump_nodes, #dump_omml, #dump_ox_nodes, #empty_tag, #extract_class_name_from_text, #extractable?, #filtered_values, #get, #gsub_spacing, inherited, #invert_unicode_symbols, #is_binary_function?, #is_mrow?, #is_mstyle?, #is_nary_function?, #is_nary_symbol?, #is_ternary_function?, #is_unary?, #latex_fields_to_print, #line_breaking, #mathml_fields_to_print, #mathml_nodes, #msty_tag_with_attrs, #nary_intent_name, #omml_fields_to_print, #omml_parameter, #open?, #operator?, #ox_element, #pretty_print_instance_variables, #prime_unicode?, #r_element, #replacable_values, #reserved_constant, #result, #set, #symbol?, #to_ms_value, #unicodemath_fields_to_print, #unicodemath_parens, #updated_object_values, #validate_mathml_fields, #variable_value, #variables

Constructor Details

#initialize(sym = nil, slashed = nil, mini_sub_sized: false, mini_sup_sized: false, options: {}) ⇒ Symbol

Returns a new instance of Symbol.



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/plurimath/math/symbols/symbol.rb', line 12

def initialize(sym = nil,
               slashed = nil,
               mini_sub_sized: false,
               mini_sup_sized: false,
               options: {})
  @value = sym.is_a?(Array) ? sym.join : sym&.to_s
  @slashed = slashed if slashed
  @mini_sub_sized = mini_sub_sized if mini_sub_sized
  @mini_sup_sized = mini_sup_sized if mini_sup_sized
  @options = options unless options.empty?
end

Instance Attribute Details

#mini_sub_sizedObject

Returns the value of attribute mini_sub_sized.



7
8
9
# File 'lib/plurimath/math/symbols/symbol.rb', line 7

def mini_sub_sized
  @mini_sub_sized
end

#mini_sup_sizedObject

Returns the value of attribute mini_sup_sized.



7
8
9
# File 'lib/plurimath/math/symbols/symbol.rb', line 7

def mini_sup_sized
  @mini_sup_sized
end

#optionsObject

Returns the value of attribute options.



7
8
9
# File 'lib/plurimath/math/symbols/symbol.rb', line 7

def options
  @options
end

#slashedObject

Returns the value of attribute slashed.



7
8
9
# File 'lib/plurimath/math/symbols/symbol.rb', line 7

def slashed
  @slashed
end

#valueObject

Returns the value of attribute value.



7
8
9
# File 'lib/plurimath/math/symbols/symbol.rb', line 7

def value
  @value
end

Class Method Details

.input(lang) ⇒ Object



214
215
216
# File 'lib/plurimath/math/symbols/symbol.rb', line 214

def self.input(lang)
  self::INPUT[lang]
end

.parsing_wrapper(input_arr, lang:) ⇒ Object



287
288
289
290
291
292
293
294
# File 'lib/plurimath/math/symbols/symbol.rb', line 287

def self.parsing_wrapper(input_arr, lang:)
  input_arr.map do |input|
    case lang
    when :asciimath, :unicode then "\"P{#{input}}\""
    when :latex then "\\text{P[#{input}]}"
    end
  end
end

Instance Method Details

#==(object) ⇒ Object



24
25
26
27
28
29
30
31
32
# File 'lib/plurimath/math/symbols/symbol.rb', line 24

def ==(object)
  object.respond_to?(:value) &&
    object.class == self.class &&
    comparable_value(object) == comparable_value(self) &&
    object.slashed == slashed &&
    object.mini_sub_sized == mini_sub_sized &&
    object.mini_sup_sized == mini_sup_sized &&
    object.options == options
end

#divide_operator?Boolean

Returns:

  • (Boolean)


127
128
129
# File 'lib/plurimath/math/symbols/symbol.rb', line 127

def divide_operator?
  value == "/"
end

#evaluate(evaluator) ⇒ Object

Symbol classes that represent constants (e.g. Pi) override #reserved_constant; everything else resolves through bindings.



146
147
148
149
150
151
152
153
154
# File 'lib/plurimath/math/symbols/symbol.rb', line 146

def evaluate(evaluator)
  constant = reserved_constant
  return constant if constant

  name = variable_name
  evaluator.unsupported(self) unless name

  evaluator.value_for(name)
end

#font_style_t_tag(_, options:) ⇒ Object



97
98
99
# File 'lib/plurimath/math/symbols/symbol.rb', line 97

def font_style_t_tag(_, options:)
  t_tag(options: options)
end

#input(lang) ⇒ Object



210
211
212
# File 'lib/plurimath/math/symbols/symbol.rb', line 210

def input(lang)
  self.class.input(lang)
end

#insert_t_tag(_, options:) ⇒ Object



82
83
84
85
86
87
# File 'lib/plurimath/math/symbols/symbol.rb', line 82

def insert_t_tag(_, options:)
  # TODO: remove this condition once to word rendering issue is resolved, plurimath/plurimath/pull/328
  return if value == "⁢"

  [Utility.ox_element("r", namespace: "m") << t_tag(options: options)]
end

#linebreak?Boolean

Returns:

  • (Boolean)


172
173
174
# File 'lib/plurimath/math/symbols/symbol.rb', line 172

def linebreak?
  value == "\\\\"
end

#mini_sized?Boolean

Returns:

  • (Boolean)


176
177
178
# File 'lib/plurimath/math/symbols/symbol.rb', line 176

def mini_sized?
  mini_sub_sized || mini_sup_sized
end

#minus_operator?Boolean

Returns:

  • (Boolean)


119
120
121
# File 'lib/plurimath/math/symbols/symbol.rb', line 119

def minus_operator?
  value == "-"
end

#multiply_operator?Boolean

Returns:

  • (Boolean)


123
124
125
# File 'lib/plurimath/math/symbols/symbol.rb', line 123

def multiply_operator?
  value == "*"
end

#nary_attr_value(options:) ⇒ Object



101
102
103
104
105
# File 'lib/plurimath/math/symbols/symbol.rb', line 101

def nary_attr_value(options:)
  value || Utility.html_entity_to_unicode(to_omml_without_math_tag(
                                            true, options: options
                                          ))
end

#omml_nodes(_, options:) ⇒ Object



156
157
158
# File 'lib/plurimath/math/symbols/symbol.rb', line 156

def omml_nodes(_, options:)
  Array(t_tag(options: options))
end

#omml_tag_nameObject



93
94
95
# File 'lib/plurimath/math/symbols/symbol.rb', line 93

def omml_tag_name
  "subSup"
end

#paren?Boolean

Returns:

  • (Boolean)


206
207
208
# File 'lib/plurimath/math/symbols/symbol.rb', line 206

def paren?
  false
end

#plus_operator?Boolean

Some parser paths emit basic operators as generic symbols instead of their semantic classes, and a hand-built Formula may hold any of them, so the generic symbol answers for every operator from its own value (parsed ‘+`/`^` arrive as Plus/Hat, so these are inert there).

Returns:

  • (Boolean)


115
116
117
# File 'lib/plurimath/math/symbols/symbol.rb', line 115

def plus_operator?
  value == "+"
end

#power_operator?Boolean

Returns:

  • (Boolean)


131
132
133
# File 'lib/plurimath/math/symbols/symbol.rb', line 131

def power_operator?
  value == "^"
end

#separate_tableObject



167
168
169
170
# File 'lib/plurimath/math/symbols/symbol.rb', line 167

def separate_table
  ["&", "\\\\"].include?(value) ||
    is_a?(Math::Symbols::Ampersand)
end

#t_tag(options:) ⇒ Object



160
161
162
163
164
165
# File 'lib/plurimath/math/symbols/symbol.rb', line 160

def t_tag(options:)
  output = value || to_omml_without_math_tag(nil, options: options)
  return t_element unless output

  t_element << output
end

#tag_nameObject



89
90
91
# File 'lib/plurimath/math/symbols/symbol.rb', line 89

def tag_name
  "subsup"
end

#to_asciimathObject



34
35
36
37
38
# File 'lib/plurimath/math/symbols/symbol.rb', line 34

def to_asciimath(**)
  return "" if value.nil?

  value
end

#to_asciimath_math_zone(spacing = "", _last = false, _indent = true, options:) ⇒ Object



180
181
182
183
# File 'lib/plurimath/math/symbols/symbol.rb', line 180

def to_asciimath_math_zone(spacing = "", _last = false, _indent = true,
options:)
  "#{spacing}\"#{to_asciimath(options: options)}\" text\n"
end

#to_htmlObject



63
64
65
# File 'lib/plurimath/math/symbols/symbol.rb', line 63

def to_html(**)
  value
end

#to_latexObject



56
57
58
59
60
61
# File 'lib/plurimath/math/symbols/symbol.rb', line 56

def to_latex(**)
  returned = specific_values
  return returned if returned

  value
end

#to_latex_math_zone(spacing = "", _last = false, _indent = true, options:) ⇒ Object



185
186
187
188
# File 'lib/plurimath/math/symbols/symbol.rb', line 185

def to_latex_math_zone(spacing = "", _last = false, _indent = true,
options:)
  "#{spacing}\"#{to_latex(options: options)}\" text\n"
end

#to_mathml_math_zone(spacing = "", _last = false, _indent = true, options:) ⇒ Object



196
197
198
199
# File 'lib/plurimath/math/symbols/symbol.rb', line 196

def to_mathml_math_zone(spacing = "", _last = false, _indent = true,
options:)
  "#{spacing}\"#{dump_mathml(self, options: options)}\" text\n"
end

#to_mathml_without_math_tag(_intent) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
# File 'lib/plurimath/math/symbols/symbol.rb', line 44

def to_mathml_without_math_tag(_intent, **)
  attributes = {}
  if value&.include?("&#x2147;")
    attributes[:intent] = Utility.html_entity_to_unicode(value)
  end
  attributes[:rspace] = @options[:rspace] if @options&.key?(:rspace)
  mi_tag = ox_element("mi", attributes: attributes)
  return mi_tag if ["{:", ":}"].include?(value)

  value ? mi_tag << value : mi_tag
end

#to_omml_math_zone(spacing = "", _last = false, _indent = true, display_style:, options:) ⇒ Object



190
191
192
193
194
# File 'lib/plurimath/math/symbols/symbol.rb', line 190

def to_omml_math_zone(spacing = "", _last = false, _indent = true,
display_style:, options:)
  "#{spacing}\"#{dump_omml(self, display_style,
                           options: options)}\" text\n"
end

#to_omml_without_math_tag(_) ⇒ Object



67
68
69
70
71
72
# File 'lib/plurimath/math/symbols/symbol.rb', line 67

def to_omml_without_math_tag(_, **)
  # TODO: remove this condition once to word rendering issue is resolved, plurimath/plurimath/pull/328
  return if value == "&#x2062;"

  value
end

#to_unicodemathObject



74
75
76
77
78
79
80
# File 'lib/plurimath/math/symbols/symbol.rb', line 74

def to_unicodemath(**)
  return "\\#{value}" if slashed || special_chars
  return mini_sub if mini_sub_sized
  return mini_sup if mini_sup_sized

  value
end

#to_unicodemath_math_zone(spacing = "", _last = false, _indent = true, options:) ⇒ Object



201
202
203
204
# File 'lib/plurimath/math/symbols/symbol.rb', line 201

def to_unicodemath_math_zone(spacing = "", _last = false, _indent = true,
options:)
  "#{spacing}\"#{to_unicodemath(options: options)}\" text\n"
end

#validate_function_formulaObject



107
108
109
# File 'lib/plurimath/math/symbols/symbol.rb', line 107

def validate_function_formula
  false
end

#variable_nameObject

A plain symbol names a variable through its ‘value`. Symbol subclasses (Pi, Plus, …) carry no `value`, so they return nil here and are never treated as variables.



138
139
140
141
142
# File 'lib/plurimath/math/symbols/symbol.rb', line 138

def variable_name
  return if reserved_constant || value.nil? || value.empty? || operator?

  value
end