]> git.lyx.org Git - lyx.git/blobdiff - src/tex2lyx/Preamble.cpp
Revert "tex2lyx/text.cpp: fix a typo spotted by clang"
[lyx.git] / src / tex2lyx / Preamble.cpp
index 72800eca9579739082531a6ab3870cbfd5f06a40..e757bc7c8336898970967d48df8da269a055f03a 100644 (file)
@@ -129,7 +129,8 @@ const char * const known_roman_fonts[] = { "ae", "beraserif", "bookman",
 "tgbonum", "tgchorus", "tgpagella", "tgschola", "tgtermes", "utopia", 0};
 
 const char * const known_sans_fonts[] = { "avant", "berasans", "biolinum-type1",
-"cmbr", "cmss", "helvet", "kurier", "kurierl", "lmss", "tgadventor", "tgheros", 0};
+"cmbr", "cmss", "helvet", "iwona", "iwonac", "iwonal", "iwonalc", "kurier",
+"kurierc", "kurierl", "kurierlc", "lmss", "tgadventor", "tgheros", 0};
 
 const char * const known_kurier_fonts[] = { "kurier", "kurierl",
 "kurier-condensed", "kurier-light-condensed", 0};
@@ -525,6 +526,7 @@ Preamble::Preamble() : one_language(true), explicit_babel(false),
        h_use_refstyle            = false;
        h_use_packages["amsmath"]    = "1";
        h_use_packages["amssymb"]    = "0";
+       h_use_packages["cancel"]     = "0";
        h_use_packages["esint"]      = "1";
        h_use_packages["mhchem"]     = "0";
        h_use_packages["mathdots"]   = "0";
@@ -770,7 +772,7 @@ void Preamble::handle_package(Parser &p, string const & name,
                ||      is_known(name, known_typewriter_fonts) || is_known(name, known_math_fonts))
                ;
 
-       else if (name == "amsmath" || name == "amssymb" ||
+       else if (name == "amsmath" || name == "amssymb" || name == "cancel" ||
                 name == "esint" || name == "mhchem" || name == "mathdots" ||
                 name == "mathtools" || name == "stackrel" ||
                 name == "stmaryrd" || name == "undertilde")
@@ -1410,16 +1412,11 @@ void Preamble::parse(Parser & p, string const & forceclass,
                        string const name = p.verbatim_item();
                        string const body1 = p.verbatim_item();
                        string const body2 = p.verbatim_item();
-                       // store the in_lyx_preamble setting
-                       bool const was_in_lyx_preamble = in_lyx_preamble;
-                       if (name == "subref"
-                               || name == "thmref"
-                               || name == "lemref") {
-                               p.skip_spaces();
-                               in_lyx_preamble = true;
-                       }
                        // only non-lyxspecific stuff
-                       if (!in_lyx_preamble) {
+                       if (in_lyx_preamble &&
+                           (name == "subref" || name == "thmref" || name == "lemref"))
+                               p.skip_spaces();
+                       else {
                                ostringstream ss;
                                ss << '\\' << t.cs();
                                ss << '{' << name << '}'
@@ -1427,15 +1424,13 @@ void Preamble::parse(Parser & p, string const & forceclass,
                                   << '{' << body2 << '}';
                                h_preamble << ss.str();
                        }
-                       // restore the in_lyx_preamble setting
-                       in_lyx_preamble = was_in_lyx_preamble;
                }
                
                else if (t.cs() == "AtBeginDocument") {
                        string const name = p.verbatim_item();
-                       // store the in_lyx_preamble setting
-                       bool const was_in_lyx_preamble = in_lyx_preamble;
-                       if (name == "\\providecommand\\partref[1]{\\ref{part:#1}}"
+                       // only non-lyxspecific stuff
+                       if (in_lyx_preamble &&
+                           (name == "\\providecommand\\partref[1]{\\ref{part:#1}}"
                                || name == "\\providecommand\\chapref[1]{\\ref{chap:#1}}"
                                || name == "\\providecommand\\secref[1]{\\ref{sec:#1}}"
                                || name == "\\providecommand\\subref[1]{\\ref{sub:#1}}"
@@ -1449,19 +1444,14 @@ void Preamble::parse(Parser & p, string const & forceclass,
                                || name == "\\providecommand\\lemref[1]{\\ref{lem:#1}}"
                                || name == "\\providecommand\\thmref[1]{\\ref{thm:#1}}"
                                || name == "\\providecommand\\corref[1]{\\ref{cor:#1}}"
-                               || name == "\\providecommand\\propref[1]{\\ref{prop:#1}}") {
+                               || name == "\\providecommand\\propref[1]{\\ref{prop:#1}}"))
                                p.skip_spaces();
-                               in_lyx_preamble = true;
-                       }
-                       // only non-lyxspecific stuff
-                       if (!in_lyx_preamble) {
+                       else {
                                ostringstream ss;
                                ss << '\\' << t.cs();
                                ss << '{' << name << '}';
                                h_preamble << ss.str();
                        }
-                       // restore the in_lyx_preamble setting
-                       in_lyx_preamble = was_in_lyx_preamble;
                }
 
                else if (t.cs() == "newcommand" || t.cs() == "newcommandx"
@@ -1508,12 +1498,6 @@ void Preamble::parse(Parser & p, string const & forceclass,
                                p.skip_spaces();
                                in_lyx_preamble = true;
                        }
-                       if (name == "\\bfdefault")
-                               // LyX re-adds this if a kurier font is used
-                               if (is_known(h_font_sans, known_kurier_fonts) && body == "b") {
-                                       p.skip_spaces();
-                                       in_lyx_preamble = true;
-                               }
 
                        // remove the lyxdot definition that is re-added by LyX
                        // if necessary
@@ -1544,22 +1528,6 @@ void Preamble::parse(Parser & p, string const & forceclass,
                        in_lyx_preamble = was_in_lyx_preamble;
                }
 
-               else if (t.cs() == "edef"){
-                       // we only support this for kurier fonts
-                       string const command = p.next_token().asInput();
-                       p.get_token();
-                       if (command == "\\sfdefault") {
-                               p.getArg('{', '}');
-                               if (h_font_sans == "kurier")
-                                       h_font_sans = "kurier-condensed";
-                               if (h_font_sans == "kurierl")
-                                       h_font_sans = "kurier-light-condensed";
-                               p.skip_spaces();
-                       }
-                       else
-                               h_preamble << "\\edef" << command << "{" << p.getArg('{', '}') << "}\n";
-               }
-
                else if (t.cs() == "documentclass") {
                        vector<string>::iterator it;
                        vector<string> opts = split_options(p.getArg('[', ']'));