Raw File
stretchy-and-large-operators.html
<!-- -*- mode: HTML; tab-width: 2; indent-tabs-mode: nil; -*- -->
<!-- vim: set tabstop=2 expandtab shiftwidth=2 textwidth=80:  -->
<!DOCTYPE html>
<html>
  <head>
    <title>Test Stretchy and Large Operators</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
   - License, v. 2.0. If a copy of the MPL was not distributed with this
   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
    <script type="text/javascript"
            src="stretchy-and-large-operators.js"></script>
    <script type="text/javascript">
      function createMo(aOperator, aForm)
      {
        var mo = document.createElement("mo");
        mo.appendChild(document.createTextNode(aOperator));
        mo.setAttribute("form", aForm);
        return mo;
      }

      function createTest(aEntry)
      {
        var opname = aEntry[0];
        var operator = aEntry[1];
        var type = aEntry[2];
        var form = aEntry[3];

        var div = document.createElement("div");
        div.appendChild(document.createTextNode(opname));

        var math = document.createElement("math");

        switch (type)
        {
          case "l": // largeop
            math.appendChild(createMo(operator, form));
            var mstyle = document.createElement("mstyle");
            mstyle.setAttribute("displaystyle", "true");
            mstyle.appendChild(createMo(operator, form));
            math.appendChild(mstyle);
          break;

          case "v": // vertical
            for (var i = 1; i < 10; i+=2) {
              var mo = createMo(operator, form);
              mo.setAttribute("minsize", (.5 * i) + "em");
              math.appendChild(mo);
            }
          break;

          case "h": // horizontal
            for (var i = 1; i < 10; i+=2) {
              var mo = createMo(operator, form);
              var mspace = document.createElement("mspace");
              mspace.setAttribute("width", (.5 * i) + "em");
              var mover = document.createElement("mover");
              mover.setAttribute("accent", "false");
              mover.appendChild(mspace);
              mover.appendChild(mo);
              math.appendChild(mover);
            }
          break;

          default:
          break;
        }

        div.appendChild(math);
        document.body.appendChild(div);
      }

      function init()
      {
        for (var i in stretchy_and_large_operators) {
          createTest(stretchy_and_large_operators[i]);
        }
      }
    </script>
  </head>

  <body onload="init()">

 </body>
</html>
back to top