gollum 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of gollum might be problematic. Click here for more details.

Files changed (765) hide show
  1. data/Gemfile +3 -0
  2. data/HISTORY.md +14 -2
  3. data/Home.md +3 -0
  4. data/README.md +24 -7
  5. data/bin/gollum +25 -6
  6. data/gollum.gemspec +336 -39
  7. data/lib/gollum.rb +5 -44
  8. data/lib/gollum/albino.rb +4 -29
  9. data/lib/gollum/blob_entry.rb +15 -8
  10. data/lib/gollum/committer.rb +217 -0
  11. data/lib/gollum/file.rb +2 -3
  12. data/lib/gollum/frontend/app.rb +64 -23
  13. data/lib/gollum/frontend/public/css/dialog.css +141 -0
  14. data/lib/gollum/frontend/public/css/editor.css +537 -0
  15. data/lib/gollum/frontend/public/css/gollum.css +643 -33
  16. data/lib/gollum/frontend/public/css/ie7.css +69 -0
  17. data/lib/gollum/frontend/public/css/template.css +316 -0
  18. data/lib/gollum/frontend/public/images/icon-sprite.png +0 -0
  19. data/lib/gollum/frontend/public/javascript/MathJax/MathJax.js +17 -1678
  20. data/lib/gollum/frontend/public/javascript/MathJax/config/MMLorHTML.js +10 -55
  21. data/lib/gollum/frontend/public/javascript/MathJax/config/MathJax.js +288 -49
  22. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.buildinfo +4 -0
  23. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/CSS-styles.doctree +0 -0
  24. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/HTML-snippets.doctree +0 -0
  25. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/ajax.doctree +0 -0
  26. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/callback.doctree +0 -0
  27. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/elementjax.doctree +0 -0
  28. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/html.doctree +0 -0
  29. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/hub.doctree +0 -0
  30. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/index.doctree +0 -0
  31. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/inputjax.doctree +0 -0
  32. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/jax.doctree +0 -0
  33. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/message.doctree +0 -0
  34. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/object.doctree +0 -0
  35. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/outputjax.doctree +0 -0
  36. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/queue.doctree +0 -0
  37. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/signal.doctree +0 -0
  38. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/variable.doctree +0 -0
  39. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/callbacks.doctree +0 -0
  40. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/community.doctree +0 -0
  41. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/configuration.doctree +0 -0
  42. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/dynamic.doctree +0 -0
  43. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/environment.pickle +0 -0
  44. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/glossary.doctree +0 -0
  45. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/index.doctree +0 -0
  46. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/installation.doctree +0 -0
  47. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/jsMath.doctree +0 -0
  48. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/mathjax.doctree +0 -0
  49. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/mathml.doctree +0 -0
  50. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/model.doctree +0 -0
  51. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/FontWarnings.doctree +0 -0
  52. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/HTML-CSS.doctree +0 -0
  53. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/MMLorHTML.doctree +0 -0
  54. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/MathML.doctree +0 -0
  55. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/MathMenu.doctree +0 -0
  56. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/MathZoom.doctree +0 -0
  57. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/NativeMML.doctree +0 -0
  58. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/TeX.doctree +0 -0
  59. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/hub.doctree +0 -0
  60. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/jsMath2jax.doctree +0 -0
  61. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/mml2jax.doctree +0 -0
  62. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/tex2jax.doctree +0 -0
  63. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/output.doctree +0 -0
  64. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/platforms/index.doctree +0 -0
  65. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/platforms/movable-type.doctree +0 -0
  66. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/platforms/wordpress.doctree +0 -0
  67. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/queues.doctree +0 -0
  68. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/signals.doctree +0 -0
  69. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/start.doctree +0 -0
  70. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/startup.doctree +0 -0
  71. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/synchronize.doctree +0 -0
  72. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/tex.doctree +0 -0
  73. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/typeset.doctree +0 -0
  74. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/CSS-styles.html +173 -0
  75. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/HTML-snippets.html +170 -0
  76. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_images/badge.gif +0 -0
  77. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_images/mt_head.png +0 -0
  78. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_images/mt_menu.png +0 -0
  79. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_images/mt_templates.png +0 -0
  80. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_images/wp_menu.png +0 -0
  81. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_images/wp_templates.png +0 -0
  82. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/CSS-styles.txt +79 -0
  83. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/HTML-snippets.txt +83 -0
  84. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/ajax.txt +196 -0
  85. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/callback.txt +259 -0
  86. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/elementjax.txt +122 -0
  87. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/html.txt +122 -0
  88. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/hub.txt +330 -0
  89. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/index.txt +44 -0
  90. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/inputjax.txt +86 -0
  91. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/jax.txt +148 -0
  92. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/message.txt +86 -0
  93. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/object.txt +210 -0
  94. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/outputjax.txt +100 -0
  95. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/queue.txt +99 -0
  96. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/signal.txt +154 -0
  97. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/variable.txt +83 -0
  98. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/callbacks.txt +228 -0
  99. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/community.txt +60 -0
  100. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/configuration.txt +375 -0
  101. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/dynamic.txt +181 -0
  102. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/glossary.txt +75 -0
  103. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/index.txt +71 -0
  104. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/installation.txt +184 -0
  105. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/jsMath.txt +31 -0
  106. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/mathjax.txt +36 -0
  107. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/mathml.txt +97 -0
  108. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/model.txt +224 -0
  109. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/FontWarnings.txt +140 -0
  110. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/HTML-CSS.txt +119 -0
  111. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/MMLorHTML.txt +42 -0
  112. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/MathML.txt +27 -0
  113. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/MathMenu.txt +79 -0
  114. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/MathZoom.txt +42 -0
  115. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/NativeMML.txt +61 -0
  116. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/TeX.txt +67 -0
  117. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/hub.txt +209 -0
  118. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/jsMath2jax.txt +53 -0
  119. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/mml2jax.txt +53 -0
  120. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/tex2jax.txt +137 -0
  121. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/output.txt +126 -0
  122. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/platforms/index.txt +65 -0
  123. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/platforms/movable-type.txt +41 -0
  124. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/platforms/wordpress.txt +42 -0
  125. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/queues.txt +254 -0
  126. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/signals.txt +161 -0
  127. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/start.txt +314 -0
  128. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/startup.txt +152 -0
  129. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/synchronize.txt +65 -0
  130. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/tex.txt +1090 -0
  131. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/typeset.txt +229 -0
  132. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/basic.css +509 -0
  133. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/doctools.js +247 -0
  134. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/file.png +0 -0
  135. data/lib/gollum/frontend/public/javascript/{jquery-1.4.2.min.js → MathJax/docs/html/_static/jquery.js} +1 -1
  136. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/mathjax_mathml.user.js +22 -0
  137. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/mathjax_wikipedia.user.js +35 -0
  138. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/minus.png +0 -0
  139. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/mj.css +223 -0
  140. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/plus.png +0 -0
  141. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/pygments.css +61 -0
  142. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/searchtools.js +505 -0
  143. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/underscore.js +16 -0
  144. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/api/ajax.html +406 -0
  145. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/api/callback.html +435 -0
  146. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/api/elementjax.html +283 -0
  147. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/api/html.html +292 -0
  148. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/api/hub.html +674 -0
  149. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/api/index.html +144 -0
  150. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/api/inputjax.html +221 -0
  151. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/api/jax.html +319 -0
  152. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/api/message.html +224 -0
  153. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/api/object.html +356 -0
  154. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/api/outputjax.html +246 -0
  155. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/api/queue.html +247 -0
  156. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/api/signal.html +334 -0
  157. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/api/variable.html +220 -0
  158. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/callbacks.html +305 -0
  159. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/community.html +155 -0
  160. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/configuration.html +434 -0
  161. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/dynamic.html +274 -0
  162. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/genindex.html +295 -0
  163. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/glossary.html +160 -0
  164. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/index.html +177 -0
  165. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/installation.html +262 -0
  166. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/jsMath.html +128 -0
  167. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/mathjax.html +137 -0
  168. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/mathml.html +194 -0
  169. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/model.html +305 -0
  170. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/objects.inv +0 -0
  171. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/options/FontWarnings.html +264 -0
  172. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/options/HTML-CSS.html +241 -0
  173. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/options/MMLorHTML.html +143 -0
  174. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/options/MathML.html +132 -0
  175. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/options/MathMenu.html +194 -0
  176. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/options/MathZoom.html +147 -0
  177. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/options/NativeMML.html +171 -0
  178. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/options/TeX.html +175 -0
  179. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/options/hub.html +342 -0
  180. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/options/jsMath2jax.html +154 -0
  181. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/options/mml2jax.html +154 -0
  182. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/options/tex2jax.html +249 -0
  183. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/output.html +218 -0
  184. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/platforms/index.html +168 -0
  185. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/platforms/movable-type.html +145 -0
  186. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/platforms/wordpress.html +146 -0
  187. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/queues.html +334 -0
  188. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/search.html +95 -0
  189. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/searchindex.js +1 -0
  190. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/signals.html +257 -0
  191. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/start.html +374 -0
  192. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/startup.html +239 -0
  193. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/synchronize.html +161 -0
  194. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/tex.html +1152 -0
  195. data/lib/gollum/frontend/public/javascript/MathJax/docs/html/typeset.html +318 -0
  196. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/CSS-styles.rst +79 -0
  197. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/HTML-snippets.rst +83 -0
  198. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/_static/mathjax_mathml.user.js +22 -0
  199. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/_static/mathjax_wikipedia.user.js +35 -0
  200. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/ajax.rst +196 -0
  201. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/callback.rst +259 -0
  202. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/elementjax.rst +122 -0
  203. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/html.rst +122 -0
  204. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/hub.rst +330 -0
  205. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/index.rst +44 -0
  206. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/inputjax.rst +86 -0
  207. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/jax.rst +148 -0
  208. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/message.rst +86 -0
  209. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/object.rst +210 -0
  210. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/outputjax.rst +100 -0
  211. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/queue.rst +99 -0
  212. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/signal.rst +154 -0
  213. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/variable.rst +83 -0
  214. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/callbacks.rst +228 -0
  215. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/community.rst +60 -0
  216. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/conf.py +198 -0
  217. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/configuration.rst +375 -0
  218. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/dynamic.rst +181 -0
  219. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/glossary.rst +75 -0
  220. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/images/mt_head.png +0 -0
  221. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/images/mt_menu.png +0 -0
  222. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/images/mt_templates.png +0 -0
  223. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/images/wp_menu.png +0 -0
  224. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/images/wp_templates.png +0 -0
  225. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/index.rst +71 -0
  226. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/installation.rst +184 -0
  227. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/jsMath.rst +31 -0
  228. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/mathjax.rst +36 -0
  229. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/mathml.rst +97 -0
  230. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/mjtheme/static/mj.css_t +256 -0
  231. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/mjtheme/theme.conf +30 -0
  232. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/model.rst +224 -0
  233. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/FontWarnings.rst +140 -0
  234. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/HTML-CSS.rst +119 -0
  235. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/MMLorHTML.rst +42 -0
  236. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/MathML.rst +27 -0
  237. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/MathMenu.rst +79 -0
  238. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/MathZoom.rst +42 -0
  239. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/NativeMML.rst +61 -0
  240. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/TeX.rst +67 -0
  241. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/hub.rst +209 -0
  242. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/jsMath2jax.rst +53 -0
  243. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/mml2jax.rst +53 -0
  244. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/tex2jax.rst +137 -0
  245. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/output.rst +126 -0
  246. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/platforms/index.rst +65 -0
  247. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/platforms/movable-type.rst +41 -0
  248. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/platforms/wordpress.rst +42 -0
  249. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/queues.rst +254 -0
  250. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/signals.rst +161 -0
  251. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/start.rst +314 -0
  252. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/startup.rst +152 -0
  253. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/synchronize.rst +65 -0
  254. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/tex.rst +1090 -0
  255. data/lib/gollum/frontend/public/javascript/MathJax/docs/rst/typeset.rst +229 -0
  256. data/lib/gollum/frontend/public/javascript/MathJax/extensions/FontWarnings.js +18 -0
  257. data/lib/gollum/frontend/public/javascript/MathJax/extensions/MathMenu.js +18 -0
  258. data/lib/gollum/frontend/public/javascript/MathJax/extensions/MathZoom.js +18 -0
  259. data/lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/AMSmath.js +11 -369
  260. data/lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/AMSsymbols.js +11 -378
  261. data/lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/autobold.js +11 -36
  262. data/lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/boldsymbol.js +10 -101
  263. data/lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/mathchoice.js +10 -57
  264. data/lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/newcommand.js +10 -177
  265. data/lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/noErrors.js +10 -161
  266. data/lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/noUndefined.js +18 -0
  267. data/lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/unicode.js +10 -123
  268. data/lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/verb.js +10 -45
  269. data/lib/gollum/frontend/public/javascript/MathJax/extensions/jsMath2jax.js +10 -69
  270. data/lib/gollum/frontend/public/javascript/MathJax/extensions/mml2jax.js +10 -93
  271. data/lib/gollum/frontend/public/javascript/MathJax/extensions/tex2jax.js +10 -234
  272. data/lib/gollum/frontend/public/javascript/MathJax/extensions/toMathML.js +10 -132
  273. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/jax.js +11 -1466
  274. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/Arrows.js +11 -115
  275. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/BasicLatin.js +11 -51
  276. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/CombDiacritMarks.js +11 -28
  277. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/CombDiactForSymbols.js +11 -28
  278. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/Dingbats.js +11 -28
  279. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/GeneralPunctuation.js +11 -33
  280. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/GeometricShapes.js +11 -59
  281. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/GreekAndCoptic.js +11 -28
  282. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/Latin1Supplement.js +11 -30
  283. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/LetterlikeSymbols.js +11 -32
  284. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/MathOperators.js +11 -221
  285. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/MiscMathSymbolsA.js +11 -31
  286. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/MiscMathSymbolsB.js +11 -160
  287. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/MiscTechnical.js +11 -31
  288. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/SpacingModLetters.js +11 -29
  289. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/SuppMathOperators.js +11 -282
  290. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/SupplementalArrowsB.js +11 -155
  291. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/config.js +11 -32
  292. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/a.js +11 -80
  293. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/b.js +11 -107
  294. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/c.js +11 -104
  295. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/d.js +11 -105
  296. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/e.js +11 -81
  297. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/f.js +11 -51
  298. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/fr.js +11 -72
  299. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/g.js +11 -75
  300. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/h.js +11 -45
  301. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/i.js +11 -78
  302. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/j.js +11 -29
  303. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/k.js +11 -29
  304. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/l.js +11 -168
  305. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/m.js +11 -54
  306. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/n.js +11 -212
  307. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/o.js +11 -81
  308. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/opf.js +11 -72
  309. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/p.js +11 -77
  310. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/q.js +11 -27
  311. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/r.js +11 -127
  312. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/s.js +11 -161
  313. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/scr.js +11 -72
  314. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/t.js +11 -75
  315. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/u.js +11 -84
  316. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/v.js +11 -66
  317. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/w.js +11 -28
  318. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/x.js +11 -40
  319. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/y.js +11 -34
  320. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/z.js +11 -32
  321. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/jax.js +10 -582
  322. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/TeX/config.js +11 -33
  323. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/TeX/jax.js +11 -1644
  324. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/autoload/maction.js +18 -0
  325. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/autoload/menclose.js +10 -53
  326. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/autoload/mglyph.js +10 -90
  327. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/autoload/mmultiscripts.js +18 -0
  328. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/autoload/ms.js +10 -41
  329. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/autoload/mtable.js +18 -0
  330. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/autoload/multiline.js +18 -0
  331. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/config.js +10 -119
  332. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/AlphaPresentForms.js +12 -26
  333. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Arrows.js +12 -103
  334. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BoldFraktur.js +12 -73
  335. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BoxDrawing.js +12 -61
  336. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CombDiacritMarks.js +12 -92
  337. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CombDiactForSymbols.js +12 -43
  338. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/ControlPictures.js +12 -22
  339. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CurrencySymbols.js +12 -25
  340. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Cyrillic.js +12 -123
  341. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/EnclosedAlphanum.js +12 -83
  342. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeneralPunctuation.js +12 -61
  343. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeometricShapes.js +12 -27
  344. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekAndCoptic.js +12 -103
  345. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekBold.js +12 -79
  346. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekSSBold.js +12 -79
  347. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/IPAExtensions.js +12 -110
  348. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Latin1Supplement.js +12 -117
  349. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedA.js +12 -149
  350. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedAdditional.js +12 -29
  351. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedB.js +12 -53
  352. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LetterlikeSymbols.js +12 -63
  353. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Main.js +12 -166
  354. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathBold.js +12 -83
  355. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathOperators.js +12 -254
  356. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathSSBold.js +12 -83
  357. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsA.js +12 -25
  358. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsB.js +12 -31
  359. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscSymbols.js +12 -24
  360. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscTechnical.js +12 -36
  361. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/NumberForms.js +12 -33
  362. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/PhoneticExtensions.js +12 -24
  363. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SpacingModLetters.js +12 -81
  364. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuperAndSubscripts.js +12 -22
  365. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuppMathOperators.js +12 -78
  366. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/AlphaPresentForms.js +12 -26
  367. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/BasicLatin.js +12 -116
  368. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/BoxDrawing.js +12 -61
  369. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CombDiactForSymbols.js +12 -22
  370. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/ControlPictures.js +12 -22
  371. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CurrencySymbols.js +12 -25
  372. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Cyrillic.js +12 -123
  373. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/EnclosedAlphanum.js +12 -83
  374. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GeneralPunctuation.js +12 -44
  375. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekAndCoptic.js +12 -113
  376. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekBoldItalic.js +12 -79
  377. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekSSBoldItalic.js +12 -79
  378. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/IPAExtensions.js +12 -110
  379. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Latin1Supplement.js +12 -117
  380. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedA.js +12 -149
  381. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedAdditional.js +12 -29
  382. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedB.js +12 -53
  383. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LetterlikeSymbols.js +12 -50
  384. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Main.js +12 -50
  385. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathBoldItalic.js +12 -73
  386. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathBoldScript.js +12 -73
  387. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathOperators.js +12 -23
  388. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathSSItalicBold.js +12 -73
  389. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/SpacingModLetters.js +12 -48
  390. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/AlphaPresentForms.js +12 -26
  391. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/BoxDrawing.js +12 -61
  392. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CombDiactForSymbols.js +12 -41
  393. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ControlPictures.js +12 -22
  394. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CurrencySymbols.js +12 -25
  395. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Cyrillic.js +12 -123
  396. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/EnclosedAlphanum.js +12 -83
  397. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GeneralPunctuation.js +12 -44
  398. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GreekAndCoptic.js +12 -72
  399. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GreekItalic.js +12 -79
  400. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/IPAExtensions.js +12 -110
  401. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Latin1Supplement.js +12 -117
  402. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedA.js +12 -148
  403. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedAdditional.js +12 -29
  404. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedB.js +12 -52
  405. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LetterlikeSymbols.js +12 -50
  406. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Main.js +12 -186
  407. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathItalic.js +12 -72
  408. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathOperators.js +12 -23
  409. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathSSItalic.js +12 -73
  410. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathScript.js +12 -62
  411. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/SpacingModLetters.js +12 -48
  412. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ij.js +12 -23
  413. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/AlphaPresentForms.js +12 -26
  414. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Arrows.js +12 -100
  415. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BBBold.js +12 -76
  416. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BlockElements.js +12 -29
  417. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BoldFraktur.js +12 -73
  418. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BoxDrawing.js +12 -66
  419. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CJK.js +12 -23
  420. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CombDiacritMarks.js +12 -80
  421. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CombDiactForSymbols.js +12 -44
  422. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ControlPictures.js +12 -22
  423. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CurrencySymbols.js +12 -25
  424. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Cyrillic.js +12 -123
  425. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Dingbats.js +12 -51
  426. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/EnclosedAlphanum.js +12 -83
  427. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Fraktur.js +12 -68
  428. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GeneralPunctuation.js +12 -62
  429. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GeometricShapes.js +12 -112
  430. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekAndCoptic.js +12 -103
  431. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekBold.js +12 -79
  432. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekBoldItalic.js +12 -79
  433. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekItalic.js +12 -79
  434. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekSSBold.js +12 -79
  435. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekSSBoldItalic.js +12 -79
  436. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/IPAExtensions.js +12 -112
  437. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Latin1Supplement.js +12 -109
  438. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedA.js +12 -148
  439. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedAdditional.js +12 -29
  440. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedB.js +12 -57
  441. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedD.js +12 -22
  442. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LetterlikeSymbols.js +12 -76
  443. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Main.js +12 -374
  444. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBold.js +12 -83
  445. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBoldItalic.js +12 -73
  446. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBoldScript.js +12 -73
  447. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathItalic.js +12 -72
  448. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathOperators.js +12 -201
  449. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSS.js +12 -83
  450. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSBold.js +12 -84
  451. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSItalic.js +12 -73
  452. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSItalicBold.js +12 -73
  453. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathScript.js +12 -62
  454. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathTT.js +12 -82
  455. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscMathSymbolsA.js +12 -60
  456. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscMathSymbolsB.js +12 -148
  457. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscSymbols.js +12 -68
  458. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscSymbolsAndArrows.js +12 -85
  459. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscTechnical.js +12 -74
  460. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/NumberForms.js +12 -33
  461. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/PhoneticExtensions.js +12 -30
  462. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SpacingModLetters.js +12 -73
  463. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuperAndSubscripts.js +12 -22
  464. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuppMathOperators.js +12 -265
  465. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SupplementalArrowsA.js +12 -29
  466. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SupplementalArrowsB.js +12 -149
  467. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ij.js +12 -23
  468. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Bold/All.js +12 -49
  469. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Regular/All.js +12 -48
  470. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Regular/Main.js +12 -30
  471. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Bold/All.js +12 -49
  472. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Regular/All.js +12 -48
  473. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Regular/Main.js +12 -30
  474. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Bold/All.js +12 -49
  475. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Regular/All.js +12 -48
  476. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Regular/Main.js +12 -30
  477. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Bold/All.js +12 -49
  478. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Regular/All.js +12 -48
  479. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Regular/Main.js +12 -30
  480. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Bold/All.js +12 -49
  481. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Regular/All.js +12 -48
  482. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Regular/Main.js +12 -30
  483. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/All.js +12 -23
  484. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/Main.js +12 -29
  485. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/PrivateUse.js +12 -176
  486. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/All.js +12 -23
  487. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/Main.js +12 -30
  488. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/PrivateUse.js +12 -209
  489. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/All.js +12 -23
  490. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/Main.js +12 -54
  491. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/PrivateUse.js +12 -236
  492. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/All.js +12 -23
  493. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/Main.js +12 -51
  494. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/PrivateUse.js +12 -381
  495. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/All.js +12 -45
  496. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/Main.js +12 -37
  497. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Bold/Main.js +12 -40
  498. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/All.js +12 -57
  499. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/Main.js +12 -56
  500. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/All.js +12 -22
  501. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/Main.js +12 -46
  502. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/All.js +12 -71
  503. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/Main.js +12 -99
  504. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Bold/Main.js +12 -40
  505. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/All.js +12 -57
  506. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/Main.js +12 -56
  507. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Bold/Main.js +12 -40
  508. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Regular/All.js +12 -58
  509. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Regular/Main.js +12 -57
  510. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/All.js +12 -54
  511. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/Main.js +12 -38
  512. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/All.js +12 -114
  513. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/Main.js +12 -43
  514. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata-beta.js +10 -365
  515. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata.js +12 -1396
  516. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Arrows.js +12 -59
  517. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BBBold.js +12 -49
  518. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BoxDrawing.js +12 -27
  519. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/CombDiacritMarks.js +12 -23
  520. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Dingbats.js +12 -23
  521. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/EnclosedAlphanum.js +12 -22
  522. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeneralPunctuation.js +12 -22
  523. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeometricShapes.js +12 -30
  524. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GreekAndCoptic.js +12 -23
  525. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Latin1Supplement.js +12 -25
  526. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LatinExtendedA.js +12 -22
  527. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LetterlikeSymbols.js +12 -28
  528. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Main.js +12 -45
  529. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MathOperators.js +12 -132
  530. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscTechnical.js +12 -23
  531. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/PUA.js +12 -37
  532. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SpacingModLetters.js +12 -23
  533. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SuppMathOperators.js +12 -44
  534. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Caligraphic/Bold/Main.js +12 -90
  535. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Caligraphic/Regular/Main.js +12 -89
  536. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/BasicLatin.js +12 -103
  537. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Main.js +12 -30
  538. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Other.js +12 -24
  539. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/PUA.js +12 -28
  540. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/BasicLatin.js +12 -103
  541. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Main.js +12 -29
  542. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Other.js +12 -24
  543. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/PUA.js +12 -29
  544. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Bold/Main.js +12 -37
  545. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/BoldItalic/Main.js +12 -104
  546. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Italic/Main.js +12 -103
  547. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Regular/Main.js +12 -36
  548. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Arrows.js +12 -45
  549. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiacritMarks.js +12 -33
  550. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiactForSymbols.js +12 -22
  551. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeneralPunctuation.js +12 -38
  552. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeometricShapes.js +12 -26
  553. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GreekAndCoptic.js +12 -32
  554. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Latin1Supplement.js +12 -30
  555. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedA.js +12 -22
  556. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedB.js +12 -22
  557. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LetterlikeSymbols.js +12 -27
  558. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Main.js +12 -155
  559. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MathOperators.js +12 -88
  560. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscMathSymbolsA.js +12 -23
  561. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscSymbols.js +12 -28
  562. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscTechnical.js +12 -27
  563. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SpacingModLetters.js +12 -30
  564. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SuppMathOperators.js +12 -24
  565. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SupplementalArrowsA.js +12 -28
  566. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/CombDiacritMarks.js +12 -32
  567. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/GeneralPunctuation.js +12 -27
  568. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/GreekAndCoptic.js +12 -32
  569. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Latin1Supplement.js +12 -22
  570. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/LatinExtendedA.js +12 -22
  571. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/LatinExtendedB.js +12 -22
  572. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/LetterlikeSymbols.js +12 -22
  573. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Main.js +12 -131
  574. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/Arrows.js +12 -45
  575. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/CombDiacritMarks.js +12 -33
  576. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/CombDiactForSymbols.js +12 -22
  577. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/GeneralPunctuation.js +12 -32
  578. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/GeometricShapes.js +12 -26
  579. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/GreekAndCoptic.js +12 -32
  580. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/Latin1Supplement.js +12 -26
  581. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/LatinExtendedA.js +12 -22
  582. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/LatinExtendedB.js +12 -22
  583. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/LetterlikeSymbols.js +12 -27
  584. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/Main.js +12 -298
  585. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MathOperators.js +12 -88
  586. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MiscMathSymbolsA.js +12 -25
  587. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MiscSymbols.js +12 -28
  588. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MiscTechnical.js +12 -29
  589. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/SuppMathOperators.js +12 -24
  590. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/SupplementalArrowsA.js +12 -28
  591. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Math/BoldItalic/Main.js +12 -199
  592. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Math/Italic/Main.js +12 -198
  593. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/BasicLatin.js +12 -109
  594. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js +12 -32
  595. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/Main.js +12 -30
  596. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/Other.js +12 -41
  597. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/BasicLatin.js +12 -109
  598. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js +12 -32
  599. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/Main.js +12 -30
  600. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/Other.js +12 -41
  601. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/BasicLatin.js +12 -109
  602. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js +12 -32
  603. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/Main.js +12 -29
  604. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/Other.js +12 -41
  605. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/BasicLatin.js +12 -48
  606. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Main.js +12 -56
  607. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Size1/Regular/Main.js +12 -68
  608. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Size2/Regular/Main.js +12 -60
  609. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Size3/Regular/Main.js +12 -44
  610. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Size4/Regular/Main.js +12 -71
  611. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/BasicLatin.js +12 -117
  612. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js +12 -30
  613. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/Main.js +12 -29
  614. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/Other.js +12 -38
  615. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/WinChrome/Regular/Main.js +12 -37
  616. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/AMS.js +12 -50
  617. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Bold.js +12 -76
  618. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Main.js +12 -105
  619. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/fontdata.js +12 -1684
  620. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/imageFonts.js +10 -177
  621. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/jax.js +12 -1984
  622. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/NativeMML/config.js +10 -43
  623. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/NativeMML/jax.js +10 -222
  624. data/lib/gollum/frontend/public/javascript/MathJax/test/index-images.html +22 -14
  625. data/lib/gollum/frontend/public/javascript/MathJax/test/index.html +58 -8
  626. data/lib/gollum/frontend/public/javascript/MathJax/test/sample-dynamic.html +54 -0
  627. data/lib/gollum/frontend/public/javascript/MathJax/test/sample-mml.html +44 -0
  628. data/lib/gollum/frontend/public/javascript/MathJax/test/sample-signals.html +121 -0
  629. data/lib/gollum/frontend/public/javascript/MathJax/test/sample-tex.html +22 -0
  630. data/lib/gollum/frontend/public/javascript/MathJax/test/sample-tex2mml.html +23 -0
  631. data/lib/gollum/frontend/public/javascript/editor/gollum.editor.js +1084 -0
  632. data/lib/gollum/frontend/public/javascript/editor/langs/asciidoc.js +168 -0
  633. data/lib/gollum/frontend/public/javascript/editor/langs/creole.js +103 -0
  634. data/lib/gollum/frontend/public/javascript/editor/langs/markdown.js +211 -0
  635. data/lib/gollum/frontend/public/javascript/editor/langs/org.js +173 -0
  636. data/lib/gollum/frontend/public/javascript/editor/langs/pod.js +111 -0
  637. data/lib/gollum/frontend/public/javascript/editor/langs/rdoc.js +74 -0
  638. data/lib/gollum/frontend/public/javascript/editor/langs/textile.js +175 -0
  639. data/lib/gollum/frontend/public/javascript/gollum.dialog.js +206 -0
  640. data/lib/gollum/frontend/public/javascript/gollum.js +178 -231
  641. data/lib/gollum/frontend/public/javascript/gollum.placeholder.js +54 -0
  642. data/lib/gollum/frontend/public/javascript/jquery.color.js +123 -0
  643. data/lib/gollum/frontend/public/javascript/jquery.js +7179 -0
  644. data/lib/gollum/frontend/templates/compare.mustache +51 -31
  645. data/lib/gollum/frontend/templates/create.mustache +15 -39
  646. data/lib/gollum/frontend/templates/edit.mustache +17 -38
  647. data/lib/gollum/frontend/templates/editor.mustache +116 -0
  648. data/lib/gollum/frontend/templates/error.mustache +5 -8
  649. data/lib/gollum/frontend/templates/history.mustache +59 -36
  650. data/lib/gollum/frontend/templates/layout.mustache +24 -29
  651. data/lib/gollum/frontend/templates/page.mustache +34 -26
  652. data/lib/gollum/frontend/templates/search.mustache +35 -18
  653. data/lib/gollum/frontend/templates/searchbar.mustache +10 -0
  654. data/lib/gollum/frontend/views/compare.rb +9 -5
  655. data/lib/gollum/frontend/views/create.rb +23 -0
  656. data/lib/gollum/frontend/views/edit.rb +40 -1
  657. data/lib/gollum/frontend/views/history.rb +1 -1
  658. data/lib/gollum/frontend/views/page.rb +17 -6
  659. data/lib/gollum/frontend/views/search.rb +8 -0
  660. data/lib/gollum/git_access.rb +241 -0
  661. data/lib/gollum/markup.rb +107 -47
  662. data/lib/gollum/page.rb +114 -67
  663. data/lib/gollum/sanitization.rb +115 -0
  664. data/lib/gollum/wiki.rb +307 -267
  665. data/test/examples/lotr.git/COMMIT_EDITMSG +1 -0
  666. data/test/examples/lotr.git/config +8 -1
  667. data/test/examples/lotr.git/index +0 -0
  668. data/test/examples/lotr.git/info/exclude +1 -1
  669. data/test/examples/lotr.git/logs/HEAD +2 -0
  670. data/test/examples/lotr.git/logs/refs/heads/master +2 -0
  671. data/test/examples/lotr.git/objects/84/0ec5b1ba1320e8ec443f28f99566f615d5af10 +0 -0
  672. data/test/examples/lotr.git/objects/a3/1ca2a7c352c92531a8b99815d15843b259e814 +0 -0
  673. data/test/examples/lotr.git/objects/a8/ad3c09dd842a3517085bfadd37718856dee813 +0 -0
  674. data/test/examples/lotr.git/packed-refs +1 -1
  675. data/test/examples/lotr.git/refs/heads/master +1 -1
  676. data/test/examples/lotr.git/refs/remotes/origin/HEAD +1 -0
  677. data/test/examples/page_file_dir.git/COMMIT_EDITMSG +1 -0
  678. data/test/examples/page_file_dir.git/HEAD +1 -0
  679. data/test/examples/page_file_dir.git/config +6 -0
  680. data/test/examples/page_file_dir.git/description +1 -0
  681. data/test/examples/page_file_dir.git/index +0 -0
  682. data/test/examples/page_file_dir.git/info/exclude +6 -0
  683. data/test/examples/page_file_dir.git/logs/HEAD +1 -0
  684. data/test/examples/page_file_dir.git/logs/refs/heads/master +1 -0
  685. data/test/examples/page_file_dir.git/objects/0c/7d27db1f575263efdcab3dc650f4502a2dbcbf +0 -0
  686. data/test/examples/page_file_dir.git/objects/22/b404803c966dd92865614d86ff22ca12e50c1e +0 -0
  687. data/test/examples/page_file_dir.git/objects/25/7cc5642cb1a054f08cc83f2d943e56fd3ebe99 +0 -0
  688. data/test/examples/page_file_dir.git/objects/57/16ca5987cbf97d6bb54920bea6adde242d87e6 +0 -0
  689. data/test/examples/page_file_dir.git/objects/5b/43e14e0a15fb6f08feab1773d1c0991e9f71e2 +0 -0
  690. data/test/examples/page_file_dir.git/refs/heads/master +1 -0
  691. data/test/examples/revert.git/COMMIT_EDITMSG +1 -0
  692. data/test/examples/revert.git/HEAD +1 -0
  693. data/test/examples/revert.git/config +12 -0
  694. data/test/examples/revert.git/description +1 -0
  695. data/test/examples/revert.git/index +0 -0
  696. data/test/examples/revert.git/info/exclude +6 -0
  697. data/test/examples/revert.git/logs/HEAD +2 -0
  698. data/test/examples/revert.git/logs/refs/heads/master +2 -0
  699. data/test/examples/revert.git/objects/20/2ced67cea93c7b6bd2928aa1daef8d1d55a20d +0 -0
  700. data/test/examples/revert.git/objects/41/76394bfa11222363c66ce7e84b5f154095b6d9 +0 -0
  701. data/test/examples/revert.git/objects/6a/69f92020f5df77af6e8813ff1232493383b708 +0 -0
  702. data/test/examples/revert.git/objects/b4/785957bc986dc39c629de9fac9df46972c00fc +0 -0
  703. data/test/examples/revert.git/objects/f4/03b791119f8232b7cb0ba455c624ac6435f433 +0 -0
  704. data/test/examples/revert.git/objects/info/packs +2 -0
  705. data/test/examples/revert.git/objects/pack/pack-a561f8437234f74d0bacb9e0eebe52d207f5770d.idx +0 -0
  706. data/test/examples/revert.git/objects/pack/pack-a561f8437234f74d0bacb9e0eebe52d207f5770d.pack +0 -0
  707. data/test/examples/revert.git/packed-refs +2 -0
  708. data/test/examples/revert.git/refs/heads/master +1 -0
  709. data/test/examples/revert.git/refs/remotes/origin/HEAD +1 -0
  710. data/test/examples/yubiwa.git/HEAD +1 -0
  711. data/test/examples/yubiwa.git/config +5 -0
  712. data/test/examples/yubiwa.git/description +1 -0
  713. data/test/examples/yubiwa.git/info/exclude +6 -0
  714. data/test/examples/yubiwa.git/objects/10/fa2ddc4e3b4009d8a453aace10bd6148c1ad00 +0 -0
  715. data/test/examples/yubiwa.git/objects/52/4b82874327ea7cbf730389964ba7cb3de966de +0 -0
  716. data/test/examples/yubiwa.git/objects/58/3fc201cb457fb3f1480f3e1e5999b119633835 +0 -0
  717. data/test/examples/yubiwa.git/objects/87/bc1dd46ab3d3874d4e898d45dd512cc20a7cc8 +1 -0
  718. data/test/examples/yubiwa.git/objects/89/64ed1b4e21aa90e831763bbce9034bfda81b70 +0 -0
  719. data/test/examples/yubiwa.git/objects/9f/f6dd0660da5fba2d3374adb2b84fa653bb538b +0 -0
  720. data/test/examples/yubiwa.git/objects/ac/e97abf2b177815a1972d7db22f229f58c83309 +0 -0
  721. data/test/examples/yubiwa.git/objects/b1/f443863a4816628807fbf86141ebef055dda34 +0 -0
  722. data/test/examples/yubiwa.git/refs/heads/master +1 -0
  723. data/test/helper.rb +19 -3
  724. data/test/test_app.rb +144 -0
  725. data/test/test_committer.rb +51 -0
  726. data/test/test_file.rb +3 -1
  727. data/test/test_git_access.rb +52 -0
  728. data/test/test_markup.rb +92 -17
  729. data/test/test_page.rb +30 -2
  730. data/test/test_page_revert.rb +45 -0
  731. data/test/test_wiki.rb +55 -36
  732. metadata +388 -47
  733. data/lib/gollum/frontend/public/css/editbar.css +0 -194
  734. data/lib/gollum/frontend/public/css/screen.css +0 -726
  735. data/lib/gollum/frontend/public/css/syntax.css +0 -61
  736. data/lib/gollum/frontend/public/images/buttons.png +0 -0
  737. data/lib/gollum/frontend/public/images/editbar-buttons.png +0 -0
  738. data/lib/gollum/frontend/public/images/example.png +0 -0
  739. data/lib/gollum/frontend/public/images/twiddle-down.png +0 -0
  740. data/lib/gollum/frontend/public/images/twiddle-right.png +0 -0
  741. data/lib/gollum/frontend/public/images/txt.png +0 -0
  742. data/lib/gollum/frontend/public/javascript/MathJax/COPYING.txt +0 -202
  743. data/lib/gollum/frontend/public/javascript/MathJax/README.txt +0 -480
  744. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/blank.gif +0 -0
  745. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Hiragana.js +0 -28
  746. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Specials.js +0 -28
  747. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js +0 -28
  748. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscSymbols.js +0 -28
  749. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/SpacingModLetters.js +0 -28
  750. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Other.js +0 -28
  751. data/lib/gollum/frontend/public/javascript/jquery.previewable_comment_form.js +0 -57
  752. data/lib/gollum/frontend/public/javascript/jquery.tabs.js +0 -59
  753. data/lib/gollum/frontend/public/javascript/jquery.text_selection-1.0.0.min.js +0 -1
  754. data/lib/gollum/frontend/templates/editbar.mustache +0 -1196
  755. data/test/examples/lotr.git/hooks/applypatch-msg.sample +0 -15
  756. data/test/examples/lotr.git/hooks/commit-msg.sample +0 -24
  757. data/test/examples/lotr.git/hooks/post-commit.sample +0 -8
  758. data/test/examples/lotr.git/hooks/post-receive.sample +0 -15
  759. data/test/examples/lotr.git/hooks/post-update.sample +0 -8
  760. data/test/examples/lotr.git/hooks/pre-applypatch.sample +0 -14
  761. data/test/examples/lotr.git/hooks/pre-commit.sample +0 -46
  762. data/test/examples/lotr.git/hooks/pre-rebase.sample +0 -169
  763. data/test/examples/lotr.git/hooks/prepare-commit-msg.sample +0 -36
  764. data/test/examples/lotr.git/hooks/update.sample +0 -128
  765. data/test/examples/lotr.git/info/refs +0 -1
