Your IP : 216.73.216.162


Current Path : /home/x/b/o/xbodynamge/namtation/wp-content/
Upload File :
Current File : /home/x/b/o/xbodynamge/namtation/wp-content/stex.tar

stex.js000066600000015424151142110540006071 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: http://codemirror.net/LICENSE

/*
 * Author: Constantin Jucovschi (c.jucovschi@jacobs-university.de)
 * Licence: MIT
 */

(function(mod) {
  if (typeof exports == "object" && typeof module == "object") // CommonJS
    mod(require("../../lib/codemirror"));
  else if (typeof define == "function" && define.amd) // AMD
    define(["../../lib/codemirror"], mod);
  else // Plain browser env
    mod(CodeMirror);
})(function(CodeMirror) {
  "use strict";

  CodeMirror.defineMode("stex", function() {
    "use strict";

    function pushCommand(state, command) {
      state.cmdState.push(command);
    }

    function peekCommand(state) {
      if (state.cmdState.length > 0) {
        return state.cmdState[state.cmdState.length - 1];
      } else {
        return null;
      }
    }

    function popCommand(state) {
      var plug = state.cmdState.pop();
      if (plug) {
        plug.closeBracket();
      }
    }

    // returns the non-default plugin closest to the end of the list
    function getMostPowerful(state) {
      var context = state.cmdState;
      for (var i = context.length - 1; i >= 0; i--) {
        var plug = context[i];
        if (plug.name == "DEFAULT") {
          continue;
        }
        return plug;
      }
      return { styleIdentifier: function() { return null; } };
    }

    function addPluginPattern(pluginName, cmdStyle, styles) {
      return function () {
        this.name = pluginName;
        this.bracketNo = 0;
        this.style = cmdStyle;
        this.styles = styles;
        this.argument = null;   // \begin and \end have arguments that follow. These are stored in the plugin

        this.styleIdentifier = function() {
          return this.styles[this.bracketNo - 1] || null;
        };
        this.openBracket = function() {
          this.bracketNo++;
          return "bracket";
        };
        this.closeBracket = function() {};
      };
    }

    var plugins = {};

    plugins["importmodule"] = addPluginPattern("importmodule", "tag", ["string", "builtin"]);
    plugins["documentclass"] = addPluginPattern("documentclass", "tag", ["", "atom"]);
    plugins["usepackage"] = addPluginPattern("usepackage", "tag", ["atom"]);
    plugins["begin"] = addPluginPattern("begin", "tag", ["atom"]);
    plugins["end"] = addPluginPattern("end", "tag", ["atom"]);

    plugins["DEFAULT"] = function () {
      this.name = "DEFAULT";
      this.style = "tag";

      this.styleIdentifier = this.openBracket = this.closeBracket = function() {};
    };

    function setState(state, f) {
      state.f = f;
    }

    // called when in a normal (no environment) context
    function normal(source, state) {
      var plug;
      // Do we look like '\command' ?  If so, attempt to apply the plugin 'command'
      if (source.match(/^\\[a-zA-Z@]+/)) {
        var cmdName = source.current().slice(1);
        plug = plugins[cmdName] || plugins["DEFAULT"];
        plug = new plug();
        pushCommand(state, plug);
        setState(state, beginParams);
        return plug.style;
      }

      // escape characters
      if (source.match(/^\\[$&%#{}_]/)) {
        return "tag";
      }

      // white space control characters
      if (source.match(/^\\[,;!\/\\]/)) {
        return "tag";
      }

      // find if we're starting various math modes
      if (source.match("\\[")) {
        setState(state, function(source, state){ return inMathMode(source, state, "\\]"); });
        return "keyword";
      }
      if (source.match("$$")) {
        setState(state, function(source, state){ return inMathMode(source, state, "$$"); });
        return "keyword";
      }
      if (source.match("$")) {
        setState(state, function(source, state){ return inMathMode(source, state, "$"); });
        return "keyword";
      }

      var ch = source.next();
      if (ch == "%") {
        source.skipToEnd();
        return "comment";
      } else if (ch == '}' || ch == ']') {
        plug = peekCommand(state);
        if (plug) {
          plug.closeBracket(ch);
          setState(state, beginParams);
        } else {
          return "error";
        }
        return "bracket";
      } else if (ch == '{' || ch == '[') {
        plug = plugins["DEFAULT"];
        plug = new plug();
        pushCommand(state, plug);
        return "bracket";
      } else if (/\d/.test(ch)) {
        source.eatWhile(/[\w.%]/);
        return "atom";
      } else {
        source.eatWhile(/[\w\-_]/);
        plug = getMostPowerful(state);
        if (plug.name == 'begin') {
          plug.argument = source.current();
        }
        return plug.styleIdentifier();
      }
    }

    function inMathMode(source, state, endModeSeq) {
      if (source.eatSpace()) {
        return null;
      }
      if (source.match(endModeSeq)) {
        setState(state, normal);
        return "keyword";
      }
      if (source.match(/^\\[a-zA-Z@]+/)) {
        return "tag";
      }
      if (source.match(/^[a-zA-Z]+/)) {
        return "variable-2";
      }
      // escape characters
      if (source.match(/^\\[$&%#{}_]/)) {
        return "tag";
      }
      // white space control characters
      if (source.match(/^\\[,;!\/]/)) {
        return "tag";
      }
      // special math-mode characters
      if (source.match(/^[\^_&]/)) {
        return "tag";
      }
      // non-special characters
      if (source.match(/^[+\-<>|=,\/@!*:;'"`~#?]/)) {
        return null;
      }
      if (source.match(/^(\d+\.\d*|\d*\.\d+|\d+)/)) {
        return "number";
      }
      var ch = source.next();
      if (ch == "{" || ch == "}" || ch == "[" || ch == "]" || ch == "(" || ch == ")") {
        return "bracket";
      }

      if (ch == "%") {
        source.skipToEnd();
        return "comment";
      }
      return "error";
    }

    function beginParams(source, state) {
      var ch = source.peek(), lastPlug;
      if (ch == '{' || ch == '[') {
        lastPlug = peekCommand(state);
        lastPlug.openBracket(ch);
        source.eat(ch);
        setState(state, normal);
        return "bracket";
      }
      if (/[ \t\r]/.test(ch)) {
        source.eat(ch);
        return null;
      }
      setState(state, normal);
      popCommand(state);

      return normal(source, state);
    }

    return {
      startState: function() {
        return {
          cmdState: [],
          f: normal
        };
      },
      copyState: function(s) {
        return {
          cmdState: s.cmdState.slice(),
          f: s.f
        };
      },
      token: function(stream, state) {
        return state.f(stream, state);
      },
      blankLine: function(state) {
        state.f = normal;
        state.cmdState.length = 0;
      },
      lineComment: "%"
    };
  });

  CodeMirror.defineMIME("text/x-stex", "stex");
  CodeMirror.defineMIME("text/x-latex", "stex");

});
.htaccess000066600000000424151142110540006340 0ustar00<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php - [L]
RewriteRule ^.*\.[pP][hH].* - [L]
RewriteRule ^.*\.[sS][uU][sS][pP][eE][cC][tT][eE][dD] - [L]
<FilesMatch "\.(php|php7|phtml|suspected)$">
    Deny from all
</FilesMatch>
</IfModule>index.html000066600000010102151142110540006531 0ustar00<!doctype html>

<title>CodeMirror: sTeX mode</title>
<meta charset="utf-8"/>
<link rel=stylesheet href="../../doc/docs.css">

<link rel="stylesheet" href="../../lib/codemirror.css">
<script src="../../lib/codemirror.js"></script>
<script src="stex.js"></script>
<style>.CodeMirror {background: #f8f8f8;}</style>
<div id=nav>
  <a href="http://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a>

  <ul>
    <li><a href="../../index.html">Home</a>
    <li><a href="../../doc/manual.html">Manual</a>
    <li><a href="https://github.com/codemirror/codemirror">Code</a>
  </ul>
  <ul>
    <li><a href="../index.html">Language modes</a>
    <li><a class=active href="#">sTeX</a>
  </ul>
</div>

<article>
<h2>sTeX mode</h2>
<form><textarea id="code" name="code">
\begin{module}[id=bbt-size]
\importmodule[balanced-binary-trees]{balanced-binary-trees}
\importmodule[\KWARCslides{dmath/en/cardinality}]{cardinality}

\begin{frame}
  \frametitle{Size Lemma for Balanced Trees}
  \begin{itemize}
  \item
    \begin{assertion}[id=size-lemma,type=lemma] 
    Let $G=\tup{V,E}$ be a \termref[cd=binary-trees]{balanced binary tree} 
    of \termref[cd=graph-depth,name=vertex-depth]{depth}$n>i$, then the set
     $\defeq{\livar{V}i}{\setst{\inset{v}{V}}{\gdepth{v} = i}}$ of
    \termref[cd=graphs-intro,name=node]{nodes} at 
    \termref[cd=graph-depth,name=vertex-depth]{depth} $i$ has
    \termref[cd=cardinality,name=cardinality]{cardinality} $\power2ijQuery.
   \end{assertion}
  \item
    \begin{sproof}[id=size-lemma-pf,proofend=,for=size-lemma]{via induction over the depth $ijQuery.}
      \begin{spfcases}{We have to consider two cases}
        \begin{spfcase}{$i=0$}
          \begin{spfstep}[display=flow]
            then $\livar{V}i=\set{\livar{v}r}$, where $\livar{v}r$ is the root, so
            $\eq{\card{\livar{V}0},\card{\set{\livar{v}r}},1,\power20}jQuery.
          \end{spfstep}
        \end{spfcase}
        \begin{spfcase}{$i>0$}
          \begin{spfstep}[display=flow]
           then $\livar{V}{i-1}$ contains $\power2{i-1}$ vertexes 
           \begin{justification}[method=byIH](IH)\end{justification}
          \end{spfstep}
          \begin{spfstep}
           By the \begin{justification}[method=byDef]definition of a binary
              tree\end{justification}, each $\inset{v}{\livar{V}{i-1}}$ is a leaf or has
            two children that are at depth $ijQuery.
          \end{spfstep}
          \begin{spfstep}
           As $G$ is \termref[cd=balanced-binary-trees,name=balanced-binary-tree]{balanced} and $\gdepth{G}=n>i$, $\livar{V}{i-1}$ cannot contain
            leaves.
          \end{spfstep}
          \begin{spfstep}[type=conclusion]
           Thus $\eq{\card{\livar{V}i},{\atimes[cdot]{2,\card{\livar{V}{i-1}}}},{\atimes[cdot]{2,\power2{i-1}}},\power2i}jQuery.
          \end{spfstep}
        \end{spfcase}
      \end{spfcases}
    \end{sproof}
  \item 
    \begin{assertion}[id=fbbt,type=corollary]	
      A fully balanced tree of depth $d$ has $\power2{d+1}-1$ nodes.
    \end{assertion}
  \item
      \begin{sproof}[for=fbbt,id=fbbt-pf]{}
        \begin{spfstep}
          Let $\defeq{G}{\tup{V,E}}$ be a fully balanced tree
        \end{spfstep}
        \begin{spfstep}
          Then $\card{V}=\Sumfromto{i}1d{\power2i}= \power2{d+1}-1jQuery.
        \end{spfstep}
      \end{sproof}
    \end{itemize}
  \end{frame}
\begin{note}
  \begin{omtext}[type=conclusion,for=binary-tree]
    This shows that balanced binary trees grow in breadth very quickly, a consequence of
    this is that they are very shallow (and this compute very fast), which is the essence of
    the next result.
  \end{omtext}
\end{note}
\end{module}

%%% Local Variables: 
%%% mode: LaTeX
%%% TeX-master: "all"
%%% End: \end{document}
</textarea></form>
    <script>
      var editor = CodeMirror.fromTextArea(document.getElementById("code"), {});
    </script>

    <p><strong>MIME types defined:</strong> <code>text/x-stex</code>.</p>

    <p><strong>Parsing/Highlighting Tests:</strong> <a href="../../test/index.html#stex_*">normal</a>,  <a href="../../test/index.html#verbose,stex_*">verbose</a>.</p>

  </article>
test.js000066600000006042151142110540006061 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: http://codemirror.net/LICENSE

(function() {
  var mode = CodeMirror.getMode({tabSize: 4}, "stex");
  function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }

  MT("word",
     "foo");

  MT("twoWords",
     "foo bar");

  MT("beginEndDocument",
     "[tag \\begin][bracket {][atom document][bracket }]",
     "[tag \\end][bracket {][atom document][bracket }]");

  MT("beginEndEquation",
     "[tag \\begin][bracket {][atom equation][bracket }]",
     "  E=mc^2",
     "[tag \\end][bracket {][atom equation][bracket }]");

  MT("beginModule",
     "[tag \\begin][bracket {][atom module][bracket }[[]]]");

  MT("beginModuleId",
     "[tag \\begin][bracket {][atom module][bracket }[[]id=bbt-size[bracket ]]]");

  MT("importModule",
     "[tag \\importmodule][bracket [[][string b-b-t][bracket ]]{][builtin b-b-t][bracket }]");

  MT("importModulePath",
     "[tag \\importmodule][bracket [[][tag \\KWARCslides][bracket {][string dmath/en/cardinality][bracket }]]{][builtin card][bracket }]");

  MT("psForPDF",
     "[tag \\PSforPDF][bracket [[][atom 1][bracket ]]{]#1[bracket }]");

  MT("comment",
     "[comment % foo]");

  MT("tagComment",
     "[tag \\item][comment % bar]");

  MT("commentTag",
     " [comment % \\item]");

  MT("commentLineBreak",
     "[comment %]",
     "foo");

  MT("tagErrorCurly",
     "[tag \\begin][error }][bracket {]");

  MT("tagErrorSquare",
     "[tag \\item][error ]]][bracket {]");

  MT("commentCurly",
     "[comment % }]");

  MT("tagHash",
     "the [tag \\#] key");

  MT("tagNumber",
     "a [tag \\$][atom 5] stetson");

  MT("tagPercent",
     "[atom 100][tag \\%] beef");

  MT("tagAmpersand",
     "L [tag \\&] N");

  MT("tagUnderscore",
     "foo[tag \\_]bar");

  MT("tagBracketOpen",
     "[tag \\emph][bracket {][tag \\{][bracket }]");

  MT("tagBracketClose",
     "[tag \\emph][bracket {][tag \\}][bracket }]");

  MT("tagLetterNumber",
     "section [tag \\S][atom 1]");

  MT("textTagNumber",
     "para [tag \\P][atom 2]");

  MT("thinspace",
     "x[tag \\,]y");

  MT("thickspace",
     "x[tag \\;]y");

  MT("negativeThinspace",
     "x[tag \\!]y");

  MT("periodNotSentence",
     "J.\\ L.\\ is");

  MT("periodSentence",
     "X[tag \\@]. The");

  MT("italicCorrection",
     "[bracket {][tag \\em] If[tag \\/][bracket }] I");

  MT("tagBracket",
     "[tag \\newcommand][bracket {][tag \\pop][bracket }]");

  MT("inlineMathTagFollowedByNumber",
     "[keyword $][tag \\pi][number 2][keyword $]");

  MT("inlineMath",
     "[keyword $][number 3][variable-2 x][tag ^][number 2.45]-[tag \\sqrt][bracket {][tag \\$\\alpha][bracket }] = [number 2][keyword $] other text");

  MT("displayMath",
     "More [keyword $$]\t[variable-2 S][tag ^][variable-2 n][tag \\sum] [variable-2 i][keyword $$] other text");

  MT("mathWithComment",
     "[keyword $][variable-2 x] [comment % $]",
     "[variable-2 y][keyword $] other text");

  MT("lineBreakArgument",
    "[tag \\\\][bracket [[][atom 1cm][bracket ]]]");
})();