]> git.lyx.org Git - lyx.git/blobdiff - src/tex2lyx/preamble.cpp
* src/insets/InsetNote.h:
[lyx.git] / src / tex2lyx / preamble.cpp
index 4f242c9eecb9f7c879446a5079e3d63615a7187d..86510f721d4176fbc83c1ef8fe5c0830102b5bba 100644 (file)
 
 #include "tex2lyx.h"
 
+#include "LayoutFile.h"
 #include "Layout.h"
 #include "Lexer.h"
 #include "TextClass.h"
+
 #include "support/convert.h"
+#include "support/FileName.h"
 #include "support/filetools.h"
 #include "support/lstrings.h"
 
 #include <vector>
 #include <map>
 
+using namespace std;
+using namespace lyx::support;
 
 namespace lyx {
 
-using std::istringstream;
-using std::ostream;
-using std::ostringstream;
-using std::string;
-using std::vector;
-using std::cerr;
-using std::endl;
-using std::find;
-
-using support::FileName;
-using support::libFileSearch;
-using support::isStrDbl;
-
 // special columntypes
-extern std::map<char, int> special_columns;
+extern map<char, int> special_columns;
 
-std::map<string, vector<string> > used_packages;
+map<string, vector<string> > used_packages;
 
 // needed to handle encodings with babel
 bool one_language = true;
@@ -232,7 +224,7 @@ string const scale_as_percentage(string const & scale)
                        return convert<string>(100 * convert<double>(value));
        }
        // If the input string didn't match our expectations.
-       // return the default value "100" 
+       // return the default value "100"
        return "100";
 }
 
@@ -414,7 +406,8 @@ void end_preamble(ostream & os, TextClass const & /*textclass*/)
 
 } // anonymous namespace
 
-TextClass const parse_preamble(Parser & p, ostream & os, string const & forceclass)
+void parse_preamble(Parser & p, ostream & os, 
+       string const & forceclass, TeX2LyXDocClass & tc)
 {
        // initialize fixed types
        special_columns['D'] = 3;
@@ -470,8 +463,10 @@ TextClass const parse_preamble(Parser & p, ostream & os, string const & forcecla
                        p.setCatCode('@', catOther);
                }
 
-               else if (t.cs() == "newcommand" || t.cs() == "renewcommand"
-                           || t.cs() == "providecommand") {
+               else if (t.cs() == "newcommand" 
+                        || t.cs() == "renewcommand"
+                        || t.cs() == "providecommand"
+                        || t.cs() == "newlyxcommand") {
                        bool star = false;
                        if (p.next_token().character() == '*') {
                                p.get_token();
@@ -660,22 +655,20 @@ TextClass const parse_preamble(Parser & p, ostream & os, string const & forcecla
        // Force textclass if the user wanted it
        if (!forceclass.empty())
                h_textclass = forceclass;
-       if (noweb_mode && !lyx::support::prefixIs(h_textclass, "literate-"))
+       if (noweb_mode && !prefixIs(h_textclass, "literate-"))
                h_textclass.insert(0, "literate-");
        FileName layoutfilename = libFileSearch("layouts", h_textclass, "layout");
        if (layoutfilename.empty()) {
                cerr << "Error: Could not find layout file for textclass \"" << h_textclass << "\"." << endl;
                exit(1);
        }
-       TextClass textclass;
-       textclass.read(layoutfilename);
+       tc.read(layoutfilename);
        if (h_papersides.empty()) {
                ostringstream ss;
-               ss << textclass.sides();
+               ss << tc.sides();
                h_papersides = ss.str();
        }
-       end_preamble(os, textclass);
-       return textclass;
+       end_preamble(os, tc);
 }
 
 // }])