]> git.lyx.org Git - lyx.git/blobdiff - src/tex2lyx/math.C
Removed all redundant using directives from the source.
[lyx.git] / src / tex2lyx / math.C
index b02a58c88a7dee0a8dc1488176d0a47741d1faa1..3ca609eabd5b30f54f5ad639383a1504c20558b2 100644 (file)
@@ -1,29 +1,33 @@
-/** The .tex to .lyx converter
-    \author André Pönitz (2003)
+/**
+ * \file math.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author André Pönitz
+ *
+ * Full author contact details are available in file CREDITS.
  */
 
 // {[(
 
 #include <config.h>
 
-#include "Lsstream.h"
 #include "tex2lyx.h"
 
 #include <iostream>
-#include <string>
-#include <vector>
 
 using std::cerr;
 using std::endl;
+
 using std::ostream;
 using std::string;
-using std::vector;
 
 
 bool is_math_env(string const & name)
 {
        static char const * known_math_envs[] = { "equation", "equation*",
-       "eqnarray", "eqnarray*", "align", "align*", 0};
+       "eqnarray", "eqnarray*", "align", "align*", "gather", "gather*",
+       "multline", "multline*", 0};
 
        for (char const ** what = known_math_envs; *what; ++what)
                if (*what == name)
@@ -35,7 +39,7 @@ bool is_math_env(string const & name)
 void parse_math(Parser & p, ostream & os, unsigned flags, const mode_type mode)
 {
        while (p.good()) {
-               Token const & t = p.getToken();
+               Token const & t = p.get_token();
 
 #ifdef FILEDEBUG
                cerr << "t: " << t << " flags: " << flags << "\n";
@@ -64,13 +68,13 @@ void parse_math(Parser & p, ostream & os, unsigned flags, const mode_type mode)
                if (t.cat() == catMath) {
                        if (mode == MATHTEXT_MODE) {
                                // we are inside some text mode thingy, so opening new math is allowed
-                               Token const & n = p.getToken();
+                               Token const & n = p.get_token();
                                if (n.cat() == catMath) {
                                        // TeX's $$...$$ syntax for displayed math
                                        os << "\\[";
                                        parse_math(p, os, FLAG_SIMPLE, MATH_MODE);
                                        os << "\\]";
-                                       p.getToken(); // skip the second '$' token
+                                       p.get_token(); // skip the second '$' token
                                } else {
                                        // simple $...$  stuff
                                        p.putback();
@@ -103,8 +107,8 @@ void parse_math(Parser & p, ostream & os, unsigned flags, const mode_type mode)
                        os << t.character();
 
                else if (t.cat() == catNewline) {
-                       //if (p.nextToken().cat() == catNewline) {
-                       //      p.getToken();
+                       //if (p.next_token().cat() == catNewline) {
+                       //      p.get_token();
                        //      handle_par(os);
                        //} else {
                                os << "\n "; // note the space
@@ -137,6 +141,9 @@ void parse_math(Parser & p, ostream & os, unsigned flags, const mode_type mode)
                }
 
                else if (t.cs() == "[") {
+                       // special handling of a few common SW user quirks
+                       p.skip_spaces();
+                       //if (p.next_token().cs() == 
                        os << "\\[";
                        parse_math(p, os, FLAG_EQUATION, MATH_MODE);
                        os << "\\]";
@@ -148,7 +155,7 @@ void parse_math(Parser & p, ostream & os, unsigned flags, const mode_type mode)
 
                else if (t.cs() == "begin") {
                        string const name = p.getArg('{', '}');
-                       active_environments_push(name);
+                       active_environments.push_back(name);
                        os << "\\begin{" << name << "}";
                        if (name == "tabular")
                                parse_math(p, os, FLAG_END, MATHTEXT_MODE);
@@ -161,10 +168,10 @@ void parse_math(Parser & p, ostream & os, unsigned flags, const mode_type mode)
                        if (flags & FLAG_END) {
                                // eat environment name
                                string const name = p.getArg('{', '}');
-                               if (name != curr_env())
+                               if (name != active_environment())
                                        p.error("\\end{" + name + "} does not match \\begin{"
-                                               + curr_env() + "}");
-                               active_environments_pop();
+                                               + active_environment() + "}");
+                               active_environments.pop_back();
                                return;
                        }
                        p.error("found 'end' unexpectedly");
@@ -196,7 +203,7 @@ void parse_math(Parser & p, ostream & os, unsigned flags, const mode_type mode)
                }
 
                else if (t.cs() == "\"") {
-                       string const name = p.verbatimItem();
+                       string const name = p.verbatim_item();
                             if (name == "a") os << 'ä';
                        else if (name == "o") os << 'ö';
                        else if (name == "u") os << 'ü';