]> git.lyx.org Git - lyx.git/blobdiff - src/tex2lyx/tex2lyx.cpp
tex2lyx/text.cpp: take care of the brace pair after comment environments that are...
[lyx.git] / src / tex2lyx / tex2lyx.cpp
index 790cf4a3a71ac19336eb46fab879a22a8adb42ba..20f4533784de3896bd748b0e22d5103c1a8d1ffe 100644 (file)
 #include <config.h>
 
 #include "tex2lyx.h"
-#include "Context.h"
 
+#include "Context.h"
 #include "TextClass.h"
 #include "Layout.h"
 
+#include "support/assert.h"
 #include "support/convert.h"
 #include "support/debug.h"
 #include "support/ExceptionMessage.h"
@@ -25,8 +26,8 @@
 #include "support/lstrings.h"
 #include "support/os.h"
 #include "support/Package.h"
-#include "support/unicode.h"
 
+#include <cstdlib>
 #include <fstream>
 #include <iostream>
 #include <string>
@@ -40,13 +41,9 @@ using namespace lyx::support::os;
 
 namespace lyx {
 
-// Hacks to allow the thing to link in the lyxlayout stuff
-LayoutPtr captionlayout;
-
-
 string const trim(string const & a, char const * p)
 {
-       // BOOST_ASSERT(p);
+       // LASSERT(p, /**/);
 
        if (a.empty() || !*p)
                return a;
@@ -111,7 +108,7 @@ CommandMap known_math_environments;
 
 
 void add_known_command(string const & command, string const & o1,
-                      bool o2)
+       unsigned optionalsNum)
 {
        // We have to handle the following cases:
        // definition                      o1    o2    invocation result
@@ -127,8 +124,7 @@ void add_known_command(string const & command, string const & o1,
        if (isStrUnsignedInt(opt1)) {
                // The command has arguments
                nargs = convert<unsigned int>(opt1);
-               if (nargs > 0 && o2) {
-                       // The first argument is optional
+               for (unsigned int i = 0; i < optionalsNum; ++i) {
                        arguments.push_back(optional);
                        --nargs;
                }
@@ -399,8 +395,8 @@ void tex2lyx(istream & is, ostream & os)
        //p.dump();
 
        stringstream ss;
-       TextClass textclass = parse_preamble(p, ss, documentclass);
-       captionlayout = LayoutPtr(Layout::forCaption());
+       TeX2LyXDocClass textclass;
+       parse_preamble(p, ss, documentclass, textclass);
 
        active_environments.push_back("document");
        Context context(true, textclass);
@@ -497,12 +493,12 @@ int main(int argc, char * argv[])
                if (message.type_ == ErrorException)
                        exit(1);
        }
-       
+
        // Now every known option is parsed. Look for input and output
        // file name (the latter is optional).
        string infilename = internal_path(to_utf8(from_local8bit(argv[1])));
        infilename = makeAbsPath(infilename).absFilename();
-       
+
        string outfilename;
        if (argc > 2) {
                outfilename = internal_path(to_utf8(from_local8bit(argv[2])));