@@ -1,185 +1,18 @@
1
- /*************************************************************
2
- *
3
- * MathJax/jax/output/HTML-CSS/imageFonts.js
1
+ /*
2
+ * ../SourceForge/trunk/mathjax/jax/output/HTML-CSS/imageFonts.js
4
3
  *
5
- * Implements the image fallback fonts for the HTML-CSS OutputJax.
4
+ * Copyright (c) 2010 Design Science, Inc.
6
5
  *
7
- * ---------------------------------------------------------------------
8
- *
9
- * Copyright (c) 2009 Design Science, Inc.
6
+ * Part of the MathJax library.
7
+ * See http://www.mathjax.org for details.
10
8
  *
11
- * Licensed under the Apache License, Version 2.0 (the "License");
9
+ * Licensed under the Apache License, Version 2.0;
12
10
  * you may not use this file except in compliance with the License.
13
- * You may obtain a copy of the License at
14
- *
11
+ *
15
12
  * http://www.apache.org/licenses/LICENSE-2.0
16
- *
17
- * Unless required by applicable law or agreed to in writing, software
18
- * distributed under the License is distributed on an "AS IS" BASIS,
19
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
- * See the License for the specific language governing permissions and
21
- * limitations under the License.
22
13
  */
23
14
 
24
- (function (HUB,HTMLCSS,AJAX) {
25
- HUB.Register.LoadHook(HTMLCSS.fontDir + "/fontdata.js",function () {
26
-
27
- HTMLCSS.Augment({
28
- allowWebFonts: false,
29
-
30
- imgDir: HTMLCSS.webfontDir+"/png",
31
- imgSize: ['050','060','071','085',100,120,141,168,200,238,283,336,400,476],
32
- imgBaseIndex: 4, // set by initImg()
33
- imgSizeForEm: {}, // cache of indexes by em-size
34
- imgSizeForScale: {}, // cache of indexes by scale for a given em-size
35
-
36
- handleImg: function (span,font,c,n,text) {
37
- if (text.length) {this.addText(span,text)}
38
- var orig = c[5].orig; if (!orig) {orig = c[5].orig = [c[0],c[1],c[2],c[3],c[4]]}
39
- var bscale = this.imgBrowserZoom(); if (!span.scale) {span.scale = 1}
40
- var index = this.imgIndex(span.scale*bscale);
41
- if (index == this.imgEmWidth.length-1 &&
42
- this.em*span.scale*bscale/this.imgEmWidth[index] > 1.1)
43
- {bscale = this.imgEmWidth[index]/(this.em*span.scale)}
44
- var factor = this.imgEmWidth[index]/(this.em*(span.scale||1)*bscale);
45
- c[0] = orig[0]*factor; c[1] = orig[1]*factor; c[2] = orig[2]*factor;
46
- c[3] = orig[3]*factor; c[4] = orig[4]*factor;
47
- var dir = this.imgDir+"/"+font.directory+"/"+this.imgSize[index];
48
- var chr = n.toString(16).toUpperCase(); while (chr.length < 4) {chr = "0"+chr};
49
- var file = dir+"/"+chr+".png";
50
- var img = c[5].img[index];
51
- var style = {width:Math.floor(img[0]/bscale+.5)+"px", height:Math.floor(img[1]/bscale+.5)+"px"};
52
- if (img[2]) {style.verticalAlign = Math.floor(-img[2]/bscale+.5)+"px"}
53
- if (c[3] < 0) {style.marginLeft = this.Em(c[3]/1000)}
54
- if (c[4] != c[2]) {style.marginRight = this.Em((c[2]-c[4])/1000)}
55
- if (this.msieIE6) {
56
- style.filter = "progid:DXImageTransform.Microsoft." +
57
- "AlphaImageLoader(src='"+AJAX.fileURL(file)+"', sizingMethod='scale')";
58
- file = this.directory+"/blank.gif"
59
- }
60
- this.addElement(span,"img",{src:AJAX.fileURL(file), style:style});
61
- return "";
62
- },
63
-
64
- defineImageData: function (def) {
65
- for (var font in def) {if (def.hasOwnProperty(font)) {
66
- var FONT = HTMLCSS.FONTDATA.FONTS[font];
67
- if (FONT) {
68
- font = def[font];
69
- for (var n in font) {if (font.hasOwnProperty(n) && FONT[n]) {FONT[n][5] = {img: font[n]}}}
70
- }
71
- }}
72
- },
73
-
74
- initImg: function (span) {
75
- if (this.imgSizeForEm[this.em]) {this.imgBaseIndex = this.imgSizeForEm[this.em]}
76
- for (var i = 0, m = this.imgEmWidth.length-1; i < m; i++)
77
- {if (this.em <= this.imgEmWidth[i]) break}
78
- if (i && this.imgEmWidth[i] - this.em > this.em - this.imgEmWidth[i-1]) {i--}
79
- this.imgSizeForEm[this.em] = this.imgBaseIndex = i;
80
- },
81
-
82
- imgIndex: function (scale) {
83
- if (!scale) {return this.imgBaseIndex}
84
- if (!this.imgSizeForScale[this.em]) {this.imgSizeForScale[this.em] = {}}
85
- if (this.imgSizeForScale[this.em][scale]) {return this.imgSizeForScale[this.em][scale]}
86
- var em = this.em * scale;
87
- for (var i = 0, m = this.imgEmWidth.length-1; i < m; i++)
88
- {if (em <= this.imgEmWidth[i]) break}
89
- if (i && this.imgEmWidth[i] - em > em - this.imgEmWidth[i-1]) {i--}
90
- this.imgSizeForScale[this.em][scale] = i;
91
- return i;
92
- },
93
-
94
- imgBrowserZoom: function () {return 1}
95
-
96
- });
97
-
98
- HUB.Browser.Select({
99
-
100
- Firefox: function (browser) {
101
- var ZDIV = HTMLCSS.addElement(document.body,"div",{
102
- style: {
103
- display:"none", visibility:"hidden", overflow:"scroll",
104
- position:"absolute", top:0, left: 0, width:"200px", height:"200px"
105
- }
106
- });
107
-
108
- var ZFRAME = HTMLCSS.addElement(ZDIV,"div",{
109
- style: {position:"absolute", left:0, top:0, right:0, bottom:0}
110
- });
111
-
112
- HTMLCSS.Augment({
113
- imgSpaceBug: true,
114
- imgSpace: String.fromCharCode(0xA0),
115
-
116
- imgZoomLevel: (browser.isMac ?
117
- {50:.3, 30:.5, 22:.67, 19:.8, 16:.9, 15:1, 13:1.1, 12:1.2,
118
- 11:1.33, 10:1.5, 9:1.7, 7:2, 6:2.4, 5:3, 0:15} :
119
- {56:.3, 34:.5, 25:.67, 21:.8, 19:.9, 17:1, 15:1.1, 14:1.2,
120
- 13:1.33, 11:1.5, 10:1.7, 8:2, 7:2.4, 6:3, 0:17}
121
- ),
122
-
123
- imgZoomDiv: ZDIV,
124
-
125
- imgBrowserZoom: function () {
126
- var size = this.imgZoomLevel;
127
- ZDIV.style.display = "";
128
- var ratio = (ZDIV.offsetWidth-ZFRAME.offsetWidth);
129
- ratio = (size[ratio] ? size[ratio] : size[0]/ratio);
130
- ZDIV.style.display = "none";
131
- return ratio;
132
- }
133
- });
134
- },
135
-
136
- Safari: function (browser) {
137
- // for iPhone and iTouch
138
- // var webkit = (navigator.appVersion+"AppleWebKit/530").match(/AppleWebKit\/(\d+)/)[1];
139
- HTMLCSS.Augment({
140
- // imgHeightBug: (!browser.isMac || webkit > 525),
141
- // imgDepthBug: (!browser.isMac || webkit > 525),
142
- imgBrowserZoom: function () {return 3}
143
- });
144
- },
145
-
146
- Chrome: function (browser) {
147
- HTMLCSS.Augment({
148
- imgHeightBug: true,
149
- imgBrowserZoom: function () {return 3}
150
- });
151
- },
152
-
153
- Opera: function (browser) {
154
- HTMLCSS.Augment({
155
- imgSpaceBug: true,
156
- imgSpace: String.fromCharCode(0xA0)+String.fromCharCode(0xA0),
157
-
158
- imgDoc: (document.compatMode == "BackCompat" ? document.body :
159
- document.documentElement),
15
+ MathJax.Unpack([
16
+ ['(','function(','b,c,a){var d="1.0";b.Register.LoadHook(c.fontDir+"/fontdata.js",','function(){','c.Augment({allowWebFonts:false,imgDir:c.webfontDir+"/png",imgPacked:(','MathJax.','isPacked||','c.config.useOldImageData','?"":"/unpacked"),imgSize:["050","060","071","085",100,120,141,168,200,238,283,336,400,476],imgBaseIndex:4,imgSizeForEm:{},imgSizeForScale:{},handleImg:',1,'t,i,r,h,u){if(u.length){this.addText(t,u)}var s=r[5].orig;if(!s){s=r[5].orig=[r[0],r[1],r[2],r[3],r[4]]}var m=this.imgBrowserZoom();if(!t.scale){t.scale=1}var p=this.imgIndex(t.scale*m);if(p==','this.imgEmWidth','.length-1&&this.em*t.scale*m/',11,'[p]>1.1){m=',11,'[p]/(this.em','*t.scale)}var q=',11,16,'*(t.scale||1)*m);r[0]=s[0]*q;r[1]=s[1]*q;r[2]=s[2]*q;r[3]=s[3]*q;r[4]=s[4]*q;var k=this.imgDir+"/"+i.directory+"/"+this.imgSize[p];var l=h.toString(16).toUpperCase();while(l.length<4){l="0"+l}var j=k+"/"+l+".png";var o=r[5].img[p];var g={width:','Math.floor','(o[0',']/m+0.5)+"px','",height:',21,'(o[1',23,'"};if(o[2]){g.verticalAlign=',21,'(-o[2',23,'"}if(r[3]<0){g.marginLeft=this.Em(r[3]/1000)}if(r[4]!=r[2]){g.marginRight=this.Em((r[2]-r[4])/1000)}if(this.msieIE6){g.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'"+a.fileURL(j)+"\', sizingMethod=\'scale\')";j=this.directory+"/blank.gif"}this','.addElement(','t,"img",{src:a.fileURL(j),style:g});return""},defineImageData:',1,'i){for(var g in i){if(i','.hasOwnProperty(','g)){','var h=c.FONTDATA.FONTS','[g];if(h){g=i[g];for(var j in g){if(g',37,'j)&&h[j]){h[j][5]={img:g[j]}}}}}}},initImg:',1,'j){if(','this.imgSizeForEm[this.em',']){','this.imgBaseIndex','=',45,']}for(var h=0,g=',11,'.length-1;h<g;h++){if(','this.em<=',11,'[h]){break}}if(h&&',11,'[h]-this.em>this.em-',11,'[h-1]){h--}',45,']=',47,'=h},imgIndex:',1,'k){if(!k){','return ',47,'}if(!','this.imgSizeForScale[this.em',']){',69,']={}}if(',69,'][k]){',66,69,'][k]}','var j=this.','em*k;for(var h=0,g=',11,52,'j<=',11,'[h]){break}}if(h&&',11,'[h]-j>j-',11,'[h-1]){h--}',69,'][k]=h;',66,'h},','imgBrowserZoom:function(){',66,'1}});b.Browser.Select({Firefox:',1,'h){var g=c',33,'document.body',',"div",{style:{','display:"none",visibility:"hidden",overflow:"scroll",','position:"absolute",','top:0,left:0,width:"200px",height:"200px"}});var i=c',33,'g',100,102,'left:0,top:0,right:0,bottom:0}});','c.Augment({imgSpaceBug:true,imgSpace:String.fromCharCode(160','),','imgZoomLevel',':(h.isMac?{50:0.3,30:0.5,22:0.67,19:0.8,16:0.9,15:1,13:1.1,12:1.2,11:1.33,10:1.5,9:1.7,7:2,6:2.4,5:3,0:15}:{56:0.3,34:0.5,25:0.67,21:0.8,19:0.9,17:1,15:1.1,14:1.2,13:1.33,11:1.5,10:1.7,8:2,7:2.4,6:3,0:17}),imgZoomDiv:g,',93,78,111,';','g.style.display','="";var k=(g.offsetWidth-i.offsetWidth);k=(j[k]?j[k]:j[0]/k);',117,'="none";',66,'k}})},Safari:',1,'g){c.Augment({',93,66,'3}})},Chrome:',1,124,'imgHeightBug:true,',93,66,'3}})},Opera:',1,'g){',109,')+String.fromCharCode(160),imgDoc:(document.compatMode=="BackCompat"?',99,':document.documentElement),',93,'if(g.isMac){',66,'3}var h=','this.imgDoc.','clientHeight,i=',21,'(15*h/','window.innerHeight',');if(',144,'clientWidth<',144,'scrollWidth-i){h+=i}',66,'parseFloat((',148,'/h).toFixed(1))}})}});var f=',3,39,'.MathJax_Main[8212][5].img;c.imgEmWidth=[];for(var j=0,g=h.length;j<g;j++){c.imgEmWidth[j]=h[j][0]}};var e=c.imgDir+c.imgPacked;if(',7,'){e=c.webfontDir}',5,'Callback.Queue(["Require",a,e+"/imagedata.js"],f,["loadComplete",a,c.directory+"/imageFonts.js"])})})(',5,'Hub,',5,'OutputJax["HTML-CSS"],',5,'Ajax);']
17
+ ]);
160
18
 
161
- imgBrowserZoom: function () {
162
- if (browser.isMac) {return 3} // Mac Opera scales very nicely
163
- var H = this.imgDoc.clientHeight, d = Math.floor(15*H/window.innerHeight);
164
- if (this.imgDoc.clientWidth < this.imgDoc.scrollWidth-d) {H += d}
165
- return parseFloat((window.innerHeight/H+.05).toString().replace(/(\.\d)\d+/,"$1"));
166
- }
167
- });
168
- }
169
- });
170
-
171
- var GETWIDTHS = function () {
172
- var img = HTMLCSS.FONTDATA.FONTS["MathJax_Main"][0x2014][5].img; // em-dash
173
- HTMLCSS.imgEmWidth = [];
174
- for (var i = 0, m = img.length; i < m; i++) {HTMLCSS.imgEmWidth[i] = img[i][0]}
175
- };
176
-
177
- MathJax.CallBack.Queue(
178
- ["Require",AJAX,HTMLCSS.webfontDir+"/imagedata.js"],
179
- GETWIDTHS,
180
- ["loadComplete",AJAX,HTMLCSS.directory+"/imageFonts.js"]
181
- );
182
-
183
- });
184
-
185
- })(MathJax.Hub,MathJax.OutputJax["HTML-CSS"],MathJax.Ajax);
@@ -1,1991 +1,19 @@
1
- /*************************************************************
2
- *
3
- * MathJax/jax/output/HTML-CSS/jax.js
4
- *
5
- * Implements the HTML-CSS OutputJax that displays mathematics
6
- * using HTML and CSS to position the characters from math fonts
7
- * in their proper locations.
8
- *
9
- * ---------------------------------------------------------------------
1
+ /*
2
+ * ../SourceForge/trunk/mathjax/jax/output/HTML-CSS/jax.js
10
3
  *
11
- * Copyright (c) 2009-2010 Design Science, Inc.
4
+ * Copyright (c) 2010 Design Science, Inc.
5
+ *
6
+ * Part of the MathJax library.
7
+ * See http://www.mathjax.org for details.
12
8
  *
13
- * Licensed under the Apache License, Version 2.0 (the "License");
9
+ * Licensed under the Apache License, Version 2.0;
14
10
  * you may not use this file except in compliance with the License.
15
- * You may obtain a copy of the License at
16
- *
11
+ *
17
12
  * http://www.apache.org/licenses/LICENSE-2.0
18
- *
19
- * Unless required by applicable law or agreed to in writing, software
20
- * distributed under the License is distributed on an "AS IS" BASIS,
21
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22
- * See the License for the specific language governing permissions and
23
- * limitations under the License.
24
13
  */
25
14
 
