]> git.lyx.org Git - lyx.git/blobdiff - src/LaTeXFeatures.cpp
LaTeXFonts: Add ScaleCommand
[lyx.git] / src / LaTeXFeatures.cpp
index 8ef793cd873cacac5fbc5bce32e268eb647c47fc..256b0d858bf9d79cb5c1e10baf31de24276bbb55 100644 (file)
@@ -235,29 +235,6 @@ static docstring const lyxdot_def = from_ascii(
        "%% A simple dot to overcome graphicx limitations\n"
        "\\newcommand{\\lyxdot}{.}\n");
 
-static docstring const changetracking_dvipost_def = from_ascii(
-       "%% Change tracking with dvipost\n"
-       "\\dvipostlayout\n"
-       "\\dvipost{osstart color push Red}\n"
-       "\\dvipost{osend color pop}\n"
-       "\\dvipost{cbstart color push Blue}\n"
-       "\\dvipost{cbrule 0pt}\n"
-       "\\dvipost{cbend color pop}\n"
-       "\\DeclareRobustCommand{\\lyxadded}[4][]{\\changestart#4\\changeend}\n"
-       "\\DeclareRobustCommand{\\lyxdeleted}[4][]{%\n"
-       "\\changestart\\overstrikeon#4\\overstrikeoff\\changeend}\n");
-
-static docstring const changetracking_dvipost_cb_def = from_ascii(
-       "%% Change tracking with dvipost\n"
-       "\\dvipostlayout\n"
-       "\\dvipost{osstart color push Red}\n"
-       "\\dvipost{osend color pop}\n"
-       "\\dvipost{cbstart color push Blue}\n"
-       "\\dvipost{cbend color pop}\n"
-       "\\DeclareRobustCommand{\\lyxadded}[4][]{\\changestart#4\\changeend}\n"
-       "\\DeclareRobustCommand{\\lyxdeleted}[4][]{%\n"
-       "\\changestart\\overstrikeon#4\\overstrikeoff\\changeend}\n");
-
 static docstring const changetracking_xcolor_ulem_base_def = from_ascii(
        "%% Change tracking with ulem and xcolor: base macros\n"
        "\\DeclareRobustCommand{\\mklyxadded}[1]{\\bgroup\\color{lyxadded}{}#1\\egroup}\n"
@@ -740,7 +717,7 @@ void LaTeXFeatures::useLayout(docstring const & layoutname, int level)
                        return;
 
                Layout const & layout = tclass[layoutname];
-               require(layout.requires());
+               require(layout.required());
 
                if (!layout.depends_on().empty()) {
                        useLayout(layout.depends_on(), level + 1);
@@ -767,7 +744,7 @@ void LaTeXFeatures::useInsetLayout(InsetLayout const & lay)
                        != usedInsetLayouts_.end())
                return;
 
-       require(lay.requires());
+       require(lay.required());
        usedInsetLayouts_.push_back(lname);
 }
 
@@ -901,9 +878,9 @@ void LaTeXFeatures::useFloat(string const & name, bool subfloat)
        if (!fl.floattype().empty()) {
                if (fl.usesFloatPkg())
                        require("float");
-               if (!fl.requires().empty()) {
-                       vector<string> reqs = getVectorFromString(fl.requires());
-                       for (auto const req : reqs)
+               if (!fl.required().empty()) {
+                       vector<string> reqs = getVectorFromString(fl.required());
+                       for (auto const req : reqs)
                                require(req);
                }
        }
@@ -914,8 +891,8 @@ void LaTeXFeatures::useLanguage(Language const * lang)
 {
        if (!lang->babel().empty() || !lang->polyglossia().empty())
                UsedLanguages_.insert(lang);
-       if (!lang->requires().empty())
-               require(lang->requires());
+       if (!lang->required().empty())
+               require(lang->required());
        // currently only supported for Babel
        if (!lang->provides().empty() && useBabel())
                provide(lang->provides());
@@ -1131,7 +1108,6 @@ char const * simplefeatures[] = {
        "float",
        "wrapfig",
        "booktabs",
-       "dvipost",
        "fancybox",
        "calc",
        "units",
@@ -1174,7 +1150,6 @@ char const * simplefeatures[] = {
        "todonotes",
        "forest",
        "varwidth",
-       "tablefootnote",
        "afterpage",
        "tabularx",
        "tikz",
@@ -1183,7 +1158,8 @@ char const * simplefeatures[] = {
        "xskak",
        "pict2e",
        "drs",
-       "environ"
+       "environ",
+       "dsfont"
 };
 
 char const * bibliofeatures[] = {
@@ -1306,8 +1282,12 @@ string const LaTeXFeatures::getPackages() const
        // The rest of these packages are somewhat more complicated
        // than those above.
 
-       if (mustProvide("changebar") && !mustProvide("ct-dvipost")) {
-               packages << "\\usepackage{changebar}\n";
+       if (mustProvide("changebar")) {
+               packages << "\\usepackage";
+               if (runparams_.flavor == OutputParams::LATEX
+                   || runparams_.flavor == OutputParams::DVILUATEX)
+                       packages << "[dvips]";
+               packages << "{changebar}\n";
        }
 
        if (mustProvide("footnote")) {
@@ -1416,6 +1396,9 @@ string const LaTeXFeatures::getPackages() const
                packages << "\\usepackage{rotating}\n";
        if (mustProvide("rotfloat"))
                packages << "\\usepackage{rotfloat}\n";
+       // and this must be loaded after rotating
+       if (mustProvide("tablefootnote"))
+               packages << "\\usepackage{tablefootnote}\n";
 
        // lyxskak.sty --- newer chess support based on skak.sty
        if (mustProvide("chess"))
@@ -1749,13 +1732,6 @@ TexString LaTeXFeatures::getMacros() const
                macros << lyxref_def << '\n';
 
        // change tracking
-       if (mustProvide("ct-dvipost")) {
-               if (isRequired("changebar"))
-                       macros << changetracking_dvipost_cb_def;
-               else
-                       macros << changetracking_dvipost_def;
-       }
-
        if (mustProvide("ct-xcolor-ulem")) {
                streamsize const prec = macros.os().precision(2);