public void loadMathStyle(Reader re) throws IOException {
        StreamTokenizer tok = new StreamTokenizer(re);
        tok.resetSyntax();
        tok.whitespaceChars(0, 32);
        tok.wordChars(33, 255);
        tok.ordinaryChars('(', ')');

        // commentChar('/');
        tok.commentChar(';');// 59 is ';'
        // tok.quoteChar('"');
        // quoteChar('\''); // tok.eolIsSignificant(true);

        SchemeNodeModel node = (SchemeNodeModel) getRoot();
        while (tok.nextToken() != StreamTokenizer.TT_EOF) {
            if (tok.ttype == 40) { // "("
                // System.out.println("Token starts with (");
                SchemeNodeModel newNode = new SchemeNodeModel(getFrame(), this);
                insertNodeInto(newNode, node, node.getChildCount());
                node = newNode;
            } else if (tok.ttype == 41) { // ")"
                // System.out.println("Token starts with )");
                if (node.getParent() != null) {// this should not be necessary,
                    // if this happens, the code is
                    // wrong
                    node = (SchemeNodeModel) node.getParent();
                }
            } else if (tok.ttype == StreamTokenizer.TT_WORD) {
                String token = tok.sval.trim();

                if (node.toString().equals(" ") && node.getChildCount() == 0) {
                    node.setUserObject(token);
                } else {
                    SchemeNodeModel newNode = new SchemeNodeModel(getFrame(),
                            this);
                    insertNodeInto(newNode, node, node.getChildCount());
                    newNode.setUserObject(token);
                }
            }/*
             * else if (tok.ttype == tok.TT_NUMBER) { String token =
			 * Double.toString(tok.nval);
			 * 
			 * if (node.toString().equals("")) { node.setUserObject(token); }
			 * else { SchemeNodeModel newNode = new SchemeNodeModel(getFrame());
			 * insertNodeInto(newNode,node,node.getChildCount());
			 * newNode.setUserObject(token); } }
			 */
        }
    }