26
- (function (MML,AJAX,HTMLCSS) {
27
-
28
- var FONTTEST = MathJax.Object.Subclass({
29
- FontInfo: {
30
- STIX: {family: "STIXSizeOneSym", testString: "() {} []"},
31
- TeX: {family: "MathJax_Size1", testString: "() {} []"}
32
- },
33
- comparisonFont: ["sans-serif","monospace","script","Times","Courier","Arial","Helvetica"],
34
- testSize: ["40px","50px","60px","30px","20px"],
35
-
36
- Init: function () {
37
- var div = this.div = document.body.appendChild(document.createElement("div"));
38
- div.style.position = "absolute"; div.style.visibility = "hidden";
39
- div.style.top = div.style.left = 0;
40
- div.style.fontWeight = "normal";
41
- div.style.fontStyle = "normal";
42
- div.style.fontSize = this.testSize[0];
43
- this.text = this.div.appendChild(document.createTextNode(""));
44
- },
45
-
46
- findFont: function (fonts,pref) {
47
- if (pref && this.testCollection(pref)) {return pref}
48
- for (var i = 0, m = fonts.length; i < m; i++) {
49
- if (fonts[i] === pref) continue;
50
- if (this.testCollection(fonts[i])) {return fonts[i]}
51
- }
52
- return null;
53
- },
54
-
55
- testCollection: function (name) {return this.testFont(this.FontInfo[name])},
56
-
57
- testFont: function (font) {
58
- if (font.isWebFont && HTMLCSS.FontFaceBug) {
59
- this.div.style.fontWeight = this.div.style.fontStyle = "normal";
60
- } else {
61
- this.div.style.fontWeight = (font.weight||"normal");
62
- this.div.style.fontStyle = (font.style||"normal");
63
- }
64
- var W = this.getComparisonWidths(font.testString);
65
- if (W) {
66
- this.div.style.fontFamily = "'"+font.family+"',"+this.comparisonFont[0];
67
- if (this.div.offsetWidth == W[0]) {
68
- this.div.style.fontFamily = "'"+font.family+"',"+this.comparisonFont[W[2]];
69
- if (this.div.offsetWidth == W[1]) {return false}
70
- }
71
- if (this.div.offsetWidth != W[3]) {
72
- if (!HTMLCSS.FONTDATA || !HTMLCSS.FONTDATA.hasStyleChar) {return true}
73
- for (var i = 0, m = this.testSize.length; i < m; i++)
74
- {if (this.testStyleChar(font,this.testSize[i])) {return true}}
75
- }
76
- }
77
- return false;
78
- },
79
-
80
- styleChar: String.fromCharCode(0xEFFD), // width encodes style
81
- versionChar: String.fromCharCode(0xEFFE), // width encodes version
82
- compChar: String.fromCharCode(0xEFFF), // "standard" width to compare to
83
-
84
- testStyleChar: function (font,size) {
85
- var n = 3 + (font.weight ? 2 : 0) + (font.style ? 4 : 0);
86
- var extra = "", dw = 0;
87
- var SIZE = this.div.style.fontSize; this.div.style.fontSize = size;
88
- if (HTMLCSS.msieItalicWidthBug && font.style === "italic") {
89
- this.text.nodeValue = extra = this.compChar;
90
- dw = this.div.offsetWidth;
91
- }
92
- if (HTMLCSS.safariTextNodeBug) {this.div.innerHTML = this.compChar+extra}
93
- else {this.text.nodeValue = this.compChar+extra}
94
- var W = this.div.offsetWidth-dw;
95
- if (HTMLCSS.safariTextNodeBug) {this.div.innerHTML = this.styleChar+extra}
96
- else {this.text.nodeValue = this.styleChar+extra}
97
- var N = Math.floor((this.div.offsetWidth-dw)/W+.5);
98
- if (N === n) {
99
- if (HTMLCSS.safariTextNodeBug) {this.div.innerHTML = this.versionChar+extra}
100
- else {this.text.nodeValue = this.versionChar+extra}
101
- font.version = Math.floor((this.div.offsetWidth-dw)/W+1.5)/2;
102
- }
103
- this.div.style.fontSize = SIZE;
104
- return (N === n);
105
- },
106
-
107
- getComparisonWidths: function (string) {
108
- if (HTMLCSS.FONTDATA && HTMLCSS.FONTDATA.hasStyleChar)
109
- {string += this.styleChar + " " + this.compChar}
110
- if (HTMLCSS.safariTextNodeBug) {this.div.innerHTML = string}
111
- else {this.text.nodeValue = string}
112
- this.div.style.fontFamily = this.comparisonFont[0];
113
- var W = this.div.offsetWidth, sW = -1;
114
- if (HTMLCSS.safariWebFontSerif) {
115
- this.div.style.fontFamily = HTMLCSS.safariWebFontSerif[0];
116
- sW = this.div.offsetWidth;
117
- }
118
- for (var i = 1, m = this.comparisonFont.length; i < m; i++) {
119
- this.div.style.fontFamily = this.comparisonFont[i];
120
- if (this.div.offsetWidth != W) {return [W,this.div.offsetWidth,i,sW]}
121
- }
122
- return null;
123
- },
124
-
125
- loadWebFont: function (font) {
126
- var n = MathJax.Message.File("Web-Font "+HTMLCSS.fontInUse+"/"+font.directory);
127
- var callback = MathJax.CallBack(["loadComplete",this,font,n]);
128
- AJAX.timer.start(AJAX,[this.checkWebFont,font,callback],1);
129
- return callback;
130
- },
131
- loadComplete: function (font,n) {
132
- MathJax.Message.Clear(n);
133
- },
134
-
135
- checkWebFont: function (check,font,callback) {
136
- if (check.time(callback)) return;
137
- if (HTMLCSS.Font.testFont(font)) {callback(check.STATUS.OK)}
138
- else {setTimeout(check,check.delay)}
139
- },
140
-
141
- fontFace: function (name) {
142
- var type = HTMLCSS.allowWebFonts;
143
- var dir = AJAX.fileURL(HTMLCSS.webfontDir+"/"+type);
144
- var fullname = name.replace(/-b/,"-B").replace(/-i/,"-I").replace(/-Bold-/,"-Bold");
145
- if (!fullname.match(/-/)) {fullname += "-Regular"}
146
- if (type === "svg") {fullname += ".svg#"+fullname} else {fullname += "."+type}
147
- var def = {
148
- "font-family": HTMLCSS.FONTDATA.FONTS[name].family,
149
- src: "url('"+dir+"/"+fullname+"')"
150
- };
151
- if (type === "svg") def.src += " format('svg')";
152
- if (!(HTMLCSS.FontFaceBug && HTMLCSS.FONTDATA.FONTS[name].isWebFont)) {
153
- if (name.match(/-bold/)) {def["font-weight"] = "bold"}
154
- if (name.match(/-italic/)) {def["font-style"] = "italic"}
155
- }
156
- return def;
157
- }
158
- });
159
-
160
- HTMLCSS.Augment({
161
-
162
- config: {
163
- styles: {
164
- ".MathJax": {
165
- "font-family": "serif",
166
- "font-style": "normal",
167
- "font-weight": "normal",
168
- "line-height": "normal",
169
- "font-size": "100%",
170
- "text-indent": 0,
171
- "text-align": "left",
172
- "text-transform": "none",
173
- "letter-spacing": "normal",
174
- "word-spacing": "normal",
175
- "word-wrap": "none",
176
- "white-space": "nowrap",
177
- border: 0, padding: 0, margin: 0,
178
- "float": "none"
179
- },
180
-
181
- ".MathJax_Display": {
182
- position: "relative"
183
- },
184
-
185
- ".MathJax span, .MathJax img, .MathJax nobr, .MathJax a": {
186
- border: 0, padding: 0, margin: 0,
187
- "vertical-align": 0,
188
- "line-height": "normal",
189
- "text-decoration": "none"
190
- }
191
- }
192
- },
193
-
194
- Font: FONTTEST(),
195
-
196
- Config: function () {
197
- MathJax.OutputJax.prototype.Config.call(this);
198
- var font = this.Font.findFont(this.config.availableFonts,this.config.preferredFont);
199
- if (!font && this.allowWebFonts) {font = this.config.webFont}
200
- if (!font && this.config.imageFont) {font = this.config.imageFont; this.imgFonts = true}
201
- if (font) {
202
- this.fontInUse = font; this.fontDir += "/" + font; this.webfontDir += "/" + font;
203
- if (!this.require) {this.require = []}
204
- this.require.push(this.fontDir+"/fontdata.js");
205
- if (this.imgFonts) {this.require.push(this.directory+"/imageFonts.js")}
206
- } else {
207
- MathJax.Message.Set("Can't find a valid font using ["+this.config.availableFonts.join(", ")+"]",null,3000);
208
- this.FONTDATA = {
209
- TeX_factor: 1, baselineskip: 1.2, lineH: .8, lineD: .2, ffLineH: .8,
210
- FONTS: {}, VARIANT: {normal: {fonts:[]}}, RANGES: [],
211
- DEFAULTFAMILY: "serif", DEFAULTWEIGHT: "normal", DEFAULTSTYLE: "normal",
212
- DELIMITERS: {}, RULECHAR: 0x2D, REMAP: {}
213
- };
214
- MathJax.InputJax.TeX.Definitions.macros.overline[1] = "002D";
215
- MathJax.InputJax.TeX.Definitions.macros.underline[1] = "002D";
216
- }
217
- },
218
-
219
- Startup: function () {
220
- // Set up default fonts
221
- var MJ = this.config.styles[".MathJax"];
222
- var family = [], fonts = this.FONTDATA.VARIANT.normal.fonts;
223
- if (!(fonts instanceof Array)) {fonts = [fonts]}
224
- for (var i = 0, m = fonts.length; i < m; i++) {
225
- family[i] = this.FONTDATA.FONTS[fonts[i]].family;
226
- if (!family[i]) {family[i] = fonts[i]}
227
- }
228
- MJ["font-family"] = family.join(',');
229
-
230
- // Make hidden div for when math is in a display:none block
231
- this.hiddenDiv = this.Element("div",{
232
- style:{visibility:"hidden", overflow:"hidden", height:"1px",
233
- position:"absolute", top:0}
234
- });
235
- if (!document.body.firstChild) {document.body.appendChild(this.hiddenDiv)}
236
- else {document.body.insertBefore(this.hiddenDiv,document.body.firstChild)}
237
- this.hiddenDiv = this.addElement(this.hiddenDiv,"div",{id:"MathJax_Hidden"});
238
-
239
- // Determine pixels per inch
240
- var div = this.addElement(this.hiddenDiv,"div",{style:{width:"5in"}});
241
- this.pxPerInch = div.offsetWidth/5; this.hiddenDiv.removeChild(div);
242
-
243
- // Markers used by getW
244
- this.startMarker = HTMLCSS.createStrut(this.Element("span"),10,true);
245
- this.endMarker = this.addText(this.Element("span"),"x").parentNode;
246
-
247
- // Used in getHD
248
- this.HDspan = this.Element("span");
249
- if (this.operaHeightBug) {this.createStrut(this.HDspan,0)}
250
- if (this.msieInlineBlockAlignBug) {
251
- this.HDimg = this.addElement(this.HDspan,"img",{style:{height:"0px", width:"1px"}});
252
- try {this.HDimg.src = "about:blank"} catch(err) {}
253
- } else {
254
- this.HDimg = HTMLCSS.createStrut(this.HDspan,0);
255
- }
256
-
257
- // Used in getScales
258
- this.HDMspan = this.Element("span",{style: {position:"absolute"}});
259
- if (this.msieInlineBlockAlignBug) {
260
- this.HDMimg = this.addElement(this.HDMspan,"img",{style:{height:"0px",width:"1px"}});
261
- try {this.HDMimg.src = "about:blank"} catch(err) {}
262
- } else {
263
- this.HDMimg = HTMLCSS.createStrut(this.HDMspan,0); this.HDMimg.style.marginRight = "";
264
- }
265
-
266
- // Used for computing factor to fix margin width in MSIE
267
- this.marginCheck = HTMLCSS.Element("span");
268
- HTMLCSS.addElement(this.marginCheck,"span",{style: {display:"inline-block", width:"5em"}});
269
- this.marginMove = HTMLCSS.addElement(this.marginCheck,"span",
270
- {style: {display:"inline-block", width:"5em", marginLeft:"-5em"}});
271
-
272
- // Set up styles and preload web fonts
273
- return MathJax.Ajax.Styles(this.config.styles,["PreloadWebFonts",this]);
274
- },
275
-
276
- PreloadWebFonts: function () {
277
- if (!HTMLCSS.allowWebFonts || !HTMLCSS.config.preloadWebFonts) return;
278
- for (var i = 0, m = HTMLCSS.config.preloadWebFonts.length; i < m; i++) {
279
- var FONT = HTMLCSS.FONTDATA.FONTS[HTMLCSS.config.preloadWebFonts[i]];
280
- if (!FONT.available) {HTMLCSS.Font.testFont(FONT)}
281
- }
282
- },
283
-
284
- Translate: function (script) {
285
- var math = script.MathJax.elementJax.root;
286
- var span = this.Element("span",{className:"MathJax"}), div = span;
287
- if (math.Get("display") === "block") {
288
- div = this.Element("div",{className:"MathJax_Display", style:{width:"100%", position:"relative"}});
289
- div.appendChild(span);
290
- }
291
- // (screen readers don't know about role="math" yet, so use "textbox" instead)
292
- div.setAttribute("role","textbox"); div.setAttribute("aria-readonly","true");
293
- script.parentNode.insertBefore(div,script);
294
- this.getScales(div,span); var isHidden = (this.em === 0 || String(this.em) === "NaN");
295
- if (isHidden) {this.hiddenDiv.appendChild(div); this.getScales(div,span)}
296
- this.initImg(span);
297
- this.initHTML(math,span);
298
- math.setTeXclass();
299
- try {math.toHTML(span,div)} catch (err) {
300
- if (err.restart) {div.parentNode.removeChild(div)}
301
- throw err;
302
- }
303
- if (isHidden) {script.parentNode.insertBefore(div,script)}
304
- },
305
-
306
- initImg: function (span) {},
307
- initHTML: function (math,span) {},
308
- initFont: function (name) {
309
- var FONTS = HTMLCSS.FONTDATA.FONTS, AVAIL = HTMLCSS.config.availableFonts;
310
- if (AVAIL && AVAIL.length && HTMLCSS.Font.testFont(FONTS[name]))
311
- {FONTS[name].available = true; return null}
312
- if (!this.allowWebFonts) {return null}
313
- FONTS[name].isWebFont = true;
314
- if (HTMLCSS.FontFaceBug) {FONTS[name].family = name}
315
- return AJAX.Styles({"@font-face":this.Font.fontFace(name)});
316
- },
317
-
318
- Remove: function (jax) {
319
- var span = jax.SourceElement(); if (!span) return;
320
- span = span.previousSibling; if (!span) return;
321
- if (span.className.match(/^MathJax/)) {span.parentNode.removeChild(span)}
322
- },
323
-
324
- getScales: function (span,mj) {
325
- span.parentNode.insertBefore(this.HDMspan,span);
326
- this.HDMspan.className = "";
327
- this.HDMimg.style.height = "1px"; this.HDMimg.style.width = "60ex";
328
- var ex = this.HDMspan.offsetWidth/60;
329
- this.HDMspan.className = "MathJax"; this.HDMimg.style.width = "60em";
330
- var em = this.HDMspan.offsetWidth/60;
331
- var scale = Math.floor((ex/this.TeX.x_height) / em * this.config.scale);
332
- mj.style.fontSize = this.HDMspan.style.fontSize = scale+"%";
333
- this.em = MML.mbase.prototype.em = this.HDMspan.offsetWidth/60;
334
- span.parentNode.removeChild(this.HDMspan);
335
- this.msieMarginScale = this.getMarginScale(mj);
336
- },
337
- getMarginScale: function (span) {return 1},
338
- getMSIEmarginScale: function (span) {
339
- span.appendChild(this.marginCheck);
340
- var W = this.marginCheck.offsetWidth, w = this.marginMove.offsetWidth;
341
- var scale = w/(2*w - W);
342
- span.removeChild(this.marginCheck);
343
- return scale;
344
- },
345
- getHD: function (span) {
346
- var position = span.style.position;
347
- span.style.position = "absolute";
348
- this.HDimg.style.height = "0px";
349
- span.appendChild(this.HDspan);
350
- var HD = {h:span.offsetHeight};
351
- this.HDimg.style.height = HD.h+"px";
352
- HD.d = span.offsetHeight - HD.h; HD.h -= HD.d;
353
- HD.h /= this.em; HD.d /= this.em;
354
- span.removeChild(this.HDspan);
355
- span.style.position = position;
356
- return HD;
357
- },
358
- getW: function (span) {
359
- var W = span.offsetWidth, w = (span.bbox ? span.bbox.w: -1), start = span;
360
- if ((w < 0 || this.negativeSkipBug) && W >= 0) {
361
- // IE can't deal with a space at the beginning, so put something else first
362
- if (this.negativeSkipBug) {
363
- var position = span.style.position; span.style.position = "absolute";
364
- start = this.startMarker;
365
- if (span.firstChild) {span.insertBefore(start,span.firstChild)}
366
- else {span.appendChild(start)}
367
- start = this.startMarker;
368
- }
369
- span.appendChild(this.endMarker);
370
- W = this.endMarker.offsetLeft - start.offsetLeft;
371
- span.removeChild(this.endMarker);
372
- if (this.negativeSkipBug) {
373
- span.removeChild(start);
374
- span.style.position = position;
375
- }
376
- }
377
- return W/this.em;
378
- },
379
- Measured: function (span,parent) {
380
- if (span.bbox.width == null && span.bbox.w) {
381
- var w = this.getW(span);
382
- span.bbox.rw += w - span.bbox.w;
383
- span.bbox.w = w;
384
- }
385
- if (!parent) {parent = span.parentNode}
386
- if (!parent.bbox) {parent.bbox = span.bbox}
387
- return span;
388
- },
389
- Remeasured: function (span,parent) {
390
- parent.bbox = this.Measured(span,parent).bbox;
391
- },
392
-
393
- Em: function (m) {
394
- if (Math.abs(m) < .0006) {return "0em"}
395
- return (m < 0 ? "-" : "")+String(Math.abs(m)+.0005).replace(/(\.\d\d\d).+/,'$1') + "em";
396
- },
397
- Percent: function (m) {
398
- return String(m*100+.5).replace(/\..+/,'') + "%";
399
- },
400
- length2percent: function (length) {
401
- return this.Percent(this.length2em(length));
402
- },
403
- length2em: function (length,size) {
404
- if (typeof(length) !== "string") {length = length.toString()}
405
- if (length === "") {return ""}
406
- if (length === MML.SIZE.NORMAL) {return 1}
407
- if (length === MML.SIZE.BIG) {return 2}
408
- if (length === MML.SIZE.SMALL) {return .71}
409
- if (length === "infinity") {return HTMLCSS.BIGDIMEN}
410
- var factor = this.FONTDATA.TeX_factor;
411
- if (length.match(/mathspace$/)) {return HTMLCSS.MATHSPACE[length]*factor}
412
- var match = length.match(/^\s*([-+]?(?:\.\d+|\d+(?:\.\d*)?))?(pt|em|ex|mu|px|in|mm|cm|%)?/);
413
- var m = parseFloat(match[1]||"1"), unit = match[2];
414
- if (size == null) {size = 1}
415
- if (unit === "em") {return m * factor}
416
- if (unit === "ex") {return m * HTMLCSS.TeX.x_height * factor}
417
- if (unit === "%") {return m / 100 * size}
418
- if (unit === "px") {return m / HTMLCSS.em}
419
- if (unit === "pt") {return m / 10 * factor} // 10 pt to an em
420
- if (unit === "in") {return m * this.pxPerInch / HTMLCSS.em}
421
- if (unit === "cm") {return m * this.pxPerInch / HTMLCSS.em / 2.54} // 2.54 cm to an inch
422
- if (unit === "mm") {return m * this.pxPerInch / HTMLCSS.em / 25.4} // 10 mm to a cm
423
- if (unit === "pc") {return m * this.pxPerInch / HTMLCSS.em / 12} // 12 pc to an inch
424
- if (unit === "mu") {return m / 18 * factor} // FIXME: needs to include scale
425
- return m*factor*size; // relative to given size (or 1em as default)
426
- },
427
- thickness2em: function (length) {
428
- var thick = HTMLCSS.TeX.rule_thickness;
429
- if (length === MML.LINETHICKNESS.MEDIUM) {return thick}
430
- if (length === MML.LINETHICKNESS.THIN) {return .67*thick}
431
- if (length === MML.LINETHICKNESS.THICK) {return 1.67*thick}
432
- return this.length2em(length,thick);
433
- },
434
-
435
- createStrut: function (span,h,before) {
436
- var strut = this.Element("span",{
437
- style:{display:"inline-block", overflow:"hidden", height:h+"px",
438
- width:"1px", marginRight:"-1px"}
439
- });
440
- if (before) {span.insertBefore(strut,span.firstChild)} else {span.appendChild(strut)}
441
- return strut;
442
- },
443
- createBlank: function (span,w,before) {
444
- var blank = this.Element("span",{
445
- style: {display:"inline-block", overflow:"hidden", height:"1px", width:this.Em(w)}
446
- });
447
- if (before) {span.insertBefore(blank,span.firstChild)} else {span.appendChild(blank)}
448
- return blank;
449
- },
450
- createShift: function (span,w,before) {
451
- var space = this.Element("span",{style:{marginLeft:this.Em(w)}});
452
- if (before) {span.insertBefore(space,span.firstChild)} else {span.appendChild(space)}
453
- return space;
454
- },
455
- createSpace: function (span,h,d,w,color) {
456
- var H = this.Em(Math.max(0,h+d)), D = this.Em(-d);
457
- if (this.msieInlineBlockAlignBug) {D = this.Em(HTMLCSS.getHD(span.parentNode).d-d)}
458
- if (span.isBox || span.className == "mspace") {
459
- span.bbox = {
460
- h: h*span.scale, d: d*span.scale,
461
- w: w*span.scale, rw: w*span.scale, lw: 0
462
- };
463
- span.style.height = H; span.style.verticalAlign = D;
464
- } else {
465
- span = this.addElement(span,"span",{style: {height:H, verticalAlign:D}});
466
- }
467
- if (w >= 0) {
468
- span.style.width = this.Em(w);
469
- span.style.display = "inline-block";
470
- } else {
471
- if (this.msieNegativeSpaceBug) {span.style.height = ""}
472
- span.style.marginLeft = this.Em(w);
473
- if (HTMLCSS.safariNegativeSpaceBug && span.parentNode.firstChild == span)
474
- {this.createBlank(span,0,true)}
475
- }
476
- if (color && color !== MML.COLOR.TRANSPARENT) {span.style.backgroundColor = color}
477
- return span;
478
- },
479
- createRule: function (span,h,d,w,color) {
480
- var min = HTMLCSS.TeX.min_rule_thickness;
481
- // If rule is very thin, make it at least min_rule_thickness so it doesn't disappear
482
- if (w > 0 && w*this.em < min) {w = min/this.em}
483
- if (h+d > 0 && (h+d)*this.em < min) {var f = 1/(h+d)*(min/this.em); h *= f; d *= f}
484
- if (!color) {color = "solid"} else {color = "solid "+color}
485
- color = this.Em(w)+" "+color;
486
- var H = this.Em(h+d), D = this.Em(-d);
487
- if (span.isBox || span.className == "mspace") {span.bbox = {h:h, d:d, w:w, rw:w, lw: 0}}
488
- span = this.addElement(span,"span",{
489
- style: {borderLeft: color, display: "inline-block", overflow:"hidden",
490
- width:0, height:H, verticalAlign:D}
491
- });
492
- if (w > 0 && span.offsetWidth == 0) {span.style.width = this.Em(w)}
493
- return span;
494
- },
495
-
496
- createStack: function (span,nobbox,w) {
497
- if (this.msiePaddingWidthBug) {this.createStrut(span,0)}
498
- span = this.addElement(span,"span",{
499
- style: {display:"inline-block", position:"relative",
500
- width:(w == null ? 0: "100%"), height:0}
501
- });
502
- if (!nobbox) {
503
- span.parentNode.bbox = span.bbox = {
504
- h: -this.BIGDIMEN, d: -this.BIGDIMEN,
505
- w:0, lw: this.BIGDIMEN, rw: -this.BIGDIMEN
506
- };
507
- if (w != null) {span.bbox.width = span.parentNode.bbox.width = w}
508
- }
509
- return span;
510
- },
511
- createBox: function (span,w) {
512
- var box = this.addElement(span,"span",{style:{position:"absolute"}, isBox: true});
513
- if (w != null) {box.style.width = w}
514
- return box;
515
- },
516
- addBox: function (span,box) {
517
- box.style.position = "absolute"; box.isBox = true;
518
- return span.appendChild(box);
519
- },
520
- placeBox: function (span,x,y,noclip) {
521
- var parent = span.parentNode, bbox = span.bbox, BBOX = parent.bbox;
522
- if (this.msiePlaceBoxBug) {this.addText(span,this.NBSP)}
523
- if (this.imgSpaceBug) {this.addText(span,this.imgSpace)}
524
- var HD = this.getHD(span), dx = 0;
525
- // Make sure vertical alignment of baseline is correct
526
- span.style.top = this.Em(-HD.h);
527
- if (-span.offsetTop !== Math.floor(HD.h*this.em+.5))
528
- {HD.h += .95*Math.floor(HD.h*this.em+span.offsetTop+.5)/this.em};
529
- // Clip so that bbox doesn't include extra height and depth
530
- if (bbox) {
531
- if (this.negativeSkipBug) {
532
- if (bbox.lw < 0) {dx = bbox.lw; HTMLCSS.createBlank(span,-dx,true); l = 0}
533
- if (bbox.rw > bbox.w) {HTMLCSS.createBlank(span,bbox.rw-bbox.w+.1)}
534
- }
535
- if (!this.msieClipRectBug && !bbox.noclip && !noclip) {
536
- var dd = 3/this.em;
537
- var H = (bbox.H == null ? bbox.h : bbox.H), D = (bbox.D == null ? bbox.d : bbox.D);
538
- var t = HD.h - H - dd, b = HD.h + D + dd, l = bbox.lw - 3*dd, r = 1000;
539
- span.style.clip = "rect("+this.Em(t)+" "+this.Em(r)+" "+this.Em(b)+" "+this.Em(l)+")";
540
- }
541
- }
542
- // Place the box
543
- span.style.left = this.Em(x+dx);
544
- span.style.top = this.Em(-(y+HD.h));
545
- // Update the bounding box
546
- if (bbox && BBOX) {
547
- if (bbox.H != null && (BBOX.H == null || bbox.H + y > BBOX.H)) {BBOX.H = bbox.H + y}
548
- if (bbox.D != null && (BBOX.D == null || bbox.D - y > BBOX.D)) {BBOX.D = bbox.D - y}
549
- if (bbox.h + y > BBOX.h) {BBOX.h = bbox.h + y}
550
- if (bbox.d - y > BBOX.d) {BBOX.d = bbox.d - y}
551
- if (BBOX.H != null && BBOX.H <= BBOX.h) {delete BBOX.H}
552
- if (BBOX.D != null && BBOX.D <= BBOX.d) {delete BBOX.D}
553
- if (bbox.w + x > BBOX.w) {
554
- BBOX.w = bbox.w + x;
555
- if (BBOX.width == null) {parent.style.width = this.Em(BBOX.w)}
556
- }
557
- if (bbox.rw + x > BBOX.rw) {BBOX.rw = bbox.rw + x}
558
- if (bbox.lw + x < BBOX.lw) {BBOX.lw = bbox.lw + x}
559
- // FIXME: deal with non-percent widths
560
- if (bbox.width != null) {
561
- if (BBOX.width == null) {parent.style.width = BBOX.width = "100%"}
562
- span.style.width = bbox.width;
563
- }
564
- }
565
- },
566
- alignBox: function (span,align,y) {
567
- this.placeBox(span,0,y); // set y position (and left aligned)
568
- var r = 0, c = -span.bbox.w/2;
569
- if (this.negativeSkipBug) {r = span.bbox.w-span.bbox.rw-.1; c += span.bbox.lw}
570
- // FIXME: handle width that is not a percent
571
- c = (span.bbox.width ? "-"+Math.floor(parseInt(span.bbox.width)/2)+"%" :
572
- this.Em(c*this.msieMarginScale));
573
- MathJax.Hub.Insert(span.style,({
574
- right: {left:"", right: this.Em(r)},
575
- center: {left:"50%", marginLeft: c}
576
- })[align]);
577
- },
578
- setStackWidth: function (span,w) {
579
- if (typeof(w) === "number") {
580
- span.style.width = this.Em(Math.max(0,w));
581
- if (span.bbox) {span.bbox.w = w};
582
- if (span.parentNode.bbox) {span.parentNode.bbox.w = w}
583
- } else {
584
- span.style.width = span.parentNode.style.width = "100%";
585
- if (span.bbox) {span.bbox.width = w}
586
- if (span.parentNode.bbox) {span.parentNode.bbox.width = w}
587
- }
588
- },
589
-
590
- createDelimiter: function (span,code,HW,scale,font) {
591
- if (!code) {
592
- span.bbox = {h:0, d:0, w:this.TeX.nulldelimiterspace, lw: 0};
593
- span.bbox.rw = span.bbox.w;
594
- this.createSpace(span,span.bbox.h,span.bbox.d,span.bbox.w);
595
- return;
596
- }
597
- if (!scale) {scale = 1};
598
- if (!(HW instanceof Array)) {HW = [HW,HW]}
599
- var hw = HW[1]; HW = HW[0];
600
- var delim = {alias: code};
601
- while (delim.alias) {
602
- code = delim.alias; delim = this.FONTDATA.DELIMITERS[code];
603
- if (!delim) {delim = {HW: [0,this.FONTDATA.VARIANT[MML.VARIANT.NORMAL]]}}
604
- }
605
- for (var i = 0, m = delim.HW.length; i < m; i++) {
606
- if (delim.HW[i][0]*scale >= HW-.01 || (i == m-1 && !delim.stretch)) {
607
- if (delim.HW[i][2]) {scale *= delim.HW[i][2]}
608
- if (delim.HW[i][3]) {code = delim.HW[i][3]}
609
- var chr = this.addElement(span,"span");
610
- this.createChar(chr,[code,delim.HW[i][1]],scale,font);
611
- span.bbox = chr.bbox;
612
- span.offset = .65 * span.bbox.w;
613
- span.scale = scale;
614
- return;
615
- }
616
- }
617
- if (delim.stretch) {this["extendDelimiter"+delim.dir](span,hw,delim.stretch,scale,font)}
618
- },
619
- extendDelimiterV: function (span,H,delim,scale,font) {
620
- var stack = this.createStack(span,true);
621
- var top = this.createBox(stack), bot = this.createBox(stack);
622
- this.createChar(top,(delim.top||delim.ext),scale,font);
623
- this.createChar(bot,(delim.bot||delim.ext),scale,font);
624
- var ext = {bbox:{w:0,lw:0,rw:0}}, mid = ext;
625
- var h = top.bbox.h + top.bbox.d + bot.bbox.h + bot.bbox.d;
626
- var y = -top.bbox.h; this.placeBox(top,0,y,true); y -= top.bbox.d;
627
- if (delim.mid) {
628
- mid = this.createBox(stack); this.createChar(mid,delim.mid,scale,font);
629
- h += mid.bbox.h + mid.bbox.d;
630
- }
631
- if (H > h) {
632
- ext = this.Element("span"); this.createChar(ext,delim.ext,scale,font);
633
- var eH = ext.bbox.h + ext.bbox.d, eh = eH - .05, n, N, k = (delim.mid ? 2 : 1);
634
- N = n = Math.ceil((H-h)/(k*eh));
635
- if (!delim.fullExtenders) {eh = (H-h)/(k*n)}
636
- var dy = (n/(n+1))*(eH - eh); eh = eH - dy; y += dy + eh - ext.bbox.h;
637
- while (k-- > 0) {
638
- while (n-- > 0) {y -= eh; this.placeBox(this.addBox(stack,ext.cloneNode(true)),0,y,true)}
639
- y += dy - ext.bbox.d;
640
- if (delim.mid && k) {
641
- this.placeBox(mid,0,y-mid.bbox.h,true); n = N;
642
- y += -(mid.bbox.h + mid.bbox.d) + dy + eh - ext.bbox.h;
643
- }
644
- }
645
- } else {
646
- y += (h - H)/2;
647
- if (delim.mid) {this.placeBox(mid,0,y-mid.bbox.h,true); y += -(mid.bbox.h + mid.bbox.d)}
648
- y += (h - H)/2;
649
- }
650
- this.placeBox(bot,0,y-bot.bbox.h,true); y -= bot.bbox.h + bot.bbox.d;
651
- span.bbox = {
652
- w: Math.max(top.bbox.w,ext.bbox.w,bot.bbox.w,mid.bbox.w),
653
- lw: Math.min(top.bbox.lw,ext.bbox.lw,bot.bbox.lw,mid.bbox.lw),
654
- rw: Math.max(top.bbox.rw,ext.bbox.rw,bot.bbox.rw,mid.bbox.rw),
655
- h: 0, d: -y
656
- }
657
- span.scale = scale;
658
- span.offset = .55 * span.bbox.w;
659
- span.isMultiChar = true;
660
- this.setStackWidth(stack,span.bbox.w);
661
- },
662
- extendDelimiterH: function (span,W,delim,scale,font) {
663
- var stack = this.createStack(span,true);
664
- var left = this.createBox(stack), right = this.createBox(stack);
665
- this.createChar(left,(delim.left||delim.rep),scale,font);
666
- this.createChar(right,(delim.right||delim.rep),scale,font);
667
- var rep = this.Element("span"); this.createChar(rep,delim.rep,scale,font);
668
- var mid = {bbox: {h:-this.BIGDIMEN, d:-this.BIGDIMEN}};
669
- this.placeBox(left,-left.bbox.lw,0,true);
670
- var w = (left.bbox.rw - left.bbox.lw) + (right.bbox.rw - right.bbox.lw) - .05,
671
- x = left.bbox.rw - left.bbox.lw - .025;
672
- if (delim.mid) {
673
- mid = this.createBox(stack); this.createChar(mid,delim.mid,scale,font);
674
- w += mid.bbox.w;
675
- }
676
- if (W > w) {
677
- var rW = rep.bbox.rw-rep.bbox.lw, rw = rW - .05, n, N, k = (delim.mid ? 2 : 1);
678
- N = n = Math.ceil((W-w)/(k*rw)); rw = (W-w)/(k*n);
679
- var dx = (n/(n+1))*(rW - rw); rw = rW - dx; x -= rep.bbox.lw + dx;
680
- while (k-- > 0) {
681
- while (n-- > 0) {this.placeBox(this.addBox(stack,rep.cloneNode(true)),x,0,true); x += rw}
682
- if (delim.mid && k) {this.placeBox(mid,x,0,true); x += mid.bbox.w - dx; n = N}
683
- }
684
- } else {
685
- x -= (w - W)/2;
686
- if (delim.mid) {this.placeBox(mid,x,0,true); x += mid.bbox.w}
687
- x -= (w - W)/2;
688
- }
689
- this.placeBox(right,x,0,true);
690
- span.bbox = {
691
- w: x+right.bbox.rw, lw: 0, rw: x+right.bbox.rw,
692
- H: Math.max(left.bbox.h,rep.bbox.h,right.bbox.h,mid.bbox.h),
693
- D: Math.max(left.bbox.d,rep.bbox.d,right.bbox.d,mid.bbox.d),
694
- h: rep.bbox.h, d: rep.bbox.d
695
- }
696
- span.scale = scale;
697
- span.isMultiChar = true;
698
- this.setStackWidth(stack,span.bbox.w);
699
- },
700
- createChar: function (span,data,scale,font) {
701
- var SPAN = span, text = "", variant = {fonts: [data[1]], noRemap:true};
702
- if (font && font === MML.VARIANT.BOLD) {variant.fonts = [data[1]+"-bold",data[1]]}
703
- if (typeof(data[1]) !== "string") {variant = data[1]}
704
- if (data[0] instanceof Array) {
705
- for (var i = 0, m = data[0].length; i < m; i++) {text += String.fromCharCode(data[0][i])}
706
- } else {text = String.fromCharCode(data[0])}
707
- if (scale !== 1) {
708
- SPAN = this.addElement(span,"span",{style:{fontSize: this.Percent(scale)}, scale:scale});
709
- this.handleVariant(SPAN,variant,text);
710
- span.bbox = SPAN.bbox;
711
- } else {this.handleVariant(span,variant,text)}
712
- if (data[2]) {span.style.marginLeft = this.Em(data[2])}
713
- if (this.AccentBug && span.bbox.w === 0) {
714
- // Handle combining characters by adding a non-breaking space and removing that width
715
- SPAN.firstChild.nodeValue += this.NBSP;
716
- HTMLCSS.createSpace(span,0,0,-span.offsetWidth/HTMLCSS.em);
717
- }
718
- },
719
- positionDelimiter: function (span,h) {
720
- h -= span.bbox.h; span.bbox.d -= h; span.bbox.h += h;
721
- if (h) {
722
- if (this.safariVerticalAlignBug || this.msieVerticalAlignBug || this.konquerorVerticalAlignBug ||
723
- (this.operaVerticalAlignBug && span.isMultiChar)) {
724
- if (span.firstChild.style.display === "" && span.style.top !== "")
725
- {span = span.firstChild; h -= parseFloat(span.style.top)}
726
- span.style.position = "relative";
727
- span.style.top = this.Em(-h);
728
- } else {
729
- span.style.verticalAlign = this.Em(h);
730
- if (HTMLCSS.ffVerticalAlignBug) {HTMLCSS.createRule(span.parentNode,span.bbox.h,0,0)}
731
- }
732
- }
733
- },
734
-
735
- handleVariant: function (span,variant,text) {
736
- var newtext = "", n, c, C, font, noVariant = 1, VARIANT;
737
- if (text.length === 0) return;
738
- if (!span.bbox) {
739
- span.bbox = {
740
- w: 0, h: -this.BIGDIMEN, d: -this.BIGDIMEN,
741
- rw: -this.BIGDIMEN, lw: this.BIGDIMEN
742
- };
743
- }
744
- if (!variant) {variant = this.FONTDATA.VARIANT[MML.VARIANT.NORMAL]}
745
- VARIANT = variant;
746
- for (var i = 0, m = text.length; i < m; i++) {
747
- variant = VARIANT;
748
- n = text.charCodeAt(i); c = text.charAt(i);
749
- if (c == this.PLANE1) {
750
- i++; n = text.charCodeAt(i) + 0x1D400 - 0xDC00;
751
- } else {
752
- var id, M, RANGES = this.FONTDATA.RANGES;
753
- for (id = 0, M = RANGES.length; id < M; id++) {
754
- if (RANGES[id].name === "alpha" && variant.noLowerCase) continue;
755
- var N = variant["offset"+RANGES[id].offset];
756
- if (N && n >= RANGES[id].low && n <= RANGES[id].high) {
757
- if (RANGES[id].remap && RANGES[id].remap[n]) {
758
- n = N + RANGES[id].remap[n];
759
- } else {
760
- n = n - RANGES[id].low + N;
761
- if (RANGES[id].add) {n += RANGES[id].add}
762
- }
763
- if (variant["variant"+RANGES[id].offset])
764
- {variant = this.FONTDATA.VARIANT[variant["variant"+RANGES[id].offset]]}
765
- break;
766
- }
767
- }
768
- }
769
- if (variant.remap && variant.remap[n]) {
770
- if (variant.remap[n] instanceof Array) {
771
- var remap = variant.remap[n];
772
- n = remap[0]; variant = this.FONTDATA.VARIANT[remap[1]];
773
- } else {
774
- n = variant.remap[n];
775
- if (variant.remap.variant) {variant = this.FONTDATA.VARIANT[variant.remap.variant]}
776
- }
777
- }
778
- if (this.FONTDATA.REMAP[n] && !variant.noRemap) {n = this.FONTDATA.REMAP[n]}
779
- font = this.lookupChar(variant,n); c = font[n];
780
- if (noVariant && !c[5].img) {this.handleFont(span,font); noVariant = 1}
781
- newtext = this.handleChar(span,font,c,n,newtext);
782
- if (c[0]/1000 > span.bbox.h) {span.bbox.h = c[0]/1000}
783
- if (c[1]/1000 > span.bbox.d) {span.bbox.d = c[1]/1000}
784
- if (span.bbox.w + c[3]/1000 < span.bbox.lw) {span.bbox.lw = span.bbox.w + c[3]/1000}
785
- if (span.bbox.w + c[4]/1000 > span.bbox.rw) {span.bbox.rw = span.bbox.w + c[4]/1000}
786
- span.bbox.w += c[2]/1000;
787
- }
788
- if (newtext.length) {this.addText(span,newtext)}
789
- if (span.scale && span.scale !== 1) {
790
- span.bbox.h *= span.scale; span.bbox.d *= span.scale;
791
- span.bbox.w *= span.scale; span.bbox.lw *= span.scale; span.bbox.rw *= span.scale;
792
- }
793
- if (text.length == 1 && font.skew && font.skew[n]) {span.bbox.skew = font.skew[n]}
794
- },
795
-
796
- handleFont: function (span,font) {
797
- span.style.fontFamily = font.family;
798
- if (!(HTMLCSS.FontFaceBug && font.isWebFont)) {
799
- var style = font.style || this.FONTDATA.DEFAULTSTYLE,
800
- weight = font.weight || this.FONTDATA.DEFAULTWEIGHT;
801
- if (style !== "normal") {span.style.fontStyle = style}
802
- if (weight !== "normal") {span.style.fontWeight = weight}
803
- }
804
- },
805
-
806
- handleChar: function (span,font,c,n,text) {
807
- var C = c[5];
808
- if (C.img) {return this.handleImg(span,font,c,n,text)}
809
- if (C.c == null) {
810
- if (n <= 0xFFFF) {C.c = String.fromCharCode(n)}
811
- else {C.c = this.PLANE1 + String.fromCharCode(n-0x1D400+0xDC00)}
812
- }
813
- if (c[2] || !this.msieAccentBug || text.length) {return text + C.c}
814
- // Handle IE accent clipping bug
815
- HTMLCSS.createShift(span,c[3]/1000);
816
- HTMLCSS.createShift(span,(c[4]-c[3])/1000);
817
- this.addText(span,C.c);
818
- HTMLCSS.createShift(span,-c[4]/1000);
819
- return "";
820
- },
821
- handleImg: function (span,font,c,n,text) {return text}, // replaced by imageFont extension
822
-
823
- lookupChar: function (variant,n) {
824
- var i, m;
825
- if (!variant.FONTS) {
826
- var FONTS = this.FONTDATA.FONTS;
827
- var fonts = (variant.fonts || this.FONTDATA.VARIANT.normal.fonts);
828
- if (!(fonts instanceof Array)) {fonts = [fonts]}
829
- if (variant.fonts != fonts) {variant.fonts = fonts}
830
- variant.FONTS = [];
831
- for (i = 0, m = fonts.length; i < m; i++) {
832
- if (FONTS[fonts[i]]) {
833
- variant.FONTS.push(FONTS[fonts[i]]);
834
- FONTS[fonts[i]].name = fonts[i]; // FIXME: should really be in the font files
835
- }
836
- }
837
- }
838
- for (i = 0, m = variant.FONTS.length; i < m; i++) {
839
- var font = variant.FONTS[i];
840
- if (typeof(font) === "string") {
841
- delete variant.FONTS; this.loadFont(font);
842
- }
843
- if (font[n]) {
844
- if (font[n].length === 5) {font[n][5] = {}}
845
- if (HTMLCSS.allowWebFonts && !font.available)
846
- {this.loadWebFont(font)} else {return font}
847
- } else {this.findBlock(font,n)}
848
- }
849
- var unknown = (variant.defaultFont || {family:HTMLCSS.FONTDATA.DEFAULTFAMILY+",serif"});
850
- unknown[n] = [800,200,500,0,500,{isUnknown:true}]; // [h,d,w,lw,rw,{data}]
851
- return unknown;
852
- },
853
-
854
- findBlock: function (font,c) {
855
- if (font.Ranges) {
856
- // FIXME: do binary search?
857
- for (var i = 0, m = font.Ranges.length; i < m; i++) {
858
- if (c < font.Ranges[i][0]) return;
859
- if (c <= font.Ranges[i][1]) {
860
- var file = font.Ranges[i][2];
861
- for (var j = font.Ranges.length-1; j >= 0; j--)
862
- {if (font.Ranges[j][2] == file) {font.Ranges.splice(j,1)}}
863
- this.loadFont(font.directory+"/"+file+".js");
864
- }
865
- }
866
- }
867
- },
868
-
869
- loadFont: function (file) {
870
- var queue = MathJax.CallBack.Queue();
871
- queue.Push(["Require",MathJax.Ajax,this.fontDir+"/"+file]);
872
- if (this.imgFonts) {queue.Push(["Require",MathJax.Ajax,this.webfontDir+"/png/"+file])}
873
- MathJax.Hub.RestartAfter(queue.Push({}));
874
- },
875
-
876
- loadWebFont: function (font) {
877
- font.available = font.isWebFont = true;
878
- if (HTMLCSS.FontFaceBug) {font.family = font.name}
879
- var callback = this.Font.loadWebFont(font);
880
- MathJax.Hub.RestartAfter(callback);
881
- },
882
-
883
- Element: function (type,def) {
884
- var obj = document.createElement(type);
885
- for (var i = 1, m = arguments.length; i < m; i++) {
886
- if (arguments[i]) {MathJax.Hub.Insert(obj,arguments[i]);}
887
- }
888
- return obj;
889
- },
890
- addElement: function (span,type,def) {return span.appendChild(this.Element(type,def))},
891
- TextNode: function (text) {return document.createTextNode(text)},
892
- addText: function (span,text) {return span.appendChild(this.TextNode(text))},
893
-
894
- BIGDIMEN: 10000000,
895
- ID: 0,
896
- GetID: function () {this.ID++; return this.ID},
897
-
898
- MATHSPACE: {
899
- veryverythinmathspace: 1/18,
900
- verythinmathspace: 2/18,
901
- thinmathspace: 3/18,
902
- mediummathspace: 4/18,
903
- thickmathspace: 5/18,
904
- verythickmathspace: 6/18,
905
- veryverythickmathspace: 7/18,
906
- negativeveryverythinmathspace: -1/18,
907
- negativeverythinmathspace: -2/18,
908
- negativethinmathspace: -3/18,
909
- negativemediummathspace: -4/18,
910
- negativethickmathspace: -5/18,
911
- negativeverythickmathspace: -6/18,
912
- negativeveryverythickmathspace: -7/18
913
- },
914
-
915
- TeX: {
916
- x_height: .430554,
917
- quad: 1,
918
- num1: .676508,
919
- num2: .393732,
920
- num3: .44373,
921
- denom1: .685951,
922
- denom2: .344841,
923
- sup1: .412892,
924
- sup2: .362892,
925
- sup3: .288888,
926
- sub1: .15,
927
- sub2: .247217,
928
- sup_drop: .386108,
929
- sub_drop: .05,
930
- delim1: 2.39,
931
- delim2: 1.0,
932
- axis_height: .25,
933
- rule_thickness: .06,
934
- big_op_spacing1: .111111,
935
- big_op_spacing2: .166666,
936
- big_op_spacing3: .2,
937
- big_op_spacing4: .6,
938
- big_op_spacing5: .1,
939
-
940
- scriptspace: .1,
941
- nulldelimiterspace: .12,
942
- delimiterfactor: 901,
943
- delimitershortfall: .1, // originally .3,
944
-
945
- min_rule_thickness: 1.25 // in pixels
946
- },
947
-
948
- PLANE1: String.fromCharCode(0xD835),
949
- NBSP: String.fromCharCode(0xA0),
950
-
951
- rfuzz: 0 // adjustment to rule placements in roots
952
- });
953
-
954
- MML.mbase.Augment({
955
- toHTML: function (span) {
956
- span = this.HTMLcreateSpan(span);
957
- for (var i = 0, m = this.data.length; i < m; i++)
958
- {if (this.data[i]) {this.data[i].toHTML(span)}}
959
- var stretchy = this.HTMLcomputeBBox(span);
960
- var h = span.bbox.h, d = span.bbox.d;
961
- for (i = 0, m = stretchy.length; i < m; i++) {stretchy[i].HTMLstretchV(span,h,d)}
962
- if (stretchy.length) {this.HTMLcomputeBBox(span,true)}
963
- this.HTMLhandleSpace(span);
964
- this.HTMLhandleColor(span);
965
- return span;
966
- },
967
- HTMLcomputeBBox: function (span,full) {
968
- var i, m, child, bbox, BBOX, hasDimens = 0, width, stretchy = [];
969
- BBOX = span.bbox = {};
970
- for (i = 0, m = this.data.length; i < m; i++) {
971
- var core = this.data[i]; if (!core) continue;
972
- if (!full && core.HTMLcanStretch("Vertical"))
973
- {stretchy.push(core); core = (core.CoreMO()||core)}
974
- this.HTMLcombineBBoxes(core,BBOX);
975
- }
976
- this.HTMLcleanBBox(BBOX);
977
- return stretchy;
978
- },
979
- HTMLcombineBBoxes: function (core,BBOX) {
980
- if (BBOX.w == null) {
981
- BBOX.h = BBOX.d = BBOX.H = BBOX.D = BBOX.rw = -HTMLCSS.BIGDIMEN;
982
- BBOX.w = 0; BBOX.lw = HTMLCSS.BIGDIMEN;
983
- }
984
- var child = core.HTMLspanElement(); if (!child || !child.bbox) return;
985
- var bbox = child.bbox;
986
- if (bbox.d > BBOX.d) {BBOX.d = bbox.d}
987
- if (bbox.h > BBOX.h) {BBOX.h = bbox.h}
988
- if (bbox.D != null && bbox.D > BBOX.D) {BBOX.D = bbox.D}
989
- if (bbox.H != null && bbox.H > BBOX.H) {BBOX.H = bbox.H}
990
- if (child.style.paddingLeft) {BBOX.w += parseFloat(child.style.paddingLeft)*(child.scale||1)}
991
- if (BBOX.w + bbox.lw < BBOX.lw) {BBOX.lw = BBOX.w + bbox.lw}
992
- if (BBOX.w + bbox.rw > BBOX.rw) {BBOX.rw = BBOX.w + bbox.rw}
993
- BBOX.w += bbox.w;
994
- if (child.style.paddingRight) {BBOX.w += parseFloat(child.style.paddingRight)*(child.scale||1)}
995
- if (bbox.width) {BBOX.width = bbox.width}
996
- },
997
- HTMLcleanBBox: function (BBOX) {
998
- if (BBOX.h === this.BIGDIMEN)
999
- {BBOX.h = BBOX.d = BBOX.H = BBOX.D = BBOX.w = BBOX.rw = BBOX.lw = 0}
1000
- if (BBOX.D <= BBOX.d) {delete BBOX.D}; if (BBOX.H <= BBOX.h) {delete BBOX.H}
1001
- },
1002
- HTMLcanStretch: function (direction) {
1003
- if (this.isEmbellished()) {return this.Core().HTMLcanStretch(direction)}
1004
- return false;
1005
- },
1006
- HTMLstretchH: function (box,W) {return this.HTMLspanElement()},
1007
- HTMLstretchV: function (box,h,d) {return this.HTMLspanElement()},
1008
-
1009
- HTMLcreateSpan: function (span) {
1010
- if (this.spanID) {
1011
- var SPAN = this.HTMLspanElement();
1012
- if (SPAN) {
1013
- while (SPAN.firstChild) {SPAN.removeChild(SPAN.firstChild)}
1014
- SPAN.bbox = {w:0, h:0, d:0, lw:0, rw:0};
1015
- SPAN.scale = 1; SPAN.isMultChar = null;
1016
- SPAN.style.cssText = "";
1017
- return SPAN;
1018
- }
1019
- }
1020
- if (this.href) {span = HTMLCSS.addElement(span,"a",{href:this.href})}
1021
- span = HTMLCSS.addElement(span,"span",{className: this.type});
1022
- if (HTMLCSS.imgHeightBug) {span.style.display = "inline-block"}
1023
- if (this["class"] != null) {span.className += " "+this["class"]}
1024
- if (this.style) {span.style.cssText = this.style}
1025
- this.spanID = HTMLCSS.GetID(); span.id = (this.id || "MathJax-Span-"+this.spanID);
1026
- span.bbox = {w:0, h:0, d:0, lw:0, lr:0};
1027
- if (this.href) {span.parentNode.bbox = span.bbox}
1028
- return span;
1029
- },
1030
- HTMLspanElement: function () {
1031
- if (!this.spanID) {return null}
1032
- return document.getElementById(this.id || "MathJax-Span-"+this.spanID);
1033
- },
1034
-
1035
- HTMLhandleVariant: function (span,variant,text) {HTMLCSS.handleVariant(span,variant,text)},
1036
-
1037
- HTMLhandleSize: function (span) {
1038
- if (!span.scale) {
1039
- span.scale = this.HTMLgetScale();
1040
- if (span.scale !== 1) {span.style.fontSize = HTMLCSS.Percent(span.scale)}
1041
- }
1042
- return span;
1043
- },
1044
-
1045
- HTMLhandleColor: function (span) {
1046
- var values = this.getValues("mathcolor","color");
1047
- if (this.mathbackground) {values.mathbackground = this.mathbackground}
1048
- if (this.background) {values.background = this.background}
1049
- if (this.style && span.style.backgroundColor) {values.mathbackground = span.style.backgroundColor}
1050
- if (values.color && !this.mathcolor) {values.mathcolor = values.color}
1051
- if (values.background && !this.mathbackground) {values.mathbackground = values.background}
1052
- if (values.mathcolor) {span.style.color = values.mathcolor}
1053
- if (values.mathbackground && values.mathbackground !== MML.COLOR.TRANSPARENT) {
1054
- var dd = 1/HTMLCSS.em, lW = 0, rW = 0;
1055
- if (this.isToken) {lW = span.bbox.lw; rW = span.bbox.rw - span.bbox.w}
1056
- if (span.style.paddingLeft !== "") {lW += parseFloat(span.style.paddingLeft)*(span.scale||1)}
1057
- if (span.style.paddingRight !== "") {rW -= parseFloat(span.style.paddingRight)*(span.scale||1)}
1058
- var W = Math.max(0,HTMLCSS.getW(span) + (HTMLCSS.PaddingWidthBug ? 0 : rW - lW));
1059
- if (HTMLCSS.msieCharPaddingWidthBug && span.style.paddingLeft !== "")
1060
- {W += parseFloat(span.style.paddingLeft)*(span.scale||1)}
1061
- var H = span.bbox.h + span.bbox.d, D = -span.bbox.d;
1062
- if (W > 0) {W += 2*dd; lW -= dd}; if (H > 0) {H += 2*dd; D -= dd}; rW = -W-lW;
1063
- var frame = HTMLCSS.Element("span",{id:"MathJax-Color-"+this.spanID,
1064
- style:{display:"inline-block", backgroundColor:values.mathbackground,
1065
- width: HTMLCSS.Em(W), height:HTMLCSS.Em(H), verticalAlign: HTMLCSS.Em(D),
1066
- marginLeft: HTMLCSS.Em(lW), marginRight: HTMLCSS.Em(rW)}
1067
- });
1068
- if (HTMLCSS.msieInlineBlockAlignBug) {
1069
- frame.style.position = "relative"; frame.style.width = frame.style.height = 0;
1070
- frame.style.verticalAlign = frame.style.marginLeft = frame.style.marginRight = "";
1071
- HTMLCSS.placeBox(HTMLCSS.addElement(frame,"span",{
1072
- style: {display:"inline-block", position:"absolute", overflow:"hidden",
1073
- width: HTMLCSS.Em(W), height: HTMLCSS.Em(H),
1074
- background: values.mathbackground}
1075
- }),lW,span.bbox.h+dd);
1076
- } else {
1077
- }
1078
- span.parentNode.insertBefore(frame,span);
1079
- }
1080
- },
1081
- HTMLremoveColor: function () {
1082
- var color = document.getElementById("MathJax-Color-"+this.spanID);
1083
- if (color) {color.parentNode.removeChild(color)}
1084
- },
1085
-
1086
- HTMLhandleSpace: function (span) {
1087
- if (this.useMMLspacing) {
1088
- if (this.type !== "mo") return;
1089
- var values = this.getValues("scriptlevel","lspace","rspace");
1090
- if (values.scriptlevel <= 0 || this.hasValue("lspace") || this.hasValue("rspace")) {
1091
- values.lspace = Math.max(0,HTMLCSS.length2em(values.lspace));
1092
- values.rspace = Math.max(0,HTMLCSS.length2em(values.rspace));
1093
- var core = this, parent = this.Parent();
1094
- while (parent && parent.isEmbellished() && parent.Core() === core)
1095
- {core = parent; parent = parent.Parent(); span = core.HTMLspanElement()}
1096
- if (values.lspace) {span.style.paddingLeft = HTMLCSS.Em(values.lspace)}
1097
- if (values.rspace) {span.style.paddingRight = HTMLCSS.Em(values.rspace)}
1098
- }
1099
- } else {
1100
- var space = this.texSpacing();
1101
- if (space !== "") {
1102
- space = HTMLCSS.length2em(space)/(span.scale||1);
1103
- if (span.style.paddingLeft) {space += parseFloat(span.style.paddingLeft)}
1104
- span.style.paddingLeft = HTMLCSS.Em(space);
1105
- }
1106
- }
1107
- },
1108
-
1109
- HTMLgetScale: function () {
1110
- var scale = 1, values = this.getValues("mathsize","scriptlevel","fontsize","scriptminsize");
1111
- if (this.style) {
1112
- var span = this.HTMLspanElement();
1113
- if (span.style.fontSize != "") {values.fontsize = span.style.fontSize}
1114
- }
1115
- if (values.fontsize && !this.mathsize) {values.mathsize = values.fontsize}
1116
- if (values.scriptlevel !== 0) {
1117
- if (values.scriptlevel > 2) {values.scriptlevel = 2}
1118
- scale = Math.pow(this.Get("scriptsizemultiplier"),values.scriptlevel);
1119
- values.scriptminsize = HTMLCSS.length2em(values.scriptminsize);
1120
- if (scale < values.scriptminsize) {scale = values.scriptminsize}
1121
- }
1122
- scale *= HTMLCSS.length2em(values.mathsize);
1123
- return scale;
1124
- },
1125
-
1126
- HTMLgetVariant: function () {
1127
- var values = this.getValues("mathvariant","fontfamily","fontweight","fontstyle");
1128
- if (this.style) {
1129
- var span = this.HTMLspanElement();
1130
- if (span.style.fontFamily) {values.fontfamily = span.style.fontFamily}
1131
- if (span.style.fontWeight) {values.fontweight = span.style.fontWeight}
1132
- if (span.style.fontStyle) {values.fontStyle = span.style.fontStyle}
1133
- }
1134
- var variant = values.mathvariant; if (this.variantForm) {variant = "-"+HTMLCSS.fontInUse+"-variant"}
1135
- if (values.fontfamily && !this.mathvariant) {
1136
- if (!values.fontweight && values.mathvariant.match(/bold/)) {values.fontweight = "bold"}
1137
- if (!values.fontstyle && values.mathvariant.match(/italic/)) {values.fontstyle = "italic"}
1138
- return {FONTS:[], fonts:[], noRemap:true,
1139
- defaultFont: {family:values.fontfamily, style:values.fontstyle, weight:values.fontweight}};
1140
- }
1141
- if (values.fontweight === "bold") {
1142
- variant = {
1143
- normal:MML.VARIANT.BOLD, italic:MML.VARIANT.BOLDITALIC,
1144
- fraktur:MML.VARIANT.BOLDFRAKTUR, script:MML.VARIANT.BOLDSCRIPT,
1145
- "sans-serif":MML.VARIANT.BOLDSANSSERIF,
1146
- "sans-serif-italic":MML.VARIANT.SANSSERIFBOLDITALIC
1147
- }[variant]||variant;
1148
- } else if (values.fontweight === "normal") {
1149
- variant = {
1150
- bold:MML.VARIANT.normal, "bold-italic":MML.VARIANT.ITALIC,
1151
- "bold-fraktur":MML.VARIANT.FRAKTUR, "bold-script":MML.VARIANT.SCRIPT,
1152
- "bold-sans-serif":MML.VARIANT.SANSSERIF,
1153
- "sans-serif-bold-italic":MML.VARIANT.SANSSERIFITALIC
1154
- }[variant]||variant;
1155
- }
1156
- if (values.fontstyle === "italic") {
1157
- variant = {
1158
- normal:MML.VARIANT.ITALIC, bold:MML.VARIANT.BOLDITALIC,
1159
- "sans-serif":MML.VARIANT.SANSSERIFITALIC,
1160
- "bold-sans-serif":MML.VARIANT.SANSSERIFBOLDITALIC
1161
- }[variant]||variant;
1162
- } else if (values.fontstyle === "normal") {
1163
- variant = {
1164
- italic:MML.VARIANT.NORMAL, "bold-italic":MML.VARIANT.BOLD,
1165
- "sans-serif-italic":MML.VARIANT.SANSSERIF,
1166
- "sans-serif-bold-italic":MML.VARIANT.BOLDSANSSERIF
1167
- }[variant]||variant;
1168
- }
1169
- return HTMLCSS.FONTDATA.VARIANT[variant];
1170
- }
1171
- },{
1172
- HTMLautoload: function () {
1173
- var file = HTMLCSS.autoloadDir+"/"+this.type+".js";
1174
- MathJax.Hub.RestartAfter(AJAX.Require(file));
1175
- },
1176
-
1177
- HTMLstretchH: function (box,w) {
1178
- this.HTMLremoveColor();
1179
- return this.toHTML(box,w);
1180
- },
1181
-
1182
- HTMLstretchV: function (box,h,d) {
1183
- this.HTMLremoveColor();
1184
- return this.toHTML(box,h,d);
1185
- }
1186
- });
1187
-
1188
- MML.chars.Augment({
1189
- toHTML: function (span,variant) {
1190
- this.HTMLhandleVariant(span,variant,this.data.join("").replace(/[\u2061-\u2064]/g,"")); // remove invisibles
1191
- }
1192
- });
1193
- MML.entity.Augment({
1194
- toHTML: function (span,variant) {
1195
- this.HTMLhandleVariant(span,variant,this.toString().replace(/[\u2061-\u2064]/g,"")); // remove invisibles
1196
- }
1197
- });
1198
-
1199
- MML.mi.Augment({
1200
- toHTML: function (span) {
1201
- span = this.HTMLhandleSize(this.HTMLcreateSpan(span)); span.bbox = null;
1202
- var variant = this.HTMLgetVariant();
1203
- for (var i = 0, m = this.data.length; i < m; i++)
1204
- {if (this.data[i]) {this.data[i].toHTML(span,variant)}}
1205
- if (!span.bbox) {span.bbox = {w:0, h:0, d:0, rw:0, lw:0}}
1206
- if (this.data.join("").length !== 1) {delete span.bbox.skew}
1207
- this.HTMLhandleSpace(span);
1208
- this.HTMLhandleColor(span);
1209
- return span;
1210
- }
1211
- });
1212
-
1213
- MML.mn.Augment({
1214
- toHTML: function (span) {
1215
- span = this.HTMLhandleSize(this.HTMLcreateSpan(span)); span.bbox = null;
1216
- var variant = this.HTMLgetVariant();
1217
- for (var i = 0, m = this.data.length; i < m; i++)
1218
- {if (this.data[i]) {this.data[i].toHTML(span,variant)}}
1219
- if (!span.bbox) {span.bbox = {w:0, h:0, d:0, rw:0, lw:0}}
1220
- if (this.data.join("").length !== 1) {delete span.bbox.skew}
1221
- this.HTMLhandleSpace(span);
1222
- this.HTMLhandleColor(span);
1223
- return span;
1224
- }
1225
- });
1226
-
1227
- MML.mo.Augment({
1228
- toHTML: function (span) {
1229
- span = this.HTMLhandleSize(this.HTMLcreateSpan(span));
1230
- if (this.data.length == 0) {return span} else {span.bbox = null}
1231
- var text = this.data.join("");
1232
- var variant = this.HTMLgetVariant();
1233
- var values = this.getValues("largeop","displaystyle");
1234
- if (values.largeop)
1235
- {variant = HTMLCSS.FONTDATA.VARIANT[values.displaystyle ? "-largeOp" : "-smallOp"]}
1236
- for (var i = 0, m = this.data.length; i < m; i++)
1237
- {if (this.data[i]) {this.data[i].toHTML(span,variant)}}
1238
- if (!span.bbox) {span.bbox = {w:0, h:0, d:0, rw:0, lw:0}}
1239
- if (text.length !== 1) {delete span.bbox.skew}
1240
- if (HTMLCSS.AccentBug && span.bbox.w === 0 && text.length === 1 && span.firstChild) {
1241
- // Handle combining characters by adding a non-breaking space and removing that width
1242
- span.firstChild.nodeValue += HTMLCSS.NBSP;
1243
- HTMLCSS.createSpace(span,0,0,-span.offsetWidth/HTMLCSS.em);
1244
- }
1245
- if (values.largeop) {
1246
- var p = (span.bbox.h - span.bbox.d)/2 - HTMLCSS.TeX.axis_height*span.scale;
1247
- if (HTMLCSS.safariVerticalAlignBug && span.lastChild.nodeName === "IMG") {
1248
- span.lastChild.style.verticalAlign =
1249
- HTMLCSS.Em(parseFloat(span.lastChild.style.verticalAlign||0)/HTMLCSS.em-p/span.scale);
1250
- } else if (HTMLCSS.konquerorVerticalAlignBug && span.lastChild.nodeName === "IMG") {
1251
- span.style.position = "relative";
1252
- span.lastChild.style.position="relative";
1253
- span.lastChild.style.top = HTMLCSS.Em(p/span.scale);
1254
- } else {
1255
- span.style.verticalAlign = HTMLCSS.Em(-p/span.scale);
1256
- }
1257
- span.bbox.h -= p; span.bbox.d += p;
1258
- if (span.bbox.rw > span.bbox.w) {
1259
- span.bbox.ic = span.bbox.rw-span.bbox.w;
1260
- HTMLCSS.createBlank(span,span.bbox.ic);
1261
- span.bbox.w = span.bbox.rw;
1262
- }
1263
- }
1264
- this.HTMLhandleSpace(span);
1265
- this.HTMLhandleColor(span);
1266
- return span;
1267
- },
1268
- HTMLcanStretch: function (direction) {
1269
- if (!this.Get("stretchy")) {return false}
1270
- var c = this.data.join("");
1271
- if (c.length > 1) {return false}
1272
- c = HTMLCSS.FONTDATA.DELIMITERS[c.charCodeAt(0)];
1273
- return (c && c.dir == direction.substr(0,1));
1274
- },
1275
- HTMLstretchV: function (box,h,d) {
1276
- this.HTMLremoveColor();
1277
- var values = this.getValues("symmetric","maxsize","minsize");
1278
- var span = this.HTMLspanElement(), H, W = span.bbox.w;
1279
- var axis = HTMLCSS.TeX.axis_height, scale = span.scale;
1280
- if (values.symmetric) {H = 2*Math.max(h-axis,d+axis)} else {H = h + d}
1281
- values.maxsize = HTMLCSS.length2em(values.maxsize,span.bbox.h+span.bbox.d);
1282
- values.minsize = HTMLCSS.length2em(values.minsize,span.bbox.h+span.bbox.d);
1283
- H = Math.max(values.minsize,Math.min(values.maxsize,H));
1284
- span = this.HTMLcreateSpan(box); // clear contents and attributes
1285
- HTMLCSS.createDelimiter(span,this.data.join("").charCodeAt(0),H,scale);
1286
- if (values.symmetric) {H = (span.bbox.h + span.bbox.d)/2 + axis}
1287
- else {H = (span.bbox.h + span.bbox.d) * h/(h + d)}
1288
- HTMLCSS.positionDelimiter(span,H);
1289
- this.HTMLhandleSpace(span); // add in lspace/rspace, if any
1290
- this.HTMLhandleColor(span);
1291
- return span;
1292
- },
1293
- HTMLstretchH: function (box,W) {
1294
- this.HTMLremoveColor();
1295
- var values = this.getValues("maxsize","minsize","mathvariant","fontweight");
1296
- if (values.fontweight === "bold" && !this.mathvariant) {values.mathvariant = MML.VARIANT.BOLD}
1297
- var span = this.HTMLspanElement(), scale = span.scale;
1298
- values.maxsize = HTMLCSS.length2em(values.maxsize,span.bbox.w);
1299
- values.minsize = HTMLCSS.length2em(values.minsize,span.bbox.w);
1300
- W = Math.max(values.minsize,Math.min(values.maxsize,W));
1301
- span = this.HTMLcreateSpan(box); // clear contents and attributes
1302
- HTMLCSS.createDelimiter(span,this.data.join("").charCodeAt(0),W,scale,values.mathvariant);
1303
- this.HTMLhandleSpace(span); // add in lspace/rspace, if any
1304
- this.HTMLhandleColor(span);
1305
- return span;
1306
- }
1307
- });
1308
-
1309
- MML.mtext.Augment({
1310
- toHTML: function (span) {
1311
- span = this.HTMLhandleSize(this.HTMLcreateSpan(span)); span.bbox = null;
1312
- if (this.Parent().type === "merror") {
1313
- // Avoid setting the font style for error text
1314
- HTMLCSS.addText(span,this.data.join(""));
1315
- var HD = HTMLCSS.getHD(span), W = HTMLCSS.getW(span);
1316
- span.bbox = {h: HD.h, d: HD.d, w: W, lw: 0, rw: W};
1317
- } else {
1318
- var variant = this.HTMLgetVariant();
1319
- for (var i = 0, m = this.data.length; i < m; i++)
1320
- {if (this.data[i]) {this.data[i].toHTML(span,variant)}}
1321
- if (!span.bbox) {span.bbox = {w:0, h:0, d:0, rw:0, lw:0}}
1322
- if (this.data.join("").length !== 1) {delete span.bbox.skew}
1323
- }
1324
- this.HTMLhandleSpace(span);
1325
- this.HTMLhandleColor(span);
1326
- return span;
1327
- }
1328
- });
1329
-
1330
- MML.ms.Augment({toHTML: MML.mbase.HTMLautoload});
1331
-
1332
- MML.mglyph.Augment({toHTML: MML.mbase.HTMLautoload});
1333
-
1334
- MML.mspace.Augment({
1335
- toHTML: function (span) {
1336
- span = this.HTMLhandleSize(this.HTMLcreateSpan(span));
1337
- var values = this.getValues("height","depth","width");
1338
- values.mathbackground = this.mathbackground;
1339
- if (this.background && !this.mathbackground) {values.mathbackground = this.background}
1340
- var h = HTMLCSS.length2em(values.height), d = HTMLCSS.length2em(values.depth),
1341
- w = HTMLCSS.length2em(values.width);
1342
- HTMLCSS.createSpace(span,h,d,w,values.mathbackground);
1343
- return span;
1344
- }
1345
- });
1346
-
1347
- MML.mphantom.Augment({
1348
- toHTML: function (span,HW,D) {
1349
- span = this.HTMLcreateSpan(span);
1350
- var box = HTMLCSS.Measured(this.data[0].toHTML(span),span);
1351
- if (D != null) {HTMLCSS.Remeasured(this.data[0].HTMLstretchV(span,HW,D),span)}
1352
- else if (HW != null) {HTMLCSS.Remeasured(this.data[0].HTMLstretchH(span,HW),span)}
1353
- span.bbox = {w: box.bbox.w, h: box.bbox.h, d: box.bbox.d, lw: 0, rw: 0};
1354
- for (var i = 0, m = span.childNodes.length; i < m; i++)
1355
- {span.childNodes[i].style.visibility = "hidden"}
1356
- this.HTMLhandleSpace(span);
1357
- this.HTMLhandleColor(span);
1358
- return span;
1359
- },
1360
- HTMLstretchH: MML.mbase.HTMLstretchH,
1361
- HTMLstretchV: MML.mbase.HTMLstretchV
1362
- });
1363
-
1364
- MML.mpadded.Augment({
1365
- toHTML: function (span,HW,D) {
1366
- span = this.HTMLcreateSpan(span);
1367
- var stack = HTMLCSS.createStack(span,true);
1368
- var box = HTMLCSS.createBox(stack);
1369
- HTMLCSS.Measured(this.data[0].toHTML(box),box);
1370
- if (D != null) {HTMLCSS.Remeasured(this.data[0].HTMLstretchV(box,HW,D),box)}
1371
- else if (HW != null) {HTMLCSS.Remeasured(this.data[0].HTMLstretchH(box,HW),box)}
1372
- var values = this.getValues("height","depth","width","lspace","voffset"), x = 0, y = 0, v;
1373
- if (values.lspace) {x = this.HTMLlength2em(box,values.lspace)}
1374
- if (values.voffset) {y = this.HTMLlength2em(box,values.voffset)}
1375
- HTMLCSS.placeBox(box,x,y);
1376
- span.bbox = {
1377
- h: box.bbox.h, d: box.bbox.d, w: box.bbox.w,
1378
- lw: Math.min(0,box.bbox.lw+x), rw: Math.max(box.bbox.w,box.bbox.rw+x),
1379
- H: Math.max((box.bbox.H == null ? -HTMLCSS.BIGDIMEN : box.bbox.H),box.bbox.h+y),
1380
- D: Math.max((box.bbox.D == null ? -HTMLCSS.BIGDIMEN : box.bbox.D),box.bbox.d-y)
1381
- };
1382
- if (values.height !== "") {span.bbox.h = this.HTMLlength2em(box,values.height,"h",0)}
1383
- if (values.depth !== "") {span.bbox.d = this.HTMLlength2em(box,values.depth,"d",0)}
1384
- if (values.width !== "") {span.bbox.w = this.HTMLlength2em(box,values.width,"w",0)}
1385
- if (span.bbox.H <= span.bbox.h) {delete span.bbox.H}
1386
- if (span.bbox.D <= span.bbox.d) {delete span.bbox.D}
1387
- HTMLCSS.setStackWidth(stack,span.bbox.w);
1388
- this.HTMLhandleSpace(span);
1389
- this.HTMLhandleColor(span);
1390
- return span;
1391
- },
1392
- HTMLlength2em: function (span,length,d,m) {
1393
- if (m == null) {m = -HTMLCSS.BIGDIMEN}
1394
- var match = String(length).match(/width|height|depth/);
1395
- var size = (match ? span.bbox[match[0].charAt(0)] : (d ? span.bbox[d] : null));
1396
- var v = HTMLCSS.length2em(length,size);
1397
- if (d && String(length).match(/^\s*[-+]/))
1398
- {return Math.max(m,span.bbox[d]+v)} else {return v}
1399
- },
1400
- HTMLstretchH: MML.mbase.HTMLstretchH,
1401
- HTMLstretchV: MML.mbase.HTMLstretchV
1402
- });
1403
-
1404
- MML.mrow.Augment({
1405
- HTMLstretchH: function (box,w) {
1406
- this.HTMLremoveColor();
1407
- var span = this.HTMLspanElement();
1408
- this.data[this.core].HTMLstretchH(span,w);
1409
- this.HTMLcomputeBBox(span,true);
1410
- this.HTMLhandleColor(span);
1411
- return span;
1412
- },
1413
- HTMLstretchV: function (box,h,d) {
1414
- this.HTMLremoveColor();
1415
- var span = this.HTMLspanElement();
1416
- this.data[this.core].HTMLstretchV(span,h,d);
1417
- this.HTMLcomputeBBox(span,true);
1418
- this.HTMLhandleColor(span);
1419
- return span;
1420
- }
1421
- });
1422
-
1423
- MML.mstyle.Augment({
1424
- toHTML: function (span) {
1425
- if (this.data.length) {
1426
- span = this.data[0].toHTML(span);
1427
- this.spanID = this.data[0].spanID;
1428
- this.HTMLhandleSpace(span);
1429
- this.HTMLhandleColor(span);
1430
- }
1431
- return span;
1432
- },
1433
- HTMLspanElement: function () {
1434
- return (this.data.length ? this.data[0].HTMLspanElement() : null);
1435
- },
1436
- HTMLstretchH: function (box,w) {
1437
- return (this.data.length ? this.data[0].HTMLstretchH(box,w) : box);
1438
- },
1439
- HTMLstretchV: function (box,h,d) {
1440
- return (this.data.length ? this.data[0].HTMLstretchV(box,h,d) : box);
1441
- }
1442
- });
1443
-
1444
- MML.mfrac.Augment({
1445
- toHTML: function (span) {
1446
- span = this.HTMLcreateSpan(span);
1447
- var frac = HTMLCSS.createStack(span);
1448
- var num = HTMLCSS.createBox(frac), den = HTMLCSS.createBox(frac);
1449
- HTMLCSS.Measured(this.data[0].toHTML(num),num);
1450
- HTMLCSS.Measured(this.data[1].toHTML(den),den);
1451
- var values = this.getValues("displaystyle","linethickness","numalign","denomalign","bevelled");
1452
- var scale = this.HTMLgetScale(), isDisplay = values.displaystyle;
1453
- var a = HTMLCSS.TeX.axis_height * scale;
1454
- if (values.bevelled) {
1455
- var delta = (isDisplay ? .4 : .15);
1456
- var H = Math.max(num.bbox.h+num.bbox.d,den.bbox.h+den.bbox.d)+2*delta;
1457
- var bevel = HTMLCSS.createBox(frac);
1458
- HTMLCSS.createDelimiter(bevel,0x2F,H);
1459
- HTMLCSS.placeBox(num,0,(num.bbox.d-num.bbox.h)/2+a+delta);
1460
- HTMLCSS.placeBox(bevel,num.bbox.w-delta/2,(bevel.bbox.d-bevel.bbox.h)/2+a);
1461
- HTMLCSS.placeBox(den,num.bbox.w+bevel.bbox.w-delta,(den.bbox.d-den.bbox.h)/2+a-delta);
1462
- } else {
1463
- var W = Math.max(num.bbox.w,den.bbox.w);
1464
- var t = HTMLCSS.thickness2em(values.linethickness), p,q, u,v;
1465
- var mt = HTMLCSS.TeX.min_rule_thickness/this.em;
1466
- if (isDisplay) {u = HTMLCSS.TeX.num1; v = HTMLCSS.TeX.denom1}
1467
- else {u = (t === 0 ? HTMLCSS.TeX.num3 : HTMLCSS.TeX.num2); v = HTMLCSS.TeX.denom2}
1468
- u *= scale; v *= scale;
1469
- if (t === 0) {// \atop
1470
- p = Math.max((isDisplay ? 7 : 3) * HTMLCSS.TeX.rule_thickness, 2*mt); // force to at least 2 px
1471
- q = (u - num.bbox.d) - (den.bbox.h - v);
1472
- if (q < p) {u += (p - q)/2; v += (p - q)/2}
1473
- } else {// \over
1474
- p = Math.max((isDisplay ? 2 : 0) * mt + t, t/2 + 1.5*mt); // force to be at least 1.5px
1475
- q = (u - num.bbox.d) - (a + t/2); if (q < p) {u += p - q}
1476
- q = (a - t/2) - (den.bbox.h - v); if (q < p) {v += p - q}
1477
- var rule = HTMLCSS.createBox(frac);
1478
- HTMLCSS.createRule(rule,t,0,W+2*t);
1479
- HTMLCSS.placeBox(rule,0,a-t/2);
1480
- }
1481
- HTMLCSS.alignBox(num,values.numalign,u);
1482
- HTMLCSS.alignBox(den,values.denomalign,-v);
1483
- }
1484
- this.HTMLhandleSpace(span);
1485
- this.HTMLhandleColor(span);
1486
- return span;
1487
- },
1488
- HTMLcanStretch: function (direction) {return false},
1489
- HTMLhandleSpace: function (span) {
1490
- if (!this.texWithDelims) {
1491
- var space = (this.useMMLspacing ? 0 : HTMLCSS.length2em(this.texSpacing()||0)) + .12;
1492
- span.style.paddingLeft = HTMLCSS.Em(space);
1493
- span.style.paddingRight = ".12em";
1494
- }
1495
- }
1496
- });
1497
-
1498
- MML.msqrt.Augment({
1499
- toHTML: function (span) {
1500
- span = this.HTMLcreateSpan(span);
1501
- var sqrt = HTMLCSS.createStack(span);
1502
- var base = HTMLCSS.createBox(sqrt),
1503
- rule = HTMLCSS.createBox(sqrt),
1504
- surd = HTMLCSS.createBox(sqrt);
1505
- HTMLCSS.Measured(this.data[0].toHTML(base),base);
1506
- var scale = this.HTMLgetScale();
1507
- var t = HTMLCSS.TeX.rule_thickness * scale, p,q, H, W;
1508
- if (this.Get("displaystyle")) {p = HTMLCSS.TeX.x_height * scale} else {p = t}
1509
- q = Math.max(t + p/4,2*HTMLCSS.TeX.min_rule_thickness/this.em); // force to be at least 2px
1510
- H = base.bbox.h + base.bbox.d + q + t;
1511
- W = base.bbox.w;
1512
- HTMLCSS.createDelimiter(surd,0x221A,H,scale); HTMLCSS.Measured(surd);
1513
- var x = 0;
1514
- if (surd.isMultiChar || (HTMLCSS.AdjustSurd && HTMLCSS.imgFonts)) {surd.bbox.w *= .95}
1515
- if (surd.bbox.h + surd.bbox.d > H) {q += ((surd.bbox.h+surd.bbox.d) - (H-t))/2}
1516
- var ruleC = HTMLCSS.FONTDATA.DELIMITERS[HTMLCSS.FONTDATA.RULECHAR];
1517
- if (!ruleC || W < ruleC.HW[0][0]*scale || scale < .75) {
1518
- HTMLCSS.createRule(rule,t,0,W);
1519
- } else {
1520
- HTMLCSS.createDelimiter(rule,HTMLCSS.FONTDATA.RULECHAR,W,scale);
1521
- }
1522
- H = base.bbox.h + q + t;
1523
- x = this.HTMLaddRoot(sqrt,surd,x,surd.bbox.h+surd.bbox.d-H,scale);
1524
- HTMLCSS.placeBox(surd,x,H-surd.bbox.h);
1525
- HTMLCSS.placeBox(rule,x+surd.bbox.w,H-rule.bbox.h+HTMLCSS.rfuzz);
1526
- HTMLCSS.placeBox(base,x+surd.bbox.w,0);
1527
- span.bbox.h += t;
1528
- this.HTMLhandleSpace(span);
1529
- this.HTMLhandleColor(span);
1530
- return span;
1531
- },
1532
- HTMLaddRoot: function (sqrt,surd,x,d,scale) {return x}
1533
- });
1534
-
1535
- MML.mroot.Augment({
1536
- toHTML: MML.msqrt.prototype.toHTML,
1537
- HTMLaddRoot: function (sqrt,surd,x,d,scale) {
1538
- var box = HTMLCSS.createBox(sqrt);
1539
- var root = this.data[1].toHTML(box);
1540
- root.style.paddingRight = root.style.paddingLeft = ""; // remove extra padding, if any
1541
- HTMLCSS.Measured(root,box);
1542
- var h = this.HTMLrootHeight(surd.bbox.h+surd.bbox.d,scale,box)-d;
1543
- var w = Math.min(box.bbox.w,box.bbox.rw); // remove extra right-hand padding, if any
1544
- x = Math.max(w,surd.offset);
1545
- HTMLCSS.placeBox(box,x-w,h);
1546
- return x - surd.offset;
1547
- },
1548
- HTMLrootHeight: function (d,scale,root) {
1549
- return .45*(d-.9*scale)+.6*scale + Math.max(0,root.bbox.d-.075);
1550
- }
1551
- });
1552
-
1553
- MML.mfenced.Augment({
1554
- toHTML: function (span) {
1555
- span = this.HTMLcreateSpan(span);
1556
- if (this.data.open) {this.data.open.toHTML(span)}
1557
- if (this.data[0]) {this.data[0].toHTML(span)}
1558
- for (var i = 1, m = this.data.length; i < m; i++) {
1559
- if (this.data[i]) {
1560
- if (this.data["sep"+i]) {this.data["sep"+i].toHTML(span)}
1561
- this.data[i].toHTML(span);
1562
- }
1563
- }
1564
- if (this.data.close) {this.data.close.toHTML(span)}
1565
- var stretchy = this.HTMLcomputeBBox(span);
1566
- var h = span.bbox.h, d = span.bbox.d;
1567
- for (i = 0, m = stretchy.length; i < m; i++) {stretchy[i].HTMLstretchV(span,h,d)}
1568
- if (stretchy.length) {this.HTMLcomputeBBox(span,true)}
1569
- this.HTMLhandleSpace(span);
1570
- this.HTMLhandleColor(span);
1571
- return span;
1572
- },
1573
- HTMLcomputeBBox: function (span,full) {
1574
- var i, m, child, bbox, BBOX, hasDimens = 0, width, stretchy = [];
1575
- BBOX = span.bbox = {};
1576
- this.HTMLcheckStretchy(this.data.open,BBOX,stretchy,full);
1577
- this.HTMLcheckStretchy(this.data[0],BBOX,stretchy,full);
1578
- for (i = 1, m = this.data.length; i < m; i++) {
1579
- if (this.data[i]) {
1580
- this.HTMLcheckStretchy(this.data["sep"+i],BBOX,stretchy,full);
1581
- this.HTMLcheckStretchy(this.data[i],BBOX,stretchy,full);
1582
- }
1583
- }
1584
- this.HTMLcheckStretchy(this.data.close,BBOX,stretchy,full);
1585
- this.HTMLcleanBBox(BBOX);
1586
- return stretchy;
1587
- },
1588
- HTMLcheckStretchy: function (core,BBOX,stretchy,full) {
1589
- if (core) {
1590
- if (!full && core.HTMLcanStretch("Vertical"))
1591
- {stretchy.push(core); core = (core.CoreMO()||core)}
1592
- this.HTMLcombineBBoxes(core,BBOX);
1593
- }
1594
- }
1595
- });
1596
-
1597
- MML.menclose.Augment({toHTML: MML.mbase.HTMLautoload});
1598
-
1599
- MML.semantics.Augment({
1600
- toHTML: function (span) {
1601
- if (this.data.length) {
1602
- span = this.data[0].toHTML(span);
1603
- this.spanID = this.data[0].spanID;
1604
- this.HTMLhandleSpace(span);
1605
- }
1606
- return span;
1607
- },
1608
- HTMLspanElement: function () {
1609
- return (this.data.length ? this.data[0].HTMLspanElement() : null);
1610
- },
1611
- HTMLstretchH: function (box,w) {
1612
- return (this.data.length ? this.data[0].HTMLstretchH(box,w) : box);
1613
- },
1614
- HTMLstretchV: function (box,h,d) {
1615
- return (this.data.length ? this.data[0].HTMLstretchV(box,h,d) : box);
1616
- }
1617
- });
1618
-
1619
- MML.munderover.Augment({
1620
- toHTML: function (span,HW,D) {
1621
- var values = this.getValues("displaystyle","accent","accentunder","align");
1622
- if (!values.displaystyle && this.data[this.base].Get("movablelimits"))
1623
- {return MML.msubsup.prototype.toHTML.call(this,span)}
1624
- span = this.HTMLcreateSpan(span); var scale = this.HTMLgetScale();
1625
- var stack = HTMLCSS.createStack(span);
1626
- var boxes = [], stretch = [], box, i, m, W = -HTMLCSS.BIGDIMEN, WW = W;
1627
- for (i = 0, m = this.data.length; i < m; i++) {
1628
- if (this.data[i]) {
1629
- box = boxes[i] = HTMLCSS.createBox(stack);
1630
- HTMLCSS.Measured(this.data[i].toHTML(box),box);
1631
- if (i == this.base) {
1632
- if (D != null) {HTMLCSS.Remeasured(this.data[this.base].HTMLstretchV(box,HW,D),box)}
1633
- else if (HW != null) {HTMLCSS.Remeasured(this.data[this.base].HTMLstretchH(box,HW),box)}
1634
- stretch[i] = (D == null && HW != null ? false :
1635
- this.data[i].HTMLcanStretch("Horizontal"));
1636
- } else {
1637
- stretch[i] = this.data[i].HTMLcanStretch("Horizontal");
1638
- }
1639
- if (box.bbox.w > WW) {WW = box.bbox.w}
1640
- if (!stretch[i] && WW > W) {W = WW}
1641
- }
1642
- }
1643
- if (W == -HTMLCSS.BIGDIMEN) {W = WW}
1644
- if (D == null && HW != null) {W = WW = HW}
1645
- var t = HTMLCSS.TeX.rule_thickness, factor = HTMLCSS.FONTDATA.TeX_factor;
1646
- var base = boxes[this.base], delta = (base.bbox.ic || 0);
1647
- var x, y, z1, z2, z3, dw, k;
1648
- for (i = 0, m = this.data.length; i < m; i++) {
1649
- if (this.data[i]) {
1650
- box = boxes[i];
1651
- if (stretch[i]) {box.bbox = this.data[i].HTMLstretchH(box,W).bbox}
1652
- z3 = HTMLCSS.TeX.big_op_spacing5 * scale;
1653
- var accent = (i != this.base && values[this.ACCENTS[i]]);
1654
- if (accent && box.bbox.w <= 1/HTMLCSS.em+.0001) { // images can get the width off by 1px
1655
- box.bbox.w = box.bbox.rw - box.bbox.lw; box.bbox.noclip = true;
1656
- if (box.bbox.lw)
1657
- {box.insertBefore(HTMLCSS.createSpace(box.parentNode,0,0,-box.bbox.lw),box.firstChild)}
1658
- HTMLCSS.createBlank(box,0,0,box.bbox.rw+.1);
1659
- }
1660
- dw = {left:0, center:(W-box.bbox.w)/2, right:W-box.bbox.w}[values.align];
1661
- x = dw; y = 0;
1662
- if (i == this.over) {
1663
- if (accent) {
1664
- k = Math.max(t * scale * factor,2.5/this.em); z3 = 0;
1665
- if (base.bbox.skew) {x += base.bbox.skew}
1666
- } else {
1667
- z1 = HTMLCSS.TeX.big_op_spacing1 * scale * factor;
1668
- z2 = HTMLCSS.TeX.big_op_spacing3 * scale * factor;
1669
- k = Math.max(z1,z2-Math.max(0,box.bbox.d));
1670
- }
1671
- k = Math.max(k,1.5/this.em); // force to be at least 1.5px
1672
- x += delta; y = base.bbox.h + box.bbox.d + k;
1673
- box.bbox.h += z3;
1674
- } else if (i == this.under) {
1675
- if (accent) {
1676
- k = 3*t * scale * factor; z3 = 0;
1677
- } else {
1678
- z1 = HTMLCSS.TeX.big_op_spacing2 * scale * factor;
1679
- z2 = HTMLCSS.TeX.big_op_spacing4 * scale * factor;
1680
- k = Math.max(z1,z2-box.bbox.h);
1681
- }
1682
- k = Math.max(k,1.5/this.em); // force to be at least 1.5px
1683
- x -= delta; y = -(base.bbox.d + box.bbox.h + k);
1684
- box.bbox.d += z3;
1685
- }
1686
- HTMLCSS.placeBox(box,x,y);
1687
- }
1688
- }
1689
- this.HTMLhandleSpace(span);
1690
- this.HTMLhandleColor(span);
1691
- return span;
1692
- },
1693
- HTMLstretchH: MML.mbase.HTMLstretchH,
1694
- HTMLstretchV: MML.mbase.HTMLstretchV
1695
- });
1696
-
1697
- MML.msubsup.Augment({
1698
- toHTML: function (span,HW,D) {
1699
- span = this.HTMLcreateSpan(span); var scale = this.HTMLgetScale();
1700
- var stack = HTMLCSS.createStack(span), script, box, values;
1701
- var base = HTMLCSS.createBox(stack);
1702
- HTMLCSS.Measured(this.data[this.base].toHTML(base),base);
1703
- if (D != null) {HTMLCSS.Remeasured(this.data[this.base].HTMLstretchV(base,HW,D),base)}
1704
- else if (HW != null) {HTMLCSS.Remeasured(this.data[this.base].HTMLstretchH(base,HW),base)}
1705
- HTMLCSS.placeBox(base,0,0);
1706
- var sscale = (this.data[this.sup] || this.data[this.sub]).HTMLgetScale();
1707
- var x_height = HTMLCSS.TeX.x_height * scale,
1708
- s = HTMLCSS.TeX.scriptspace * scale * .75; // FIXME: .75 can be removed when IC is right?
1709
- var sup, sub;
1710
- if (this.data[this.sup]) {
1711
- sup = HTMLCSS.createBox(stack);
1712
- HTMLCSS.Measured(this.data[this.sup].toHTML(sup),sup);
1713
- sup.bbox.w += s; sup.bbox.rw = Math.max(sup.bbox.w,sup.bbox.rw);
1714
- }
1715
- if (this.data[this.sub]) {
1716
- sub = HTMLCSS.createBox(stack);
1717
- HTMLCSS.Measured(this.data[this.sub].toHTML(sub),sub);
1718
- sub.bbox.w += s; sub.bbox.rw = Math.max(sub.bbox.w,sub.bbox.rw);
1719
- }
1720
- var q = HTMLCSS.TeX.sup_drop * sscale, r = HTMLCSS.TeX.sub_drop * sscale;
1721
- var u = base.bbox.h - q, v = base.bbox.d + r, delta = 0, p;
1722
- if (base.bbox.ic) {delta = base.bbox.ic}
1723
- if (this.data[this.base].type === "mi" || this.data[this.base].type === "mo") {
1724
- if (this.data[this.base].data.join("").length === 1 && base.bbox.scale === 1 &&
1725
- !this.data[this.base].Get("largeop")) {u = v = 0}
1726
- }
1727
- var min = this.getValues("subscriptshift","superscriptshift");
1728
- min.subscriptshift = (min.subscriptshift === "" ? 0 : HTMLCSS.length2em(min.subscriptshift));
1729
- min.superscriptshift = (min.superscriptshift === "" ? 0 : HTMLCSS.length2em(min.superscriptshift));
1730
- if (!sup) {
1731
- v = Math.max(v,HTMLCSS.TeX.sub1*scale,sub.bbox.h-(4/5)*x_height,min.subscriptshift);
1732
- HTMLCSS.placeBox(sub,base.bbox.w+s-delta,-v,sub.bbox);
1733
- } else {
1734
- if (!sub) {
1735
- var values = this.getValues("displaystyle","texprimestyle");
1736
- p = HTMLCSS.TeX[(values.displaystyle ? "sup1" : (values.texprimestyle ? "sup3" : "sup2"))];
1737
- u = Math.max(u,p*scale,sup.bbox.d+(1/4)*x_height,min.superscriptshift);
1738
- HTMLCSS.placeBox(sup,base.bbox.w+s,u,sup.bbox);
1739
- } else {
1740
- v = Math.max(v,HTMLCSS.TeX.sub2*scale);
1741
- var t = HTMLCSS.TeX.rule_thickness * scale;
1742
- if ((u - sup.bbox.d) - (sub.bbox.h - v) < 3*t) {
1743
- v = 3*t - u + sup.bbox.d + sub.bbox.h;
1744
- q = (4/5)*x_height - (u - sup.bbox.d) + .05*scale*0;
1745
- if (q > 0) {u += q; v -= q}
1746
- }
1747
- HTMLCSS.placeBox(sup,base.bbox.w+s,Math.max(u,min.superscriptshift));
1748
- HTMLCSS.placeBox(sub,base.bbox.w+s-delta,-Math.max(v,min.subscriptshift));
1749
- }
1750
- }
1751
- this.HTMLhandleSpace(span);
1752
- this.HTMLhandleColor(span);
1753
- return span;
1754
- },
1755
- HTMLstretchH: MML.mbase.HTMLstretchH,
1756
- HTMLstretchV: MML.mbase.HTMLstretchV
1757
- });
1758
-
1759
- MML.mtable.Augment({
1760
- toHTML: function (span) {
1761
- span = this.HTMLcreateSpan(span);
1762
- if (this.data.length === 0) {return span}
1763
- var values = this.getValues("columnalign","columnspacing","rowspacing",
1764
- "align","useHeight","width","side","minlabelspacing");
1765
- var WIDTH = (values.width === "auto" ? null : values.width);
1766
- var COLWIDTH = (WIDTH ? "100%" : null);
1767
- var stack = HTMLCSS.createStack(span,false,WIDTH);
1768
- var scale = this.HTMLgetScale(); var LABEL = -1;
1769
- //
1770
- // Create cells and measure columns and rows
1771
- //
1772
- var H = [], D = [], W = [], A = [], i, j, J = 0, m, M, s, row, C = [];
1773
- var LHD = HTMLCSS.FONTDATA.baselineskip * scale * values.useHeight,
1774
- LH = HTMLCSS.FONTDATA.lineH * scale, LD = HTMLCSS.FONTDATA.lineD * scale;
1775
- for (i = 0, m = this.data.length; i < m; i++) {
1776
- row = this.data[i]; s = (row.type === "mlabeledtr" ? LABEL : 0);
1777
- A[i] = []; H[i] = 0; D[i] = 0;
1778
- for (j = s, M = row.data.length + s; j < M; j++) {
1779
- if (W[j] == null) {
1780
- W[j] = -HTMLCSS.BIGDIMEN; if (j > J) {J =j}
1781
- // FIXME: these widths should come from columnwidths attribute
1782
- C[j] = HTMLCSS.createStack(HTMLCSS.createBox(stack,COLWIDTH),false,COLWIDTH);
1783
- }
1784
- A[i][j] = HTMLCSS.createBox(C[j]);
1785
- HTMLCSS.Measured(row.data[j-s].toHTML(A[i][j]),A[i][j]);
1786
- if (A[i][j].bbox.h > H[i]) {H[i] = A[i][j].bbox.h}
1787
- if (A[i][j].bbox.d > D[i]) {D[i] = A[i][j].bbox.d}
1788
- if (A[i][j].bbox.w > W[j]) {W[j] = A[i][j].bbox.w}
1789
- }
1790
- }
1791
- H[0] = Math.max(H[0],LH); D[A.length-1] = Math.max(D[A.length-1],LD);
1792
- //
1793
- // Determine spacing and alignment
1794
- //
1795
- var CSPACE = values.columnspacing.split(/ /),
1796
- RSPACE = values.rowspacing.split(/ /),
1797
- CALIGN = values.columnalign.split(/ /);
1798
- for (i = 0, m = CSPACE.length; i < m; i++) {CSPACE[i] = HTMLCSS.length2em(CSPACE[i])}
1799
- for (i = 0, m = RSPACE.length; i < m; i++) {RSPACE[i] = HTMLCSS.length2em(RSPACE[i])}
1800
- while (CSPACE.length <= J) {CSPACE.push(CSPACE[CSPACE.length-1])}
1801
- while (CALIGN.length <= J) {CALIGN.push(CALIGN[CALIGN.length-1])}
1802
- while (RSPACE.length <= A.length) {RSPACE.push(RSPACE[RSPACE.length-1])}
1803
- if (C[LABEL]) {
1804
- CALIGN[LABEL] = (values.side.substr(0,1) === "l" ? "left" : "right");
1805
- CSPACE[LABEL] = -W[LABEL];
1806
- }
1807
- //
1808
- // Determine array total height
1809
- //
1810
- var HD = H[0] + D[A.length-1];
1811
- for (i = 0, m = A.length-1; i < m; i++) {HD += Math.max(LHD,D[i]+H[i+1]+RSPACE[i])}
1812
- //
1813
- // Compute alignment
1814
- //
1815
- var Y = HD/2 + HTMLCSS.TeX.axis_height*scale - H[0];
1816
- //
1817
- // Lay out array by columns
1818
- //
1819
- var x = 0, y = Y; s = (C[LABEL] ? LABEL : 0);
1820
- for (j = s; j <= J; j++) {
1821
- for (i = 0, m = A.length; i < m; i++) {
1822
- s = (this.data[i].type === "mlabeledtr" ? LABEL : 0);
1823
- if (A[i][j])
1824
- {HTMLCSS.alignBox(A[i][j],(this.data[i].data[j-s].columnalign||CALIGN[j]),y)}
1825
- if (i < A.length-1) {y -= Math.max(LHD,D[i]+H[i+1]+ RSPACE[i])}
1826
- }
1827
- HTMLCSS.placeBox(C[j].parentNode,x,0);
1828
- x += W[j] + CSPACE[j]; y = Y;
1829
- }
1830
- //
1831
- // Place the labels, if any
1832
- //
1833
- if (C[LABEL]) {
1834
- var eqn = HTMLCSS.createStack(span,false,"100%");
1835
- var align = HTMLCSS.config.styles[".MathJax_Display"]["text-align"];
1836
- HTMLCSS.addBox(eqn,stack); HTMLCSS.alignBox(stack,align,0);
1837
- HTMLCSS.addBox(eqn,C[LABEL]); HTMLCSS.alignBox(C[LABEL],CALIGN[LABEL],0);
1838
- C[LABEL].style.marginRight = C[LABEL].style.marginLeft =
1839
- HTMLCSS.Em(HTMLCSS.length2em(values.minlabelspacing));
1840
- }
1841
- //
1842
- // Finish the table
1843
- //
1844
- this.HTMLhandleSpace(span);
1845
- this.HTMLhandleColor(span);
1846
- return span;
1847
- },
1848
- HTMLhandleSpace: function (span) {
1849
- span.style.paddingLeft = span.style.paddingRight = ".1667em";
1850
- }
1851
- });
1852
-
1853
- MML.math.Augment({
1854
- toHTML: function (span,node) {
1855
- var alttext = this.Get("alttext"); if (alttext) {node.setAttribute("aria-label",alttext)}
1856
- var nobr = HTMLCSS.addElement(span,"nobr",{style:{visibility:"hidden"}});
1857
- span = this.HTMLcreateSpan(nobr);
1858
- var stack = HTMLCSS.createStack(span);
1859
- var box = HTMLCSS.createBox(stack);
1860
- if (HTMLCSS.msieColorBug) {
1861
- this.data[0].background = this.background;
1862
- this.data[0].mathbackground = this.mathbackground;
1863
- delete this.background; delete this.mathbackground;
1864
- }
1865
- var math = HTMLCSS.Measured(this.data[0].toHTML(box),box);
1866
- HTMLCSS.placeBox(box,0,0);
1867
- if (math.bbox.width != null) {
1868
- stack.style.width = math.bbox.width;
1869
- box.style.width = "100%";
1870
- }
1871
- this.HTMLhandleColor(span);
1872
- HTMLCSS.createRule(span,math.bbox.h,math.bbox.d,0);
1873
- nobr.style.visibility = "";
1874
- return span;
1875
- }
1876
- });
1877
-
1878
- MML.TeXAtom.Augment({
1879
- toHTML: function (span) {
1880
- span = this.HTMLcreateSpan(span);
1881
- if (this.texClass === MML.TEXCLASS.VCENTER) {
1882
- var stack = HTMLCSS.createStack(span);
1883
- var box = HTMLCSS.createBox(stack);
1884
- HTMLCSS.Measured(this.data[0].toHTML(box),box);
1885
- // FIXME: should the axis height be scaled?
1886
- HTMLCSS.placeBox(box,0,HTMLCSS.TeX.axis_height-(box.bbox.h+box.bbox.d)/2+box.bbox.d);
1887
- } else {
1888
- span.bbox = this.data[0].toHTML(span).bbox;
1889
- }
1890
- this.HTMLhandleSpace(span);
1891
- this.HTMLhandleColor(span);
1892
- return span;
1893
- }
1894
- });
1895
-
1896
- //
1897
- // Handle browser-specific setup
1898
- //
1899
- MathJax.Hub.Browser.Select({
1900
- MSIE: function (browser) {
1901
- var isIE7 = browser.versionAtLeast("7.0");
1902
- var isIE8 = browser.versionAtLeast("8.0") && document.documentMode > 7;
1903
- var quirks = (document.compatMode === "BackCompat");
1904
- // MSIE can't measure widths properly without this
1905
- HTMLCSS.config.styles[".MathJax span"] = {position: "relative"};
1906
- // FIXME: work out tests for these?
1907
- HTMLCSS.Augment({
1908
- getMarginScale: HTMLCSS.getMSIEmarginScale,
1909
- PaddingWidthBug: true,
1910
- msieAccentBug: true,
1911
- msieColorBug: true,
1912
- msieMarginWidthBug: true,
1913
- msiePaddingWidthBug: true,
1914
- msieCharPaddingWidthBug: (isIE8 && !quirks),
1915
- msieBorderWidthBug: quirks,
1916
- msieInlineBlockAlignBug: (!isIE8 || quirks),
1917
- msieVerticalAlignBug: (isIE8 && !quirks),
1918
- msiePlaceBoxBug: (isIE8 && !quirks),
1919
- msieClipRectBug: !isIE8,
1920
- msieNegativeSpaceBug: quirks,
1921
- negativeSkipBug: true,
1922
- msieIE6: !isIE7,
1923
- msieItalicWidthBug: true,
1924
- FontFaceBug: true,
1925
- allowWebFonts: "eot"
1926
- });
1927
- },
1928
-
1929
- Firefox: function (browser) {
1930
- var webFonts = false;
1931
- if (browser.versionAtLeast("3.5")) {
1932
- var root = String(document.location).replace(/[^\/]*$/,"");
1933
- if (document.location.protocol !== "file:" ||
1934
- (MathJax.Hub.config.root+"/").substr(0,root.length) === root) {webFonts = "otf"}
1935
- }
1936
- HTMLCSS.Augment({
1937
- ffVerticalAlignBug: true,
1938
- AccentBug: true,
1939
- allowWebFonts: webFonts
1940
- });
1941
- },
1942
-
1943
- Safari: function (browser) {
1944
- var v3p0 = browser.versionAtLeast("3.0");
1945
- var v3p1 = browser.versionAtLeast("3.1");
1946
- browser.isMobile = (navigator.appVersion.match(/Mobile/i) != null);
1947
- HTMLCSS.Augment({
1948
- rfuzz: .05,
1949
- AccentBug: true,
1950
- AdjustSurd: true,
1951
- safariNegativeSpaceBug: true,
1952
- safariVerticalAlignBug: !v3p1,
1953
- safariTextNodeBug: !v3p0,
1954
- safariWebFontSerif: ["serif"],
1955
- allowWebFonts: (v3p1 && !browser.isMobile ? (browser.isPC ? "svg" : "otf") : false)
1956
- });
1957
- },
1958
-
1959
- Chrome: function (browser) {
1960
- HTMLCSS.Augment({
1961
- rfuzz: .05,
1962
- AccentBug: true,
1963
- AdjustSurd: true,
1964
- allowWebFonts: "svg",
1965
- safariNegativeSpaceBug: true,
1966
- safariWebFontSerif: [""]
1967
- });
1968
- },
1969
-
1970
- Opera: function (browser) {
1971
- HTMLCSS.config.styles[".MathJax .merror"]["vertical-align"] = null;
1972
- HTMLCSS.Augment({
1973
- operaHeightBug: true,
1974
- operaVerticalAlignBug: true,
1975
- negativeSkipBug: true,
1976
- FontFaceBug: true,
1977
- PaddingWidthBug: true,
1978
- allowWebFonts: (browser.versionAtLeast("10.0") ? "otf" : false)
1979
- });
1980
- },
1981
-
1982
- Konqueror: function (browser) {
1983
- HTMLCSS.Augment({
1984
- konquerorVerticalAlignBug: true
1985
- });
1986
- }
1987
- });
1988
-
1989
- HTMLCSS.loadComplete("jax.js");
15
+ MathJax.Unpack([
16
+ ['(','function(','a,c,d,e){var b=','MathJax','.Object.Subclass({FontInfo:{STIX:{family:"STIXSizeOneSym",','testString',':"() {} []"},TeX:{family:"MathJax_Size1",',5,':"() {} []"}},comparisonFont:["sans-serif","monospace","script","Times","Courier","Arial","Helvetica"],testSize:["40px","50px","60px","30px","20px"],Init:','function(){','this.div','=','MathJax.HTML.','addElement','(','document.body',',"div','",{style:{','position:"absolute','",','visibility:"hidden",','top:0,left:0,','fontSize',':','this.testSize','[0],','fontWeight',':"normal",','fontStyle',':"normal"}},[""]);this.text=',10,'.firstChild','},findFont:',1,'j,g){if(g&&this.','testCollection','(g)){','return g','}for(var ','h=0,f=j','.length;h<f;h++){','if(j[h]===g','){continue}','if(this.',35,'(j[h])){return j[h',']}}return null},',35,':',1,'f','){return',' this.testFont(this.FontInfo[f])},testFont:',1,'h){if(h.','isWebFont','&&e.FontFaceBug){','this.div.style.',26,'=',57,28,'="normal"}else{',57,26,'=(h.weight||"normal");',57,28,'=(h.style||"normal")}','var g=this.','getComparisonWidths','(h.',5,',','h.noStyleChar',');if(g){',57,'fontFamily','="\'"+h.family+"\',"+','this.comparisonFont','[0];if(','this.div.offsetWidth','==g[0]){',57,77,'="\'"+h.family+"\',"+',79,'[g[2]];if(',81,'==g[1]){','return false','}}if(',81,'!=g[3]){if(',74,'||!e.FONTDATA||!','e.FONTDATA.','hasStyleChar',51,' true',38,'j=0,f=',24,'.length;','j<f;j++){',43,'testStyleChar','(h,',24,'[j])){return true}}}}',90,'},styleChar:','String.fromCharCode(','61437),','versionChar',':',112,'61438),compChar:',112,'61439),',106,':',1,'h,j){var m=3+(h.weight?2:0)+(h.style?4:0);var g="",i=0;var l=',57,22,';',57,22,'=j;if(e.msieItalicWidthBug&&h.style==="italic"){this.text.nodeValue=g=','this.compChar',';i=',81,'}','if(e.safariTextNodeBug){this.div.innerHTML=',130,'+g','}else{this.text.nodeValue=',130,'+g}','var f=',81,'-i;',134,'this.styleChar','+g',137,144,'+g}var k','=Math.floor((',81,'-i)/f+0.5);if(k===m){',134,'this.',114,'+g',137,'this.',114,'+g}h.version',149,81,'-i)/f+1.5)/2}',57,22,'=l;return(k===m)},',70,':',1,'j,h){if(e.FONTDATA&&',96,97,'&&!h){j+=',144,'+" "+',130,'}',134,'j',137,'j}',57,77,'=',79,'[0];var g=',81,',l=-1;if(','e.safariWebFontSerif','){',57,77,'=',188,'[0];l=',81,38,'k=1,f=',79,103,'k<f;k++){',57,77,'=',79,'[k];if(',81,'!=g',51,'[g,',81,',k,l',46,'loadWebFont',':',1,'f){','d.Startup.signal.Post("HTML-CSS Jax - ','Web-Font',' "+e.fontInUse+"/"+f.directory',');var h','=','MathJax.Message.','File("Web-Font',219,');var g=',3,'.Callback','(["loadComplete",this,f,h]);c.timer.start(c,[this.checkWebFont,f,g],1);',37,'},loadComplete:',1,'g,i,f){if(f!==c.STATUS.OK){this.loadError(g);if(d.Browser.isFirefox&&e','.allowWebFonts','){var h=','document.location.','protocol+"//"+',235,'hostname;if(',235,'port!=""){h+=":"+',235,'port}h+="/";if(','c.fileURL(e.webfontDir',').substr(0,h.length)!==h){this.','firefoxFontError','(g)}}}',222,'Clear(i)},loadError:',1,'f){',222,'Set("Can\'t ','load web font',219,',null,2000)},',245,':',1,'f){',222,'Set("Firefox can\'t load web fonts from a remote host",null,3000)},checkWebFont:',1,'f,g,h){if(f.time(h)){return}if(','e.Font.testFont(','g)){h(f.STATUS.OK',')}else{','setTimeout(f,f.delay)}},fontFace:',1,'h){var i=','e',233,';var g=',243,'+"/"+i);',140,'h.replace(/-b/,"-B").replace(/-i/,"-I").replace(/-Bold-/,"-Bold");if(!f.match(/-/)){f+="-Regular"}if(i==="svg"){f+=".svg#"+f}else{f+="."+i}var j={"','font-family":',96,'FONTS[h].','family,src:"url(\'"+g+"/"+f+"\')"};if(i==="svg"){j.src+=" format(\'svg\')"}','if(!(e.FontFaceBug&&',96,279,55,')){if(h.match(/-bold/)){j["','font-weight','"]="bold"}if(h.match(/-italic/)){j["font-style"]="italic"}}return j}});e.Augment({config:{useOldImageData:true,styles:{".',3,'":{display:"inline','","font-family":"serif","font-style','":"normal","',286,291,'line-height',291,'font-size":"100%","','font-size-adjust":"none','","text-indent":0,"text-align":"left","text-transform":"none","letter-spacing',291,'word-spacing',291,'word-wrap',291,'white-space":"nowrap","float":"none",','border:0,padding:0,margin:0','},".','MathJax_Display','":{','position:"relative','",display:"block",width:"100%"},".',3,' img, .',3,' nobr, .',3,' a":{',305,',"','max-width":"none","max-height":"none','","','vertical-align":0,"line-height":"normal","text-decoration":"none','"},"img.','MathJax_strut','":{border:"','0 !important','",padding:"',325,'",margin:"',325,'","vertical-align":"',325,'"},".',3,' span',289,'",',305,',"',321,'"},".',3,' .MathJax_HitBox":{cursor:"text','"},"#MathJax_Tooltip','":{',18,'",left:0,top:0,width:"auto",height:"auto",display:"none',343,' *":{filter:"none",background:"transparent"}}},settings:d.config.menuSettings,LEFTBUTTON:(d.Browser.isMSIE?1:0),MENUKEY:"altKey",Font:b(),Config:',9,'this.SUPER(arguments).Config.call(this);',69,'settings;if(g.scale){','this.config.','scale=g.scale}if(g.font&&g.font!=="Auto"){if(g.font==="TeX (local)"){','this.config.availableFonts','=["TeX"];','this.config.preferredFont','="TeX";','this.config.webFont="TeX"}else{if(g.font==="','STIX (local)"){',355,'=["STIX"];',357,'="STIX";',359,'TeX (web)"){',355,'=[];',357,'="";',359,'TeX (image)"){',355,'=[];',357,370,353,'webFont=""}}}}}',140,'this.Font.','findFont(',355,',',357,');if(!f&&this',233,'){f=',353,'webFont;if(f){this.webFonts=true}}if(!f&&',353,'imageFont','){f=',353,391,';this.imgFonts=true}if(f){this.fontInUse=f;this.fontDir+="/"+f;this.webfontDir+="/"+f;if(!this.require){this.require=[]}','this.require.push(this.','fontDir+"/fontdata.js");',43,'imgFonts){',396,'directory+"/imageFonts.js");',217,'using image fonts")}}else{',222,252,'find a valid font using ["+',355,'.join(", ")+"]",null,3000);this.FONTDATA={TeX_factor:1,baselineskip:1.2,lineH:0.8,lineD:0.2,ffLineH:0.8,FONTS:{},VARIANT:{normal:{fonts:[]}},RANGES:[],','DEFAULTFAMILY',':"serif",','DEFAULTWEIGHT',27,'DEFAULTSTYLE',27,'DELIMITERS',':{},RULECHAR:45,REMAP:{}};if(',3,'.InputJax.TeX&&','MathJax.InputJax.TeX.Definitions','){',419,'.macros.overline[1]="002D";',419,'.macros.underline[1]="002D"}',217,'no valid font")}},Startup:',9,'var h=[],l=','this.FONTDATA.','VARIANT.normal.fonts',';if(!(l ','instanceof Array',')){l=[l]}','for(var g=0,f=l',103,'g<f;g++){','h[g]=',429,'FONTS[l[g]].family;if(!h[g]){h[g]=l[g]}}',353,'styles[".',3,' .math span"]=',353,'styles["#','MathJax_getScales','"]={"',277,'h.join(",")};','this.hiddenDiv','=','this.Element("','div',17,20,'overflow:"hidden",','height:"1px",',18,'",top:0}});if(!',15,31,'){',15,'.appendChild(',450,266,15,'.insertBefore(',450,',',15,31,')}',450,'=','this.addElement(',450,',"div",{id:"MathJax_Hidden"});var k=',476,450,',"div',17,'width:"5in"}});this.pxPerInch=k','.offsetWidth','/5;',450,'.removeChild(','k);','this.startMarker','=e','.createStrut(',452,'span"),10,true);','this.endMarker','=','this.addText(',452,'span"),"x").parentNode;','this.HDspan','=',452,'span");',43,'operaHeightBug){this',491,499,',0)}','if(this.msieInlineBlockAlignBug){','this.HDimg','=',476,499,',"img',17,'height:"0px",width:"1px','"}});try{',509,'.src="about:blank"}catch(j){}}else{this.','HDimg=e',491,499,',0)}','this.HDMspan','=',452,'span',17,18,'","',297,'"}});',508,'this.HDMimg','=',476,523,',"img',17,515,'","',319,'",',305,'}});try{',533,518,'HDMimg=e',491,523,',0);',533,'.style.','marginRight=""}','this.marginCheck','=e.Element("span",null,[["','span",{style:{display:"inline-block",','width:"5em','"}}]]);','this.marginMove','=e.',13,'(',554,',"',556,557,'",','marginLeft',':"-5em"}});return c.Styles(',353,'styles,["','PreloadWebFonts','",this])},',572,':',9,'if(!e',233,'||!','e.config.preloadWebFonts',51,38,'g=0,f=',580,103,436,'var h=',96,'FONTS[',580,'[g]];if(!h','.available){',264,'h)}}},Translate:',1,'f){if(!f','.parentNode',51,'}var k=f','.previousSibling;if','(k&&String(k','.className',').match(/^',3,'(_MathML|_Display)?$/)){k',597,487,'k)}var j=f.',3,'.elementJax.root,h,l;h=l=',452,'span','",{className:"',3,'",oncontextmenu:this.ContextMenu,onmousedown:this.Mousedown,onmouseover:this.Mouseover,onclick:this.Click,ondblclick:this.DblClick});if(j.Get("display")==="block"){l=',452,'div',613,307,'",style:{width:"100%",',309,'"}});l',464,'h)}','l.setAttribute("','role","textbox");',625,'aria-readonly","true");f',597,468,'l,f);var g;try{','this.getScales(l,h',');g=(this.em===0||String(this.em)==="NaN")}catch(i){g=true}if(g){',450,464,'l);',632,')}this.initImg(h);this.initHTML(j,h);j.setTeXclass();try{j.toHTML(h,l)}catch(i){if(i.restart){l',597,487,'l)}throw i}if(g){f',597,468,'l,f)}},ContextMenu:',1,'i,j','){if(e.config.showMathMenu','&&(e.settings.context==="',3,'"||j)){if(e.safariContextMenuBug){setTimeout("window.getSelection().empty()",0)}',140,3,'.Menu;if(f){var h=(this',597,602,'==="',307,'"?this',597,':this);f.jax=d.getJaxFor(h.nextSibling);f.menu.items[1].menu.items[1].name=(','f.jax.inputJax.name','==="MathML"?"Original":',661,');return ','f.menu.Post(i',266,'if(!','c.loadingMathMenu','){',668,'=true;','if(!i){i=window.event}','var g={pageX:i.pageX,pageY:i.pageY,clientX:i.clientX,clientY:i.clientY};',3,227,'.Queue(c.Require("[',3,']/extensions/MathMenu.js"),',9,'delete ',668,'},[this,arguments.callee,g,j])}',672,'if(','i.preventDefault','){',685,'()}if(','i.stopPropagation','){',689,'()}i.cancelBubble=true;i.returnValue=false;',90,'}}},Mousedown:',1,'f',647,'){if(!f){f=window.event}if(e.settings.context==="',3,'"){if(!e.noContextMenuBug||f.button!==2',51,'}}else{if(!f[e.MENUKEY]||f.button!==e.LEFTBUTTON',51,'}}return e.ContextMenu.call(this,f,true)}},Mouseover:',1,'f){e.HandleEvent(f,"','Mouseover",this)},Click:',1,706,'Click",this)},DblClick:',1,706,'DblClick",this)},HandleEvent:',1,'h,f,g){},initImg:',1,'f){},initHTML:',1,'g,f){},initFont:',1,'f',234,96,'FONTS,g=e.config.availableFonts;if(g&&g.length&&',264,'h[f])){h[f].available=true;return null}if(!this',233,51,' null}h[f].','isWebFont=true;if(e.FontFaceBug){','h[f].family','=f}return ','c.Styles({"@font-face":',380,'fontFace(f)})},Remove:',1,'f){var g=','f.SourceElement();if(!g',51,'}g=g',600,'(!g',51,'}if(g',602,'.match(/^',3,'/)){g',597,487,'g)}},getScales:',1,'i,f){i',597,468,523,',i);',523,602,370,499,'.id',370,523,'.style.fontSize',370,533,'.style.height','="1px";',533,'.style.width','="60ex";var h=',523,484,'/60;',523,602,'="',3,'";',499,'.id="',446,'";',533,771,'="60em";',69,'outerEm=',523,484,'/60;var j',149,'h/this.TeX.x_height)/g*',353,'scale);f',765,'=',523,765,'=j+"%";this.em=a.mbase.prototype.em=',523,484,'/60;i',597,487,523,');','this.msieMarginScale','=this.getMarginScale(f)},getMarginScale:',1,'f',51,' 1},getMSIEmarginScale:',1,'h){h',464,554,');',140,554,484,',g=',559,484,';var i=g/(2*g-f);h',487,554,664,'i},getHD:',1,'g){',140,'g','.style.position',';g',835,'="absolute";',509,768,'="0px";g',464,499,220,'={h:g','.offsetHeight','};',509,768,'=h.h+"px";h.d=g',846,'-h.h;h.h-=h.d;h.h/=this.em;h.d/=this.em;g',487,499,');g',835,'=f;return h},getW:',1,'i){var g=i',484,',h=(i.bbox?i.bbox.w:-1),j=i;if((h<0||this.negativeSkipBug)&&g>=0){','if(this.negativeSkipBug){',140,'i',835,';i',835,838,'j=',489,';if(i',31,'){i',468,'j,i',31,266,'i',464,'j)}j=',489,'}i',464,494,');g=',494,'.offsetLeft-j.offsetLeft;i',487,494,');',862,'i',487,'j);i',835,'=f}}',37,'/this.em},Measured:',1,'h,g){if(h','.bbox.width','==null&&h.bbox.w&&!h.bbox.isMultiline){',140,'this.getW(h);h.bbox.rw+=f-h.bbox.w;h.bbox.w=f}if(!g){g=h',597,'}if(!','g.bbox){g.bbox','=h.bbox}return h},Remeasured:',1,'g,f){f.bbox=this.Measured(g,f).bbox},Em:',1,'f){if(Math.abs(f)<0.0006',51,'"0em"}return f.toFixed(3',').replace(/\\.?0','+$/,"")+"em"},Percent:',1,'f',51,'(100*f).toFixed(1',915,'+$/,"")+"%"},length2percent:',1,'f',51,' ','this.Percent(','this.length2em(f','))},length2em:',1,'k,i){if(typeof(k)!=="string"){k=k.toString()}if(k===""){return""}','if(k===a.SIZE.','NORMAL',51,' 1}',932,'BIG',51,' 2}',932,'SMALL',51,' 0.71}if(k==="infinity"){return e.BIGDIMEN}var h=',429,'TeX_factor;if(k.match(/mathspace$/)){return e.MATHSPACE[k]*h}var g=k.match(/^\\s*([-+]?(?:\\.\\d+|\\d+(?:\\.\\d*)?))?(pt|em|ex|mu|px|in|mm|cm|%)?/);',140,'parseFloat(g','[1]||"1"),j=g[2];if(i==null){i=1','}if(j==="','em','"){return f','*h',949,'ex',951,'*e.TeX.x_height*h}if(j==="%"){return f/100*i',949,'px',951,'/e.em',949,'pt',951,'/10*h',949,'in','"){return f*this.pxPerInch/e.em',949,'cm',967,'/2.54',949,'mm',967,'/25.4',949,'pc',967,'/12',949,'mu',951,'/18*h}return f*h*i},thickness2em:',1,737,'e.TeX.rule_thickness;','if(f===a.LINETHICKNESS.','MEDIUM',51,' g}',987,'THIN',51,' 0.67*g}',987,'THICK',51,' 1.67*g}return ',928,',g)},createStrut:',1,'i,g,j){',140,452,556,456,'height:g+"px",width:"1px",marginRight:"-1px"}});if(j){i',468,'f,i',31,266,'i',464,'f)}return f},createBlank:',1,'g,f,',269,452,556,456,457,'width',':this.Em(f)}});if(','h){g',468,'i,g',31,266,'g',464,'i)}return i},createShift:',1,'g,f,i',234,452,'span',17,568,1023,'i){g',468,'h,g',31,266,'g',464,'h)}return h},createSpace:',1,'k,j,m,f,g){var i','=this.Em(','Math.max(','0,j+m)),l','=this.Em(-m);',508,'l',1050,'e.getHD(k',597,').d-m)}if(k.isBox||k',602,'=="mspace"){','k.bbox={h:j*k.scale,d:m*k.scale,w:f*k.scale,rw:f*k.scale,lw:0};k',768,'=i;k',552,'verticalAlign','=l}else{k=',476,'k,"span',17,'height:i,',1066,':l}})}if(f>=0){k',771,1050,'f);k',552,'display="inline-block"}else{',43,'msieNegativeSpaceBug){k',768,'=""}k',552,568,1050,'f);if(e.safariNegativeSpaceBug&&k',597,31,'==k){this','.createBlank(','k,0,true)}}if(g&&g!==a.COLOR.TRANSPARENT){k',552,'backgroundColor=g}return k},createRule:',1,'o,k,m,p,i){var j=e.TeX.','min_rule_thickness',';if(p>0&&p*this.em<j){p=j/this.em}if(k+m>0&&(k+m)*this.em<j){var l=1/(k+m)*(j/this.em);k*=l;m*=l}if(!i){i="solid"}else{i="solid "+i}i',1050,'p)+" "+i;var q',1050,'k+m),g',1053,'var n=',476,'o,"span',17,'borderLeft:i,','display:"inline-block",',456,'width:0,height:','q,',1066,':g},bbox:{h:k,d:m',',w:p,rw:p,lw:0},noAdjust:true});if(','p>0&&n',484,'==0){n',771,1050,'p)}if(o.isBox||o',602,1061,'o.bbox=n.bbox}','return n},createFrame:',1,'o,m,n,p,r,g){var l=(this.msieBorderWidthBug?0:2*r);var q',1050,'m+n-l),f=this.Em(-n-r),k',1050,'p-l);var i',1050,'r)+" "+g;var j=',476,'o,"span',17,'border:i,',1108,456,'width:k,height:q},bbox:{h:m,d:n',1114,'f){j',552,1066,732,'j},createStack:',1,'h,j,g){',43,'msiePaddingWidthBug){this',491,'h,0)}var i=String(g).match(/%$/);var f=(!i&&g!=null?g:0);h=',476,'h,"span",{noAdjust:true,style:{',1108,309,'",width:(i?"100%":this.Em(f)),height:0}});if(!j){h',597,'.bbox=h.bbox={','h:-this.BIGDIMEN,d:-this.BIGDIMEN',',w:f,lw:','this.BIGDIMEN',',rw:(!i&&g!=null?g:-',1161,')};if(i){h',901,'=g}}return h},createBox:',1,'g,f',234,476,'g,"span',17,18,'"},isBox:true});if(f!=null){h',771,732,'h},addBox:',1,'f,g){g',835,838,'g.isBox=true;return f',464,'g)},placeBox:',1,'n,m,k,i){var o=n',597,',v=n.bbox,q=o.bbox;',43,'msiePlaceBoxBug){',496,'n,this.NBSP)}',43,'imgSpaceBug){',496,'n,this.imgSpace)}var p=n',846,'/this.em+1,z=0;if(n.noAdjust){p-=1}else{',508,476,'n,"img',613,323,'",border:0,src:"about:blank",style:{',1110,'this.Em(p',')}})}else{',476,'n,"',556,1110,1206,')}})}}n','.style.top=this.Em(-','k-p);n',552,'left',1050,'m+z);if(v){',862,'if(v.lw<0){z=v.lw;e',1090,'n,-z,true);h=0}if(v.rw>v.w){e',1090,'n,v.rw-v.w+0.1)}}if(!this.msieClipRectBug&&!v.noclip&&!i){var u=3/this.em;var s=(v.H==null?v.h:v.H),g=(v.D==null?v.d:v.D);var w=p-s-u,j=p+g+u,h=v.lw-3*u,f=1000;if(v.isFixed){f=v.width-h}n',552,'clip="rect("+this.Em(w',')+" "+this.Em(','f',1228,'j',1228,'h)+")"}}if(v&&q){if(v.H!=null&&(q.H==null||v.H+k>q.H)){q.H=v.H+k}if(v.D!=null&&(q.D==null||v.D-k>q.D)){q.D=v.D-k}if(v.h+k>q.h){q.h=v.h+k}if(v.d-k>q.d){q.d=v.d-k}if(q.H!=null&&q.H<=q.h){delete q.H}if(q.D!=null&&q.D<=q.d){delete q.D}if(v.w+m>q.w){q.w=v.w+m;if(q.width==null){o',771,1050,'q.w)}}if(v.rw+m>q.rw){q.rw=v.rw+m}if(v.lw+m<q.lw){q.lw=v.lw+m}if(v','.width!=null&&!','v.isFixed){if(q.width==null){o',771,'=q.width="100%"}n',771,'=v.width}}},alignBox:',1,'h,n,m){','this.placeBox(','h,0,m);var j=h.bbox;if(j.isMultiline',51,'}var g=j',1237,'j.isFixed;var i=0,k=-j.w/2,f="50%";',862,'i=j.w-j.rw-0.1;k+=j.lw}k',1050,'k*',809,75,'k',370,'f=(50-parseFloat(j.width)/2)+"%"}d.Insert(h.style,({right:{left:"",right:this.Em(i)},center:{left:f,',568,':k}})[n])},setStackWidth:',1,'g,f){if(typeof(f)==="number"){g',771,1050,1051,'0,f));if(',907,'.w=f}if(g',597,'.bbox){g',597,'.bbox.w=f}}else{g',771,'=g',597,771,'="100%";if(',907,'.width=f}if(g',597,'.bbox){g',597,901,'=f}}},createDelimiter:',1,'q,f,h,l,j){if(!f){q.bbox={h:0,d:0,w:this.TeX.','nulldelimiterspace',',lw:0};q.bbox.rw=q.bbox.w;this.createSpace(q,q.bbox.h,q.bbox.d,q.bbox.w);return}if(!l){l=1}if(!(h ',432,')){h=[h,h]}var p=h[1];h=h[0];var g={alias:f};while(g.alias){f=g.alias;g=',429,415,'[f];if(!g){g={HW:[0,',429,'VARIANT[a.VARIANT.NORMAL',']]}}}for(var o=0,k=g.HW',103,'o<k;o++){if(g.HW[o][0]*l>=h-0.01||(o==k-1&&!g.stretch)){if(g.HW[o][2]){l*=g.HW[o][2]}if(g.HW[o][3]){f=g.HW[o][3]}var n=',476,'q,"',502,'this.createChar(','n,[f,g.HW[o][1]],l,j);q.bbox=n.bbox;q.offset=0.65*q.bbox.w;q.scale=l;return}}if(g.stretch){this["extendDelimiter"+g.dir](q,p,g.stretch,l,j)}},extendDelimiterV:',1,'u,o,z,A,r){var i','=this.createStack(','u,true);var q','=this.createBox(','i),p',1309,'i);',1303,'q,(z.top','||z.ext),A,r);',1303,'p,(z.bot',1315,'var g={bbox:{w:0,lw:0,rw:0}},x=g;var v=q.bbox.h+q.bbox.d+','p.bbox.h+p.bbox.d;','var l=-q.bbox.h;',1245,'q,0,l,true);l-=q','.bbox.d;if(z.mid','){x',1309,'i);',1303,'x,z.mid,A,r);v+=','x.bbox.h+x.bbox.d','}if(o>v){g=',452,502,1303,'g,z.ext,A,r);var w=g.bbox.h+g.bbox.d,f=w-0.05,s,j,t=(z.mid?2:1);j=s=Math.ceil((o-v)/(t*f));if(!z.fullExtenders){f=(o-v)/(t*s)}var m=(s/(s+1))*(w-f);f=w-m;l+=m+f-g.bbox.h;while(t-->0){while(s-->0){l-=f;',1245,'this.addBox(','i,g','.cloneNode(true)),','0,l,true)}l+=m-g',1324,'&&t){',1245,'x,0,l-x.bbox.h,true);','s=j;l+=-(',1330,')+m+f-g.bbox.h}}}else{l+=(v-o)/2;if(z.mid){',1245,1344,'l+=-(',1330,')}l+=(v-o)/2}',1245,'p,0,l-p.bbox.h,true);l-=',1320,'u.bbox={w:',1051,'q.bbox.w,g.bbox.w,p.bbox.w,x.bbox.w),lw:Math.min(q.bbox.lw,g.bbox.lw,p.bbox.lw,x.bbox.lw),rw:',1051,'q.bbox.rw,g.bbox.rw,p.bbox.rw,x.bbox.rw),h:0,d:-l};u.scale=A;u.offset=0.55*u.bbox.w;u','.isMultiChar=true;this.setStackWidth(','i,u.bbox.w)},extendDelimiterH:',1,'t,g,y,A,q){var j',1307,'t,true',220,1309,'j),u',1309,'j);',1303,'h,(y.left','||y.rep),A,q);',1303,'u,(y.right',1374,140,452,502,1303,'f,y.rep,A,q);var v={bbox:{',1159,'}};',1245,'h,-h.bbox.lw,0,true);var o=(','h.bbox.rw-h.bbox.lw',')+(u.bbox.rw-u.bbox.lw)-0.05,m=',1387,'-0.025;if(y.mid){v',1309,'j);',1303,'v,y.mid,A,q);o+=v.bbox.w}if(g>o){var z=f.bbox.rw-f.bbox.lw,i=z-0.05,r,l,s=(y.mid?2:1);l=r=Math.ceil((g-o)/(s*i));i=(g-o)/(s*r);var p=(r/(r+1))*(z-i);i=z-p;m-=f.bbox.lw+p;while(s-->0){while(r-->0){',1245,1337,'j,f',1339,'m,0,true);m+=i}if(y.mid&&s){',1245,'v,m,0,true);m+=v.bbox.w','-p;r=l}}}else{m-=(o-g)/2;if(y.mid){',1245,1401,'}m-=(o-g)/2}',1245,'u,m,0,true);t.bbox={w:m+u.bbox.rw,lw:0,rw:m+u.bbox.rw,H:',1051,'h.bbox.h,f.bbox.h,u.bbox.h,v.bbox.h),D:',1051,'h.bbox.d,f.bbox.d,u.bbox.d,v.bbox.d),h:f.bbox.h,d:f.bbox.d};t.scale=A;t',1361,'j,t.bbox.w)},createChar:',1,'o,k,h,f){var n=o,p="",j={fonts:[k[1]],noRemap:true};if(f&&f===a.VARIANT.BOLD){j.fonts=[k[1]+"-bold",k[1]]}if(typeof(k[1])!=="string"){j=k[1]}if(k[0] ',432,'){for(var l=0,','g=k[0].length;l<g;l++){p+=',112,'k[0][l])}}else{p=',112,'k[0])}if(h!==1){n=',476,'o,"span',17,22,':',927,'h)},scale:h});','this.handleVariant(','n,j,p);',1123,'else{',1430,'o,j,p)}if(k[2]){o',552,568,1050,'k[2])}',43,'AccentBug&&o.bbox.w===0){n',31,'.nodeValue+=this.NBSP;e.createSpace(o,0,0,-o',484,'/e.em)}},positionDelimiter:',1,'g,f){f-=g.bbox.h;g.bbox.d-=f;g.bbox.h+=f;if(f){',43,'safariVerticalAlignBug||this.msieVerticalAlignBug||this.konquerorVerticalAlignBug||(this.operaVerticalAlignBug&&g.isMultiChar)){if(g',31,552,'display===""&&g',552,'top!==""){g=g',31,';f-=',947,552,'top)}g',835,'="relative";g',1214,'f',266,'g',552,1066,1050,'f);if(e.ffVerticalAlignBug){e.createRule(g',597,',g.bbox.h,0,0)}}}},handleVariant:',1,'v,j,o){var u="",s,y,p,g,x,z,f=v;if(o.length===0',51,'}if(!v.bbox){v.bbox={w:0,',1159,',rw:-',1161,',lw:',1161,'}}if(!j){j=',429,1296,']}z=j;for(var w=0,t=o',103,'w<t;w++){j=z;','s=o.charCodeAt(w',');y=o.charAt(w);if(y===this.PLANE1){w++;',1487,')+119808-56320;if(',429,'RemapPlane1','){var A=',429,1492,'(s,j);s=A.n;j=A.variant}}else{var q,l,r=',429,'RANGES;for(q=0,l=r',103,'q<l;q++){if(r[q].name==="alpha"&&j.noLowerCase',42,'var k=j["offset"+r[q].offset];if(k&&s>=r[q].low&&s<=r[q].high){if(r[q].remap&&r[q].remap[s]){s=k+r[q].remap[s]}else{s=s-r[q].low+k;if(r[q].add){s+=r[q].add}}if(','j["variant"+r[q].offset',']){j=',429,'VARIANT[',1503,']]}break}}}if(j.remap&&j.remap[s]){if(j.remap[s] ',432,234,'j.remap[s];s=h[0];j=',429,1506,'h[1]]}else{s=j.remap[s];if(','j.remap.variant','){j=',429,1506,1515,']}}}if(',429,'REMAP[s]&&!j.noRemap){s=',429,'REMAP[s]}p=this.lookupChar(j,s);y=p[s];if(j!==x&&!y[5].img){if(u','.length){',496,'f,u);u=""}f=v;x=g;if(j!==x){if(x){f=',476,'v,"span")}else{g=j}}this.handleFont(f,p,f!==v);x=j}u=this.handleChar(f,p,y,s,u);if(y[0',']/1000>v.bbox.','h){v.bbox.h=y[0]/1000}if(y[1',1530,'d){v.bbox.d=y[1',']/1000}if(v.bbox.w+y[','3]/1000<v.bbox.lw){v.bbox.lw=v.bbox.w+y[3',1534,'4',1530,'rw){v.bbox.rw=v.bbox.w+y[4]/1000}v.bbox.w+=y[2]/1000}if(u',1525,496,'f,u)}if(v.scale&&v.scale!==1){v.bbox.h','*=v.scale;v.bbox.','d',1543,'w',1543,'lw',1543,'rw*=v.scale}if(o.length==1&&p.skew&&p.skew[s]){v.bbox.skew=p.skew[s]}},handleFont:',1,'h,f,j){h',552,77,'=f.family;',281,'f.',55,')){var g=f.style||',429,413,',i=f.weight||',429,411,';if(g','!=="normal"||j){h.style.',28,'=g}if(i',1566,26,'=i}}},handleChar:',1,'g,f,k,j,i',234,'k[5];if(h.img',51,' this.handleImg(',1573,')}if(h.c==null){if(j<=65535){h.c=',112,'j',266,'h.c=this.PLANE1+',112,'j-119808+56320)}}if(k[2]||!this.msieAccentBug||i.length',51,' i+h.c}','e.createShift(g',',k[3]/1000);',1588,',(k[4]-k[3])/1000);',496,'g,h.c);',1588,',-k[4]/1000);return""},handleImg:',1,'g,f,j,i,h',51,' h},lookupChar:',1,'j,p){var h,f;if(!j.FONTS){var o=',429,'FONTS;var l=(j.fonts||',429,430,');if(!(l ',432,433,'if(j.fonts!=l){j.fonts=l}j.FONTS=[];for(h=0,f=l',40,'if(o[l[h]]){j.FONTS.push(o[l[h]]);o[l[h]].name=l[h]}}}for(h=0,f=j.FONTS',40,'var g=j.FONTS[h];if(typeof(g)==="string"){delete j.FONTS;this.loadFont(g)}if(g[p]){if(g[p].length===5){g[p][5]={}}if(e',233,'&&!g',592,'this.',213,'(g',266,37,'}}else{this.findBlock(g,p)}}var k=(j.defaultFont||{family:',96,409,'+",serif"});k[p]=[800,200,500,0,500,{isUnknown:true}];return k},findBlock:',1,'g,n){if(g.Ranges',1417,'f=g.Ranges',103,'l<f;l++){if(n<g.Ranges[l][0]){return}if(n<=g.Ranges[l][1]){var k=g.Ranges[l][2];for(var h=g.Ranges.length-1;h>=0;h--){if(g.Ranges[h][2]==k){g.Ranges.splice(h,1)}}this.loadFont(g.directory+"/"+k+".js")}}}},loadFont:',1,'g){',140,3,227,'.Queue();','f.Push(["Require",c,this.','fontDir+"/"+g]);',43,399,'if(!',3,'.isPacked){g=g.replace(/\\/([^\\/]*)$/,e.imgPacked+"/$1")}',1638,'webfontDir+"/png/"+g])}','d.RestartAfter(','f.Push({}))},',213,':',1,'f){f.available=f.',730,'f.family=f.name}',1647,380,213,'(f))},Element:',12,'Element,',13,':',12,13,',TextNode:',12,'TextNode,addText:',12,'addText,ucMatch:',12,'ucMatch,BIGDIMEN:10000000,ID:0,idPostfix:"",GetID:',9,'this.ID++;return this.ID},MATHSPACE:{veryverythinmathspace:1/18,verythinmathspace:2/18,thinmathspace:3/18,mediummathspace:4/18,thickmathspace:5/18,verythickmathspace:6/18,veryverythickmathspace:7/18,negativeveryverythinmathspace:-1/18,negativeverythinmathspace:-2/18,negativethinmathspace:-3/18,negativemediummathspace:-4/18,negativethickmathspace:-5/18,negativeverythickmathspace:-6/18,negativeveryverythickmathspace:-7/18},TeX:{x_height:0.430554,quad:1,num1:0.676508,num2:0.393732,num3:0.44373,denom1:0.685951,denom2:0.344841,sup1:0.412892,sup2:0.362892,sup3:0.288888,sub1:0.15,sub2:0.247217,sup_drop:0.386108,sub_drop:0.05,delim1:2.39,delim2:1,axis_height:0.25,rule_thickness:0.06,big_op_spacing1:0.111111,big_op_spacing2:0.166666,big_op_spacing3:0.2,big_op_spacing4:0.6,big_op_spacing5:0.1,scriptspace:0.1,',1288,':0.12,delimiterfactor:901,delimitershortfall:0.1,',1096,':1.25},PLANE1:String.fromCharCo'],
17
+ ['de(55349),NBSP:String.fromCharCode(160),rfuzz:0});a.mbase','.Augment({toHTML:function(','l){var j','=this.','HTMLlineBreaks','();if(','j','.length','>2){','return ','this.','toHTMLmultiline','(l,j)}l=','this.HTMLcreateSpan(','l);','if(this.','type!="mrow"){l','=this.HTMLhandleSize(','l)}','for(var ','g=0,f=','this.data','.length;g<f;g++){','if(',21,'[g]){',21,'[g].toHTML(','l)}}var o=','this.HTMLcomputeBBox(','l);var k=l.bbox.h,n=l.bbox.d;for(',20,'o',22,'o[g].','HTMLstretchV','(l,k,n)}if(o',7,'){',29,'l,true)}','this.HTMLhandleSpace(','l',');this.HTMLhandleColor(','l);',9,'l},',4,':function(){','var k=[[0,this]];','for(var h=0,f=',21,'.length;h<f;h++){','if(',21,'[h]){','var l=',21,'[h].lineBreak',5,'l!=="none"){var g=(l==="after"?h+1:h);if(k',7,'===0||k[k',7,'-1]!==g){k.push([g,',21,'[h]])}else{k[k',7,'-1]=[g,',21,'[h]]}}}}k.push([',21,7,',k[k',7,'-1][1]]);',9,'k},',11,':function(','f){a.mbase.','HTMLautoloadFile','("multiline")},','HTMLcomputeBBox',79,'l,k,j,','f){if(','j','==null){','j=0}if(f',88,'f=',21,7,'}var h=','l.bbox={},n=[];while(j<f','){var g','=',21,'[j];if(!g){continue}if(!k&&g.','HTMLcanStretch','("Vertical")){','n.push(g);g=(g.CoreMO()||g)}',10,'HTMLcombineBBoxes','(g,h);j++}',10,'HTMLcleanBBox','(h);',9,'n},',104,79,'f,g){if(g.w',88,10,'HTMLemptyBBox','(g)}var i=f.','HTMLspanElement','();if(!i||!i.bbox){return',94,'i.bbox;if(h.d>g.d){g.d=h.d}if(h.h>g.h){g.h=h.h}if(h.D!=null&&h.D>g.D){g.D=h.D}if(h.H!=null&&h.H>g.H){g.H=h.H}if(i','.style.paddingLeft','){g.w+=','parseFloat(','i',122,')*(i.scale||1)}if(','g.w+h.lw<g.lw){g.lw=g.w+h.lw}if(g.w+h.rw>g.rw){g.rw=g.w+h.rw}g.w+=h.w;if(i','.style.paddingRight','){g.w+=',124,'i',129,127,'h.width){g.width=h.width}},',116,79,'f','){f.h=f.d=f.H=f.D=f.','rw=-','e.BIGDIMEN',';f.w=0;f.lw=',141,';',9,'f},',107,79,86,'f.h===',10,'BIGDIMEN',139,'w=f.rw=f.lw=0}if(f.D<=f.d){delete f.D}if(f.H<=f.h){delete f.H}},','HTMLzeroBBox',48,'return{h:0,d:0,w:0,lw:0,rw:0}},',100,79,'f){',15,'isEmbellished','()){',9,10,'Core().',100,'(f)}',9,'false},','HTMLstretchH',79,'g,f){',9,10,118,'()},',35,79,'g,f,i){',9,10,118,177,'HTMLnotEmpty',79,'f){while(f){if((f.type!=="mrow"&&f.type!=="texatom")||f.data',7,'>1){',9,'true}f=f.data[0]}',9,170,'HTMLmeasureChild',79,173,'if(',21,'[g]!=null){','e.Measured(',21,27,'f),f)}else{f.bbox',3,155,'()}},HTMLcreateSpan',79,'f){',15,'spanID',96,3,118,5,'g){while(g','.firstChild','){g','.removeChild(','g',216,')}g','.bbox={w:0,h:0,d:0,lw:0,','rw:0};g.scale=1;g.isMultChar=null;g','.style.cssText','="";',9,'g}}',15,'href){f','=','e.addElement(','f,"a",{href:',10,'href})}f=',231,'f,"span",{className:',10,'type});if(e.imgHeightBug){f.style.display="inline-block"}if(this["class"]!=null){f.className+=" "+this["class"]}',15,'style){f',224,3,'style;if(f','.style.fontSize','){',10,'mathsize','=f',244,';f',244,'=""}}',10,'spanID=','e.GetID();f.id=(','this.id||"MathJax-Span-"+this.spanID)+e.idPostfix',';f',222,'lr:0};',15,229,'.parentNode','.bbox=f.bbox}',9,'f},',118,48,'if(!',10,210,'){',9,'null}',9,'document.getElementById','((',256,')},','HTMLhandleVariant',79,'g,f,h){e.handleVariant(g,f,h)},HTMLhandleSize',79,'f){if(!','f.scale){f.scale','=this.HTMLgetScale',5,'f.scale!==1){f',244,'=e.Percent(f.scale)}}',9,'f},','HTMLhandleColor',79,'k){var m','=this.getValues("','mathcolor','","color");if(this','.mathbackground','){m',298,'=this',298,'}if(','this.background','){m.','background','=',304,'}',15,'style&&k.style.','backgroundColor','){m',298,'=k.style.',312,'}if(m.','color&&!',10,296,305,296,'=m.color',317,306,'&&!this',298,'){m',298,'=m.',306,317,296,'){k.style.color=m.',296,'}if(m',298,'&&m',298,'!==a.COLOR.TRANSPARENT){','var n=','1/e.em,j=0,i=0;',15,'isToken){j=k.bbox.lw;i=','k.bbox.rw','-k.bbox.w','}if(k',122,'!==""){j+=',124,'k',122,')*(k.scale||1)}','if(k',129,'!==""){i-=',124,'k',129,353,'var h','=Math.max(','0,e.getW(k)+(e.PaddingWidthBug?0:i-j));if(e.','msieCharPaddingWidthBug','&&k',122,'!==""){h+=',124,'k',122,353,56,'k.bbox.h+k.bbox.d',',f=-k.bbox.d;if(h>0){h+=2*n;j-=n}if(l>0){l+=2*n;f-=n}i=-h-j;var g=e.Element("span",{id:"','MathJax-Color-"+this.spanID+e.idPostfix',',style:{display:"inline-block",',312,':m',298,',','width:e.Em(h),height:e.Em(l),','verticalAlign:e.Em(f),','marginLeft',':e.Em(j),','marginRight',':e.Em(i)}});if(e.','msieInlineBlockAlignBug','){g','.style.position="relative";','g','.style.width','=g.style.','height=0;g','.style.verticalAlign',392,383,392,385,225,'e.placeBox(',231,'g,"span",{noAdjust:true',376,'position:"absolute",overflow:"hidden",',381,306,':m',298,'}}),j,k.bbox.h+n)}k',262,'.insertBefore(','g,k);',9,'g}',9,'null},HTMLremoveColor',48,'var f=',275,'("',375,');if(f){f',262,218,'f)}},','HTMLhandleSpace',79,'i){',15,'useMMLspacing','){',15,'type!=="mo"){return}var g',295,'scriptlevel','","lspace","','rspace','");if(g.',435,'<=0||',10,'hasValue("','lspace")||',10,442,437,'")){','g.lspace',362,'0,','e.length2em(',448,'));','g.rspace',362,'0,',451,454,'));var f=this,h',3,'Parent();while(h&&h.',162,'()&&h.Core()===f){f=h;h=h.Parent();i=f.',118,'()}if(',448,'){i',122,'=e.Em(',448,')}if(',454,'){i',129,469,454,')}}}else{var j',3,'texSpacing',5,'j!==""){j=',451,'j)/(i.scale||1);if(i',122,'){j+=',124,'i',122,')}i',122,469,'j)}}},','HTMLgetScale',48,'var h=1,f',295,247,'","',435,'","fontsize","scriptminsize");',15,'style',96,3,118,5,'g',244,'!=""){f.fontsize=g',244,'}}if(f.fontsize&&!',10,247,'){f.',247,'=f.fontsize}if(f.',435,'!==0){if(f.',435,8,'f.',435,'=2}h=Math.pow(',10,'Get("scriptsizemultiplier"),f.',435,');','f.scriptminsize','=',451,528,');if(h<',528,'){h=',528,'}}h*=',451,'f.',247,');',9,'h},','HTMLgetVariant',48,'var f',295,'mathvariant','","fontfamily","','fontweight','","','fontstyle','");',15,'style){var h',3,118,5,'h.style.fontFamily','){','f.fontfamily','=',558,'}if(','h.style.fontWeight','){f.',549,'=',564,'}if(','h.style.fontStyle','){f.fontStyle=',570,'}}var g=f.',547,';',15,'variantForm){g="-"+e.fontInUse+"-variant"}if(',560,'&&!',10,547,'){if(!f.',549,'&&f.',547,'.match(/bold/)){f.',549,'="bold"}if(!f.',551,584,547,'.match(/italic/)){f.',551,'="italic"}return{FONTS:[],fonts:[],noRemap:true,defaultFont:{family:',560,',style:f.',551,',weight:f.',549,'}}}if(f.',549,'==="bold"){g={normal',':a.VARIANT.','BOLD,italic',603,'BOLDITALIC',',fraktur',603,'BOLDFRAKTUR,script',603,'BOLDSCRIPT,"','sans-serif":a.VARIANT.','BOLDSANSSERIF',',"sans-serif','-italic":a.VARIANT.','SANSSERIFBOLDITALIC}[g]||g}else{if(f.',549,'==="normal"){g={','bold',603,'normal,"bold',615,'ITALIC,"bold-fraktur":a.VARIANT.FRAKTUR,"bold-script":a.VARIANT.SCRIPT,"bold-',612,'SANSSERIF',614,'-bold',615,'SANSSERIFITALIC','}[g]||g}}','if(f.',551,'==="italic"){g={normal',603,'ITALIC,bold',603,606,',"',612,629,',"bold-',612,616,551,618,'italic',603,'NORMAL,"bold',615,'BOLD',614,615,'SANSSERIF',614,'-bold',615,613,630,9,'e.FONTDATA.','VARIANT[g',']}},{HTMLautoload',48,'var f','=e.autoloadDir+"/"+',10,'type','+".js";d.RestartAfter(c.Require(','f))},',81,79,'f',96,665,'f',668,'g))},',171,79,'g,f','){this.HTMLremoveColor();',9,10,'toHTML(g,f',')},',35,79,'g,f,i',681,9,10,684,',i)}});a.chars',1,173,10,279,'(g,f,',21,'.join("").','replace(/[\\u2061-\\u2064]/g,""))}});a.','entity',1,173,10,279,'(g,f,',10,'toString().',701,'mi',1,'j){j',17,13,'j));j','.bbox=null;','var h','=this.HTMLgetVariant();for(var ',20,21,22,'if(',21,25,21,27,'j,h)}}if(!j.bbox){j','.bbox={w:0,h:0,d:0,rw:0,lw:0}}if(',21,'.join("").length!==1){delete ','j','.bbox.skew}',41,'j',43,'j);',9,'j}});a.','mn',1,'j){j',17,13,'j));j',717,'var h',719,20,21,22,'if(',21,25,21,27,'j,h)}}if(!j.bbox){j',729,21,731,'j',733,41,'j',43,'j);',9,739,'mo',1,'k){k',17,13,'k));if(',21,7,'==0){',9,'k}else{k.bbox=null}',341,21,'.join("");','var j',3,543,'();var ','g',295,'largeop","','displaystyle',438,'largeop){j=',660,661,'.',790,'?"-largeOp":"-smallOp"]}',50,21,52,'if(',21,55,21,'[h].toHTML(k,j)}}if(!k.bbox){k',729,'n',7,'!==1){delete k',733,'if(e.AccentBug&&k.bbox.w===0&&n',7,'===1&&k',216,'){k',216,'.nodeValue+=e.NBSP;','e.createSpace(','k,0,0,-k.offsetWidth/e.em)}if(g.largeop){var l=(k.bbox.h-k.bbox.d)/2-','e.TeX.axis_height','*k.scale;if(e.','safariVerticalAlignBug','&&','k.lastChild.','nodeName==="IMG"){k.lastChild',394,469,124,'k.lastChild',394,'||0)/e.em-','l/k.scale)}else{','if(e.','konquerorVerticalAlignBug','&&',824,'nodeName==="IMG"){k',389,'k.lastChild',389,824,'style.top',469,832,'k',394,'=e.Em(-l/k.scale)}}k.bbox.h-=l;k.bbox.d+=l;if(',345,'>k.bbox.w){k.bbox.ic=',345,346,';e.createBlank(k,k.bbox.ic);k.bbox.w=',345,'}}',41,'k',43,'k);',9,'k},',100,79,283,10,'Get("stretchy")){',9,'false}var g=',21,782,'if(g',7,'>1){',9,'false}g=',660,'DELIMITERS[','g.charCodeAt(0)];','return(','g&&g.dir==f.substr(0,1))},',35,79,'l,k,n',681,'var f',295,'symmetric","','maxsize","minsize','");var j',3,118,'(),g;var i=',820,',m=j.scale;','if(f.symmetric){g','=2*','Math.max(','k-i,n+i)}else{g=k+n}f.maxsize=',451,'f.maxsize,','j.bbox.h+j.bbox.d',');f.minsize=',451,'f.minsize,',900,');g',362,903,'Math.min(',899,'g));j=',13,'l);','e.createDelimiter(','j,',21,'.join("").charCodeAt(0),','g,m);',894,'=(',900,')/2+i}else{g=(',900,')*k/(k+n)}e.positionDelimiter(j,g);',41,'j',43,'j);',9,'j},',171,79,'i,f',681,'var g',295,887,'","',547,'","',549,438,549,'==="bold"&&!',10,547,'){g.',547,'=a.VARIANT.BOLD}var h',3,118,'(),j=h.scale;','g.maxsize','=',451,952,',h.bbox.w);g.minsize=',451,'g.minsize,','h.bbox.w);f',362,958,908,952,',f));h=',13,'i);',913,'h,',21,916,'f,j,g.',547,');',41,'h',43,'h);',9,'h}});a.mtext',1,'k){k',17,13,'k));k',717,15,'Parent().type==="merror"){e.addText(k,',21,'.join(""));',56,'e.getHD(k),g=e.getW(k);k.bbox={h:l.h,d:l.d,w:g,lw:0,rw:g}}else{var j',719,'h=0,f=',21,52,'if(',21,55,21,'[h].toHTML(k,j)}}if(!k.bbox){k',729,21,731,'k','.bbox.skew}}',41,'k',43,'k);',9,'k}});a.ms','.Augment({toHTML:a.mbase.HTMLautoload});a.','mglyph',1012,'mspace',1,'j){j',17,13,'j));var g',295,'height","depth","width','");g',298,'=this',298,';if(',304,'&&!this',298,'){g',298,'=',304,'}var i=',451,'g.height),k=',451,'g.depth),f=',451,'g.width);',818,'j,i,k,f,g',298,');',9,739,'mphantom',1,'j,g,l){j=',13,'j);if(',21,'[0]!=null','){var k=',200,21,'[0].toHTML(','j),',1052,'l!=null){e.Remeasured(',21,'[0].',35,'(j,g,l),j)}else{if(g!=null){e.Remeasured(',21,1063,171,'(j,g),j)}}j.bbox={w:','k.bbox.w,','h:k.bbox.h,d:k.bbox.d,','lw:0,rw:0};',50,'j.childNodes',52,1074,'[h].','style.visibility','="hidden"}}',41,'j',43,'j);',9,'j},','HTMLstretchH:a.mbase.HTMLstretchH,HTMLstretchV:a.mbase.HTMLstretchV});a.','mpadded',1,'j,h,l){j=',13,1052,21,1054,96,'=e.createStack(','j,true);var k','=e.createBox(','g);',200,21,1058,'k),k);if(l!=null){e.Remeasured(',21,1063,35,'(k,h,l),k)}else{if(h!=null){e.Remeasured(',21,1063,171,'(k,h),k)}}var i',295,1022,436,'voffset"),f=0,m=0;if(i.lspace){f','=this.HTMLlength2em(k,i.','lspace)}if(i.voffset){m',1115,'voffset)}',400,'k,f,m);j.bbox={',1071,'w:',1070,'lw:',908,'0,k.bbox.lw+f),rw:',896,1070,345,'+f),H',':Math.max((k.bbox.','H==null?-',141,':k.bbox.H),k.bbox.h+m),D',1131,'D==null?-',141,':k.bbox.D),k.bbox.d-m)};if(i.height','!==""){j.bbox.','h',1115,'height,"h",0)}if(i.depth',1139,'d',1115,'depth,"d",0)}if(i.width',1139,'w',1115,'width,"w",0)}if(j.bbox.H<=j.bbox.h','){delete j.bbox.','H}if(j.bbox.D<=j.bbox.d',1151,'D}e.setStackWidth(g,j.bbox.w)}',41,'j',43,'j);',9,'j},HTMLlength2em',79,'j,k,l,',86,'f',88,'f=-',141,94,'String(k).match','(/width|height|depth/);var i=(h?j.bbox[h',1063,'charAt(0)]:(l?j.bbox[l]:null));var g=',451,'k,i);if(l&&',1169,'(/^\\s*[-+]/)){',9,896,'f,j.bbox[l]+g)}else{',9,'g}},',1086,'mrow','.Augment({',171,79,'h,f',681,'var g',3,118,'();',21,'[this.core].',171,'(g,f);',29,'g,true',43,'g);',9,'g},',35,79,'i,g,j',681,'var f',3,118,'();',21,1194,35,'(f,g,j);',29,'f,true',43,'f);',9,'f}});a.mstyle',1,86,21,1054,'){f=',21,1058,'f);',10,254,21,1063,210,';',41,'f',43,'f)}',9,'f},',118,48,878,21,1054,'?',21,1063,118,'():null)},',171,79,173,878,21,1054,'?',21,1063,171,'(g,f):g)},',35,79,180,878,21,1054,'?',21,1063,35,'(g,f,i):g)}});a.','mfrac',1,'y){y=',13,'y',');var h',1095,'y);var k',1097,'h),j',1097,'h',');this.HTMLmeasureChild(','0,k',1285,'1,j);var f',295,790,'","linethickness","numalign","denomalign","bevelled");var C',285,'(),x=f.',790,';var B=',820,'*C;if(f.bevelled){var A=(x?0.4:0.15);var l',362,373,',',900,')+2*A;var z',1097,'h);',913,'z,47,l);',400,'k,0,(k.bbox.d-k','.bbox.h)/2+B','+A);',400,'z,k.bbox.w-A/2,(z.bbox.d-z',1309,');',400,'j,k.bbox.w+z.bbox.w-A,(j.bbox.d-j',1309,'-A)}else{var g',362,1070,'j.bbox.w);var o=e.thickness2em(f.linethickness),s,r,n,m;var w=','e.TeX.min_rule_thickness/this.em',';if(x){n=e.TeX.num1;m=e.TeX.denom1}else{n=(o===0?e.TeX.num3:e.TeX.num2);m=e.TeX.denom2}n*=C;m*=C;if(o===0){s=Math.max((x?7:3)*','e.TeX.rule_thickness',',2*w);r=(n-k.bbox.d',')-(j.bbox.h-m);if(r<s){','n+=(s-r)/2;m+=(s-r)/2}}else{s=Math.max((x?2:0)*w+o,o/2+1.5*w);r=(n-k.bbox.d)-(B+o/2);if(r<s){n+=s-r}r=(B-o/2',1326,'m+=s-r}var i',1097,'h);','e.createRule(','i,o,0,g+2*o);',400,'i,0,B-o/2)}e.alignBox(k,f.numalign,n);e.alignBox(j,f.denomalign,-m)}',41,'y',43,'y);',9,'y},',100,79,'f){',9,170,426,79,283,10,'texWithDelims',96,'=(',10,430,'?0:',451,10,479,'()||0))+0.12;f',122,469,'g);f',129,'=".12em"}}});a.msqrt',1,'n){n=',13,'n);var r',1095,'n',1278,1097,'r),l',1097,'r),k',1097,'r',1285,'0,h);var j',285,786,'s=',1324,'*j,g,f,o,i;',15,'Get("',790,'")){g','=e.TeX.x_height*','j}else{g=s}f',362,'s+g/4,2*',1322,');o=','h.bbox.h+h.bbox.d','+f+s;i=h.bbox.w;',913,'k,8730,o,j);',200,'k);var m=0;if(k.isMultiChar||(e.AdjustSurd&&e.imgFonts)){k.bbox.w*=0.95}if(',373,'>o){f+=((',373,')-(o-s))/2}var u=',660,876,660,'RULECHAR];if(!u||i<u.HW[0][0]*j||j<0.75){',1332,'l,s,0,i)}else{',913,'l,',660,'RULECHAR,i,j)}o=h.bbox.h+f+s;m',3,'HTMLaddRoot','(r,k,m,',373,'-o,j);',400,'k,m,o-k.bbox.h);',400,'l,m+',1070,'o-l.bbox.h+e.rfuzz);',400,'h,m+',1070,'0);n.bbox.h+=s;',41,'n',43,'n);',9,'n},',1417,79,'h,g,f,j,i){',9,'f}});a.mroot',1184,'toHTML:a.msqrt','.prototype.toHTML',',',1417,79,'o,g,m,k,f){var i',1097,'o);if(',21,'[1]){',56,21,'[1].toHTML(i);l',129,'=l',122,225,200,'l,i)}else{i.bbox',3,155,'()}var j',3,'HTMLrootHeight','(g.bbox.h+g.bbox.d,f,i)-k;',341,908,'i.bbox.w,i.bbox.rw);m',362,'n,g.offset);',400,'i,m-n,j);',9,'m-g.offset},',1466,79,'h,',173,9,'0.45*(h-0.9*g)+0.6*g+',896,'0,f.bbox.d-0.075)}});a.mfenced',1,'k){k=',13,'k);if(',21,'.open){',21,'.open.','toHTML(k)}','if(',21,1054,'){',21,1058,'k)}',19,'g=1,f=',21,22,'if(',21,25,'if(',21,'["sep"+','g]){',21,1510,'g].',1493,21,27,'k)}}if(',21,'.close){',21,'.close.',1493,341,29,'k);var j=k.bbox.h,l=k.bbox.d;for(',20,'n',22,'n[g].',35,'(k,j,l)}if(n',7,'){',29,'k,true)}',41,'k',43,'k);',9,'k},',83,79,'k,j',96,'=k.bbox={},l=[];',10,'HTMLcheckStretchy','(',21,'.open,','g,l,j);',10,1549,'(',21,'[0],',1553,19,'h=1,f=',21,52,'if(',21,55,10,1549,'(',21,1510,'h],',1553,10,1549,'(',21,'[h],g,l,j)}}',10,1549,'(',21,'.close,',1553,10,107,'(g);',9,'l},',1549,79,'f,g,i,h){if(',283,'h',584,100,101,'i.push(f);f=(f.CoreMO()||f)}',10,104,'(f,g)}}});a.menclose',1012,'maction',1012,'semantics',1,86,21,1054,'){f=',21,1058,'f);',10,254,21,1063,210,';',41,'f)}',9,'f},',118,48,878,21,1054,'?',21,1063,118,'():null)},',171,79,173,878,21,1054,'?',21,1063,171,'(g,f):g)},',35,79,180,878,21,1054,'?',21,1063,35,1272,'munderover',1,'G,B,z){var f',295,790,'","accent","accentunder","align");if(!f.',790,'&&',21,'[this.base',']!=null&&',21,'[this.base].','Get("movablelimits")){',9,'a.msubsup',1444,'.call(this,G)}G=',13,'G);var K',285,786,'j',1095,'G);var l=[],I=[],q,H,C,g=-',141,',F=g;for(H=0,C=',21,7,';H<C;H++){if(',21,'[H]!=null){q=l[H',']=e.createBox(j);',200,21,'[H].','toHTML(q),q);if(H==',10,'base){if(z!=null){e.Remeasured(',21,1668,35,'(q,B,z),q)}else{if(B!=null){e.Remeasured(',21,1668,171,'(q,B),q)}}I[H]=(','z==null&&B!=null','?false:',21,1691,100,'("Horizontal','"))}else{I[H]=',21,1691,100,1708,'")}if(q.bbox.w>F){F=q.bbox.w}if(!I[H]&&F>g){g=F}}}if(g==-',141,'){g=F}if(',1703,'){g=F=B}var w=',1324,',A=',660,'TeX_factor;var h=l',1665,']||{bbox:',10,155,177,'J=(h.bbox.ic||0);var p,n,s,r,o,v,E;for(H=0,C=',21,7,';H<C;H++){if(',21,1687,'];if(I[H]){q.bbox=',21,1691,171,'(q,g).bbox}o=e.TeX.big_op_spacing5*K;var u=(H!=',10,'base&&f[',10,'ACCENTS[H]]);if(u&&q.bbox.w<=1/e.em+0.0001){q.bbox.w=q.bbox.rw-q.bbox.lw;q.bbox.noclip=true;if(q.bbox.lw&&!e.zeroWidthBug){q',411,818,'q',262,',0,0,-q.bbox.lw),q',216,')}e.createBlank(q,0,0,q.bbox.rw+0.1)}v={left:0,center:(g-q.bbox.w)/2,right:g-q.bbox.w}[f.align];p=v;n=0;if(H==',10,'over){if(u){E',362,'w*K*A,2.5/',10,'em);o=0;if(h.bbox.skew){p+=h',1005,'else{s=e.TeX.','big_op_spacing1*K*A;r=e.TeX.big_op_spacing3*K*A;E',362,'s,r-',896,'0,q.bbox.d))}E',362,'E,1.5/',10,'em);p+=J;n=h.bbox.h+q.bbox.d+E;q.bbox.h+=o}else{if(H==',10,'under){if(u){E=3*w*K*A;o=0}',1757,'big_op_spacing2*K*A;r=e.TeX.big_op_spacing4*K*A;E',362,'s,r-q.bbox.h)}E',362,'E,1.5/',10,'em);p-=J;n=-(h.bbox.d+q.bbox.h+E);q.bbox.d+=o}}',400,'q,p,n)}}',41,'G',43,'G);',9,'G},',1086,'msubsup',1,'C,A,w){C=',13,'C);var G',285,786,'j',1095,'C),g;var i',1097,'j',1285,10,'base,i);if(',21,1665,']){if(w!=null){e.Remeasured(',21,1668,35,'(i,A,w),i)}else{if(A!=null){e.Remeasured(',21,1668,171,'(i,A),i)}}}',400,'i,0,0);var ','h=(',21,'[',10,'sup]||',21,'[',10,'sub]||this).',493,786,'E',1390,'G,o=e.TeX.scriptspace*G*0.75;var f,k;',15,185,'(',21,'[',10,'sup])){f',1097,'j);',200,21,'[',10,'sup].toHTML(f),f);f.bbox.w+=o;f.bbox.rw',362,'f.bbox.w,f.bbox.rw)}',15,185,'(',21,'[',10,'sub])){k',1097,'j);',200,21,'[',10,'sub].toHTML(k),k);k.bbox.w+=o;',345,362,1070,345,')}var y=e.TeX.sup_drop*h,x=e.TeX.sub_drop*h;var m=i.bbox.h-y,l=i.bbox.d+x,F=0,z;if(i.bbox.ic){F=i.bbox.ic}if(',21,1665,']&&(',21,1668,'type==="mi"||',21,1668,'type==="mo")){if(',21,1668,'data',700,'length===1&&i.bbox.scale===1&&!',21,1668,'Get("largeop")){m=l=0}}var B',295,'subscriptshift","superscriptshift");','B.subscriptshift','=(',1882,'===""?0:',451,1882,'));','B.superscriptshift','=(',1889,'===""?0:',451,1889,'));if(!',86,'k){l',362,'l,e.TeX.sub1*G,k.bbox.h-(4/5)*E,',1882,');',400,'k,i.bbox.w+o-F,-','l,k.bbox)}}else{if(!k){g',295,790,'","texprimestyle");z=e.TeX[(g.',790,'?"sup1":(g.texprimestyle?"sup3":"sup2"))];m',362,'m,z*G,f.bbox.d+(1/4)*E,',1889,');',400,'f,i.bbox.w+o,','m,f.bbox)}else{l',362,'l,e.TeX.sub2*G);',341,1324,'*G;if((m-f.bbox.d)-(k.bbox.h-l)<3*n){l=3*n-m+f.bbox.d+k.bbox.h;y=(4/5)*E-(m-f.bbox.d);if(y>0){m+=y;l-=y}}',400,1915,896,'m,',1889,'));',400,1903,896,'l,',1882,'))}}',41,'C',43,'C);',9,'C},',1086,'mmultiscripts',1012,'mtable',1012,'math',1,'n,g){var k',3,'Get("alttext");if(k){g.setAttribute("aria-label",k)}var h=',231,'n,"nobr",{style:{visibility:"hidden"}});n=',13,'h);var l',1095,'n),i',1097,'l),m;l',244,'=h',262,244,';h',262,244,225,'if(',21,1054,'){if(e.msieColorBug){if(',304,'){',21,1063,306,'=',304,';delete ',304,'}if(this',298,'){',21,1063,'mathbackground=this',298,';delete this',298,'}}','a.mbase.prototype.','displayAlign','=d.config.',1990,';',1989,'displayIndent',1991,1995,';m=',200,21,1058,'i),i)}',400,1813,'j=e.em/e.outerEm;e.em/=j;n.bbox.h','*=j;n.bbox.','d',2006,'w',2006,'lw',2006,'rw*=j;if(m&&m','.bbox.width','!=null){l',391,'=m',2014,';i',391,'="100%"}',10,292,'(n);if(m){',1332,'n,m.bbox.h*j,m.bbox.d*j,0)}if(!',10,'isMultiline&&',10,'Get("display")==="block"&&n',2014,88,'var o',295,'indentalignfirst','","','indentshiftfirst','","indentalign","indentshift");if(o.',2035,'!==a.INDENTALIGN.','INDENTALIGN){','o.indentalign','=o.',2035,'}if(',2042,'===a.INDENTALIGN.AUTO){',2042,3,1990,'}g.style.textAlign=',2042,';if(o.',2037,'!==a.INDENTSHIFT.INDENTSHIFT){','o.indentshift','=o.',2037,'}if(',2056,'==="auto"){',2056,3,1995,'}if(',2056,'&&',2042,2040,'CENTER){n.style[{left:"',383,'",right:"',385,'"}[',2042,']]=e.Em(',451,2056,'))}}h.',1078,225,9,'n}});a.TeXAtom',1,'g){g=',13,'g);if(',21,1054,'){',15,'texClass===a.TEXCLASS.VCENTER){var f',1095,'g',1278,1097,'f);',200,21,1058,'h),h);',400,'h,0,',820,'-(',1396,')/2+h.bbox.d)}else{g.bbox=',21,1058,'g).bbox}}',41,'g',43,'g);',9,'g}});d.Browser.Select({MSIE',79,'f){var i=f','.versionAtLeast("','7.0");var h=f',2119,'8.0")&&document.documentMode>7;var g=(document.compatMode==="BackCompat");','e.config.styles[".MathJax',' span"]={position:"relative"};',2123,' .MathJax_HitBox','"]["',306,'-color"]="white";',2123,2126,'"].opacity=0;',2123,2126,'"].filter="alpha(opacity=0)";e',1184,'getMarginScale:e.getMSIEmarginScale,','PaddingWidthBug:true,','msieAccentBug:true,msieColorBug:true,msieRelativeWidthBug:g,msieMarginWidthBug:true,msiePaddingWidthBug:true,',364,':(h&&!g),msieBorderWidthBug:g,',387,':(!h||g),msieVerticalAlignBug:(h&&!g),msiePlaceBoxBug:(h&&!g),msieClipRectBug:!h,msieNegativeSpaceBug:g,negativeSkipBug:true,msieIE6:!i,msieItalicWidthBug',':true,zeroWidthBug:true,FontFaceBug:true,','allowWebFonts',':"eot"})},Firefox',79,'g){var h=false;if(g',2119,'3.5")){var f=String','(document.location',').replace(/[^\\/]*$/,"");if',2151,'.protocol!=="file:"||(d.config.root+"/").substr(0,f',7,')===f){h="otf"}}e',1184,'ffVerticalAlignBug:true,AccentBug:true,',2145,':h})},Safari',79,'i',96,'=i',2119,'3.0");var f=i',2119,'3.1");i.isMobile','=(navigator.appVersion.match','(/Mobile/i)!=null);e',1184,'config:{styles:{".MathJax img, .MathJax nobr, .MathJax a":{"max-width":"5000em","max-height":"5000em"}}},','rfuzz:0.05,AccentBug:true,AdjustSurd:true,','safariContextMenuBug:true,','safariNegativeSpaceBug:true,',822,':!f,safariTextNodeBug:!g,','safariWebFontSerif',':["serif"],',2145,':(f&&!i.isMobile?(i.isPC?"svg":"otf"):false)});if(i.isMobile){var h=','MathJax.Hub.config["HTML-CSS','"];if(h){h.availableFonts=[];h.preferredFont=null}else{',2182,'"]={availableFonts:[],preferredFont:null}}}},Chrome',79,'f){e',1184,2173,2145,':"svg",',2175,2178,':[""]})},Opera',79,'f){f.isMini',2169,'("Opera Mini")!=null);',2123,' .merror"]["vertical-align"]=null;e',1184,'operaHeightBug:true,operaVerticalAlignBug:true,negativeSkipBug',2144,2138,2145,':(f',2119,'10.0")&&!f.isMini?"otf":false)})},Konqueror',79,'f){e',1184,834,':true,noContextMenuBug:true})}});if(d.config.menuSettings.zoom!=="None"){c.Require("[MathJax]/extensions/MathZoom.js")}e.loadComplete("jax.js")})(MathJax.ElementJax.mml,MathJax.Ajax,MathJax.Hub,MathJax.OutputJax["HTML-CSS"]);']
18
+ ]);
1990
19
 
1991
- })(MathJax.ElementJax.mml, MathJax.Ajax, MathJax.OutputJax["HTML-CSS"]);