SuppMathOperators.js 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  1. /*************************************************************
  2. *
  3. * MathJax/jax/output/HTML-CSS/optable/SuppMathOperators.js
  4. *
  5. * Copyright (c) 2010-2013 The MathJax Consortium
  6. *
  7. * Licensed under the Apache License, Version 2.0 (the "License");
  8. * you may not use this file except in compliance with the License.
  9. * You may obtain a copy of the License at
  10. *
  11. * http://www.apache.org/licenses/LICENSE-2.0
  12. *
  13. * Unless required by applicable law or agreed to in writing, software
  14. * distributed under the License is distributed on an "AS IS" BASIS,
  15. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  16. * See the License for the specific language governing permissions and
  17. * limitations under the License.
  18. *
  19. */
  20. (function (MML) {
  21. var MO = MML.mo.OPTYPES;
  22. var TEXCLASS = MML.TEXCLASS;
  23. MathJax.Hub.Insert(MML.mo.prototype,{
  24. OPTABLE: {
  25. prefix: {
  26. '\u2A03': MO.OP, // n-ary union operator with dot
  27. '\u2A05': MO.OP, // n-ary square intersection operator
  28. '\u2A07': MO.OP, // two logical and operator
  29. '\u2A08': MO.OP, // two logical or operator
  30. '\u2A09': MO.OP, // n-ary times operator
  31. '\u2A0A': MO.OP, // modulo two sum
  32. '\u2A0B': MO.INTEGRAL2, // summation with integral
  33. '\u2A0C': MO.INTEGRAL, // quadruple integral operator
  34. '\u2A0D': MO.INTEGRAL2, // finite part integral
  35. '\u2A0E': MO.INTEGRAL2, // integral with double stroke
  36. '\u2A0F': MO.INTEGRAL2, // integral average with slash
  37. '\u2A10': MO.OP, // circulation function
  38. '\u2A11': MO.OP, // anticlockwise integration
  39. '\u2A12': MO.OP, // line integration with rectangular path around pole
  40. '\u2A13': MO.OP, // line integration with semicircular path around pole
  41. '\u2A14': MO.OP, // line integration not including the pole
  42. '\u2A15': MO.INTEGRAL2, // integral around a point operator
  43. '\u2A16': MO.INTEGRAL2, // quaternion integral operator
  44. '\u2A17': MO.INTEGRAL2, // integral with leftwards arrow with hook
  45. '\u2A18': MO.INTEGRAL2, // integral with times sign
  46. '\u2A19': MO.INTEGRAL2, // integral with intersection
  47. '\u2A1A': MO.INTEGRAL2, // integral with union
  48. '\u2A1B': MO.INTEGRAL2, // integral with overbar
  49. '\u2A1C': MO.INTEGRAL2, // integral with underbar
  50. '\u2AFC': MO.OP, // large triple vertical bar operator
  51. '\u2AFF': MO.OP // n-ary white vertical bar
  52. },
  53. infix: {
  54. '\u2A1D': MO.BIN3, // join
  55. '\u2A1E': MO.BIN3, // large left triangle operator
  56. '\u2A1F': MO.BIN3, // z notation schema composition
  57. '\u2A20': MO.BIN3, // z notation schema piping
  58. '\u2A21': MO.BIN3, // z notation schema projection
  59. '\u2A22': MO.BIN4, // plus sign with small circle above
  60. '\u2A23': MO.BIN4, // plus sign with circumflex accent above
  61. '\u2A24': MO.BIN4, // plus sign with tilde above
  62. '\u2A25': MO.BIN4, // plus sign with dot below
  63. '\u2A26': MO.BIN4, // plus sign with tilde below
  64. '\u2A27': MO.BIN4, // plus sign with subscript two
  65. '\u2A28': MO.BIN4, // plus sign with black triangle
  66. '\u2A29': MO.BIN4, // minus sign with comma above
  67. '\u2A2A': MO.BIN4, // minus sign with dot below
  68. '\u2A2B': MO.BIN4, // minus sign with falling dots
  69. '\u2A2C': MO.BIN4, // minus sign with rising dots
  70. '\u2A2D': MO.BIN4, // plus sign in left half circle
  71. '\u2A2E': MO.BIN4, // plus sign in right half circle
  72. '\u2A30': MO.BIN4, // multiplication sign with dot above
  73. '\u2A31': MO.BIN4, // multiplication sign with underbar
  74. '\u2A32': MO.BIN4, // semidirect product with bottom closed
  75. '\u2A33': MO.BIN4, // smash product
  76. '\u2A34': MO.BIN4, // multiplication sign in left half circle
  77. '\u2A35': MO.BIN4, // multiplication sign in right half circle
  78. '\u2A36': MO.BIN4, // circled multiplication sign with circumflex accent
  79. '\u2A37': MO.BIN4, // multiplication sign in double circle
  80. '\u2A38': MO.BIN4, // circled division sign
  81. '\u2A39': MO.BIN4, // plus sign in triangle
  82. '\u2A3A': MO.BIN4, // minus sign in triangle
  83. '\u2A3B': MO.BIN4, // multiplication sign in triangle
  84. '\u2A3C': MO.BIN4, // interior product
  85. '\u2A3D': MO.BIN4, // righthand interior product
  86. '\u2A3E': MO.BIN4, // z notation relational composition
  87. '\u2A40': MO.BIN4, // intersection with dot
  88. '\u2A41': MO.BIN4, // union with minus sign
  89. '\u2A42': MO.BIN4, // union with overbar
  90. '\u2A43': MO.BIN4, // intersection with overbar
  91. '\u2A44': MO.BIN4, // intersection with logical and
  92. '\u2A45': MO.BIN4, // union with logical or
  93. '\u2A46': MO.BIN4, // union above intersection
  94. '\u2A47': MO.BIN4, // intersection above union
  95. '\u2A48': MO.BIN4, // union above bar above intersection
  96. '\u2A49': MO.BIN4, // intersection above bar above union
  97. '\u2A4A': MO.BIN4, // union beside and joined with union
  98. '\u2A4B': MO.BIN4, // intersection beside and joined with intersection
  99. '\u2A4C': MO.BIN4, // closed union with serifs
  100. '\u2A4D': MO.BIN4, // closed intersection with serifs
  101. '\u2A4E': MO.BIN4, // double square intersection
  102. '\u2A4F': MO.BIN4, // double square union
  103. '\u2A50': MO.BIN4, // closed union with serifs and smash product
  104. '\u2A51': MO.BIN4, // logical and with dot above
  105. '\u2A52': MO.BIN4, // logical or with dot above
  106. '\u2A53': MO.BIN4, // double logical and
  107. '\u2A54': MO.BIN4, // double logical or
  108. '\u2A55': MO.BIN4, // two intersecting logical and
  109. '\u2A56': MO.BIN4, // two intersecting logical or
  110. '\u2A57': MO.BIN4, // sloping large or
  111. '\u2A58': MO.BIN4, // sloping large and
  112. '\u2A59': MO.REL, // logical or overlapping logical and
  113. '\u2A5A': MO.BIN4, // logical and with middle stem
  114. '\u2A5B': MO.BIN4, // logical or with middle stem
  115. '\u2A5C': MO.BIN4, // logical and with horizontal dash
  116. '\u2A5D': MO.BIN4, // logical or with horizontal dash
  117. '\u2A5E': MO.BIN4, // logical and with double overbar
  118. '\u2A5F': MO.BIN4, // logical and with underbar
  119. '\u2A60': MO.BIN4, // logical and with double underbar
  120. '\u2A61': MO.BIN4, // small vee with underbar
  121. '\u2A62': MO.BIN4, // logical or with double overbar
  122. '\u2A63': MO.BIN4, // logical or with double underbar
  123. '\u2A64': MO.BIN4, // z notation domain antirestriction
  124. '\u2A65': MO.BIN4, // z notation range antirestriction
  125. '\u2A66': MO.REL, // equals sign with dot below
  126. '\u2A67': MO.REL, // identical with dot above
  127. '\u2A68': MO.REL, // triple horizontal bar with double vertical stroke
  128. '\u2A69': MO.REL, // triple horizontal bar with triple vertical stroke
  129. '\u2A6A': MO.REL, // tilde operator with dot above
  130. '\u2A6B': MO.REL, // tilde operator with rising dots
  131. '\u2A6C': MO.REL, // similar minus similar
  132. '\u2A6D': MO.REL, // congruent with dot above
  133. '\u2A6E': MO.REL, // equals with asterisk
  134. '\u2A6F': MO.REL, // almost equal to with circumflex accent
  135. '\u2A70': MO.REL, // approximately equal or equal to
  136. '\u2A71': MO.BIN4, // equals sign above plus sign
  137. '\u2A72': MO.BIN4, // plus sign above equals sign
  138. '\u2A73': MO.REL, // equals sign above tilde operator
  139. '\u2A74': MO.REL, // double colon equal
  140. '\u2A75': MO.REL, // two consecutive equals signs
  141. '\u2A76': MO.REL, // three consecutive equals signs
  142. '\u2A77': MO.REL, // equals sign with two dots above and two dots below
  143. '\u2A78': MO.REL, // equivalent with four dots above
  144. '\u2A79': MO.REL, // less-than with circle inside
  145. '\u2A7A': MO.REL, // greater-than with circle inside
  146. '\u2A7B': MO.REL, // less-than with question mark above
  147. '\u2A7C': MO.REL, // greater-than with question mark above
  148. '\u2A7D': MO.REL, // less-than or slanted equal to
  149. '\u2A7D\u0338': MO.REL, // less-than or slanted equal to with slash
  150. '\u2A7E': MO.REL, // greater-than or slanted equal to
  151. '\u2A7E\u0338': MO.REL, // greater-than or slanted equal to with slash
  152. '\u2A7F': MO.REL, // less-than or slanted equal to with dot inside
  153. '\u2A80': MO.REL, // greater-than or slanted equal to with dot inside
  154. '\u2A81': MO.REL, // less-than or slanted equal to with dot above
  155. '\u2A82': MO.REL, // greater-than or slanted equal to with dot above
  156. '\u2A83': MO.REL, // less-than or slanted equal to with dot above right
  157. '\u2A84': MO.REL, // greater-than or slanted equal to with dot above left
  158. '\u2A85': MO.REL, // less-than or approximate
  159. '\u2A86': MO.REL, // greater-than or approximate
  160. '\u2A87': MO.REL, // less-than and single-line not equal to
  161. '\u2A88': MO.REL, // greater-than and single-line not equal to
  162. '\u2A89': MO.REL, // less-than and not approximate
  163. '\u2A8A': MO.REL, // greater-than and not approximate
  164. '\u2A8B': MO.REL, // less-than above double-line equal above greater-than
  165. '\u2A8C': MO.REL, // greater-than above double-line equal above less-than
  166. '\u2A8D': MO.REL, // less-than above similar or equal
  167. '\u2A8E': MO.REL, // greater-than above similar or equal
  168. '\u2A8F': MO.REL, // less-than above similar above greater-than
  169. '\u2A90': MO.REL, // greater-than above similar above less-than
  170. '\u2A91': MO.REL, // less-than above greater-than above double-line equal
  171. '\u2A92': MO.REL, // greater-than above less-than above double-line equal
  172. '\u2A93': MO.REL, // less-than above slanted equal above greater-than above slanted equal
  173. '\u2A94': MO.REL, // greater-than above slanted equal above less-than above slanted equal
  174. '\u2A95': MO.REL, // slanted equal to or less-than
  175. '\u2A96': MO.REL, // slanted equal to or greater-than
  176. '\u2A97': MO.REL, // slanted equal to or less-than with dot inside
  177. '\u2A98': MO.REL, // slanted equal to or greater-than with dot inside
  178. '\u2A99': MO.REL, // double-line equal to or less-than
  179. '\u2A9A': MO.REL, // double-line equal to or greater-than
  180. '\u2A9B': MO.REL, // double-line slanted equal to or less-than
  181. '\u2A9C': MO.REL, // double-line slanted equal to or greater-than
  182. '\u2A9D': MO.REL, // similar or less-than
  183. '\u2A9E': MO.REL, // similar or greater-than
  184. '\u2A9F': MO.REL, // similar above less-than above equals sign
  185. '\u2AA0': MO.REL, // similar above greater-than above equals sign
  186. '\u2AA1': MO.REL, // double nested less-than
  187. '\u2AA1\u0338': MO.REL, // double nested less-than with slash
  188. '\u2AA2': MO.REL, // double nested greater-than
  189. '\u2AA2\u0338': MO.REL, // double nested greater-than with slash
  190. '\u2AA3': MO.REL, // double nested less-than with underbar
  191. '\u2AA4': MO.REL, // greater-than overlapping less-than
  192. '\u2AA5': MO.REL, // greater-than beside less-than
  193. '\u2AA6': MO.REL, // less-than closed by curve
  194. '\u2AA7': MO.REL, // greater-than closed by curve
  195. '\u2AA8': MO.REL, // less-than closed by curve above slanted equal
  196. '\u2AA9': MO.REL, // greater-than closed by curve above slanted equal
  197. '\u2AAA': MO.REL, // smaller than
  198. '\u2AAB': MO.REL, // larger than
  199. '\u2AAC': MO.REL, // smaller than or equal to
  200. '\u2AAD': MO.REL, // larger than or equal to
  201. '\u2AAE': MO.REL, // equals sign with bumpy above
  202. '\u2AAF\u0338': MO.REL, // precedes above single-line equals sign with slash
  203. '\u2AB0\u0338': MO.REL, // succeeds above single-line equals sign with slash
  204. '\u2AB1': MO.REL, // precedes above single-line not equal to
  205. '\u2AB2': MO.REL, // succeeds above single-line not equal to
  206. '\u2AB3': MO.REL, // precedes above equals sign
  207. '\u2AB4': MO.REL, // succeeds above equals sign
  208. '\u2AB5': MO.REL, // precedes above not equal to
  209. '\u2AB6': MO.REL, // succeeds above not equal to
  210. '\u2AB7': MO.REL, // precedes above almost equal to
  211. '\u2AB8': MO.REL, // succeeds above almost equal to
  212. '\u2AB9': MO.REL, // precedes above not almost equal to
  213. '\u2ABA': MO.REL, // succeeds above not almost equal to
  214. '\u2ABB': MO.REL, // double precedes
  215. '\u2ABC': MO.REL, // double succeeds
  216. '\u2ABD': MO.REL, // subset with dot
  217. '\u2ABE': MO.REL, // superset with dot
  218. '\u2ABF': MO.REL, // subset with plus sign below
  219. '\u2AC0': MO.REL, // superset with plus sign below
  220. '\u2AC1': MO.REL, // subset with multiplication sign below
  221. '\u2AC2': MO.REL, // superset with multiplication sign below
  222. '\u2AC3': MO.REL, // subset of or equal to with dot above
  223. '\u2AC4': MO.REL, // superset of or equal to with dot above
  224. '\u2AC5': MO.REL, // subset of above equals sign
  225. '\u2AC6': MO.REL, // superset of above equals sign
  226. '\u2AC7': MO.REL, // subset of above tilde operator
  227. '\u2AC8': MO.REL, // superset of above tilde operator
  228. '\u2AC9': MO.REL, // subset of above almost equal to
  229. '\u2ACA': MO.REL, // superset of above almost equal to
  230. '\u2ACB': MO.REL, // subset of above not equal to
  231. '\u2ACC': MO.REL, // superset of above not equal to
  232. '\u2ACD': MO.REL, // square left open box operator
  233. '\u2ACE': MO.REL, // square right open box operator
  234. '\u2ACF': MO.REL, // closed subset
  235. '\u2AD0': MO.REL, // closed superset
  236. '\u2AD1': MO.REL, // closed subset or equal to
  237. '\u2AD2': MO.REL, // closed superset or equal to
  238. '\u2AD3': MO.REL, // subset above superset
  239. '\u2AD4': MO.REL, // superset above subset
  240. '\u2AD5': MO.REL, // subset above subset
  241. '\u2AD6': MO.REL, // superset above superset
  242. '\u2AD7': MO.REL, // superset beside subset
  243. '\u2AD8': MO.REL, // superset beside and joined by dash with subset
  244. '\u2AD9': MO.REL, // element of opening downwards
  245. '\u2ADA': MO.REL, // pitchfork with tee top
  246. '\u2ADB': MO.REL, // transversal intersection
  247. '\u2ADC': MO.REL, // forking
  248. '\u2ADD': MO.REL, // nonforking
  249. '\u2ADE': MO.REL, // short left tack
  250. '\u2ADF': MO.REL, // short down tack
  251. '\u2AE0': MO.REL, // short up tack
  252. '\u2AE1': MO.REL, // perpendicular with s
  253. '\u2AE2': MO.REL, // vertical bar triple right turnstile
  254. '\u2AE3': MO.REL, // double vertical bar left turnstile
  255. '\u2AE4': MO.REL, // vertical bar double left turnstile
  256. '\u2AE5': MO.REL, // double vertical bar double left turnstile
  257. '\u2AE6': MO.REL, // long dash from left member of double vertical
  258. '\u2AE7': MO.REL, // short down tack with overbar
  259. '\u2AE8': MO.REL, // short up tack with underbar
  260. '\u2AE9': MO.REL, // short up tack above short down tack
  261. '\u2AEA': MO.REL, // double down tack
  262. '\u2AEB': MO.REL, // double up tack
  263. '\u2AEC': MO.REL, // double stroke not sign
  264. '\u2AED': MO.REL, // reversed double stroke not sign
  265. '\u2AEE': MO.REL, // does not divide with reversed negation slash
  266. '\u2AEF': MO.REL, // vertical line with circle above
  267. '\u2AF0': MO.REL, // vertical line with circle below
  268. '\u2AF1': MO.REL, // down tack with circle below
  269. '\u2AF2': MO.REL, // parallel with horizontal stroke
  270. '\u2AF3': MO.REL, // parallel with tilde operator
  271. '\u2AF4': MO.BIN4, // triple vertical bar binary relation
  272. '\u2AF5': MO.BIN4, // triple vertical bar with horizontal stroke
  273. '\u2AF6': MO.BIN4, // triple colon operator
  274. '\u2AF7': MO.REL, // triple nested less-than
  275. '\u2AF8': MO.REL, // triple nested greater-than
  276. '\u2AF9': MO.REL, // double-line slanted less-than or equal to
  277. '\u2AFA': MO.REL, // double-line slanted greater-than or equal to
  278. '\u2AFB': MO.BIN4, // triple solidus binary relation
  279. '\u2AFD': MO.BIN4, // double solidus operator
  280. '\u2AFE': MO.BIN3 // white vertical bar
  281. }
  282. }
  283. });
  284. MathJax.Ajax.loadComplete(MML.optableDir+"/SuppMathOperators.js");
  285. })(MathJax.ElementJax.mml);