X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLaTeXFeatures.C;h=c6e65beb99fa6434055c5752ebb3c4aad0858a7f;hb=1b0cfa4381f8efa0f724bfc661c108d73242d1d6;hp=143bbdfa3876918b470c9df533cfc1ad9b021f54;hpb=313ab401fe79b7b5841afaec432848385a0061fd;p=lyx.git diff --git a/src/LaTeXFeatures.C b/src/LaTeXFeatures.C index 143bbdfa38..c6e65beb99 100644 --- a/src/LaTeXFeatures.C +++ b/src/LaTeXFeatures.C @@ -61,8 +61,8 @@ void LaTeXFeatures::useLayout(string const & layoutname) << layoutname << endl; return; } - - LyXTextClass tclass = params.getLyXTextClass(); + + LyXTextClass const & tclass = params.getLyXTextClass(); if (tclass.hasLayout(layoutname)) { // Is this layout already in usedLayouts? list::const_iterator cit = usedLayouts.begin(); @@ -71,8 +71,8 @@ void LaTeXFeatures::useLayout(string const & layoutname) if (layoutname == *cit) return; } - - LyXLayout_ptr lyt = tclass[layoutname]; + + LyXLayout_ptr const & lyt = tclass[layoutname]; if (!lyt->depends_on().empty()) { ++level; useLayout(lyt->depends_on()); @@ -82,9 +82,9 @@ void LaTeXFeatures::useLayout(string const & layoutname) } else { lyxerr << "LaTeXFeatures::useLayout: layout `" << layoutname << "' does not exist in this class" - << endl; + << endl; } - + --level; } @@ -110,7 +110,7 @@ void LaTeXFeatures::useFloat(string const & name) // We only need float.sty if we use non builtin floats, or if we // use the "H" modifier. This includes modified table and // figure floats. (Lgb) - Floating const & fl = floatList.getType(name); + Floating const & fl = params.getLyXTextClass().floats().getType(name); if (!fl.type().empty() && !fl.builtin()) { require("float"); } @@ -145,7 +145,7 @@ string LaTeXFeatures::getLanguages() const ++cit) languages << (*cit)->babel() << ','; - return languages.str().c_str(); + return STRCONV(languages.str()); } @@ -194,7 +194,7 @@ string const LaTeXFeatures::getPackages() const for (int i = 0; i < nb_simplefeatures; ++i) { if (isRequired(simplefeatures[i])) packages << "\\usepackage{" - << simplefeatures[i] << "}\n"; + << simplefeatures[i] << "}\n"; } // @@ -289,7 +289,7 @@ string const LaTeXFeatures::getPackages() const packages << externalPreambles; - return packages.str().c_str(); + return STRCONV(packages.str()); } @@ -339,10 +339,14 @@ string const LaTeXFeatures::getMacros() const if (isRequired("NeedLyXFootnoteCode")) macros << floatingfootnote_def; + // some problems with tex->html converters + if (isRequired("NeedTabularnewline")) + macros << tabularnewline_def; + // floats getFloatDefinitions(macros); - return macros.str().c_str(); + return STRCONV(macros.str()); } @@ -357,7 +361,7 @@ string const LaTeXFeatures::getBabelOptions() const if (!params.language->latex_options().empty()) tmp << params.language->latex_options() << '\n'; - return tmp.str().c_str(); + return STRCONV(tmp.str()); } @@ -375,7 +379,7 @@ string const LaTeXFeatures::getTClassPreamble() const tcpreamble << tclass[*cit]->preamble(); } - return tcpreamble.str().c_str(); + return STRCONV(tcpreamble.str()); } @@ -388,7 +392,7 @@ string const LaTeXFeatures::getLyXSGMLEntities() const entities << "" << '\n'; } - return entities.str().c_str(); + return STRCONV(entities.str()); } @@ -404,7 +408,7 @@ string const LaTeXFeatures::getIncludedFiles(string const & fname) const << (IsSGMLFilename(fi->second) ? " SYSTEM \"" : " \"") << MakeRelPath(fi->second, basename) << "\">"; - return sgmlpreamble.str().c_str(); + return STRCONV(sgmlpreamble.str()); } @@ -425,6 +429,8 @@ BufferParams const & LaTeXFeatures::bufferParams() const void LaTeXFeatures::getFloatDefinitions(ostream & os) const { + FloatList const & floats = params.getLyXTextClass().floats(); + // Here we will output the code to create the needed float styles. // We will try to do this as minimal as possible. // \floatstyle{ruled} @@ -434,7 +440,7 @@ void LaTeXFeatures::getFloatDefinitions(ostream & os) const UsedFloats::const_iterator end = usedFloats.end(); // ostringstream floats; for (; cit != end; ++cit) { - Floating const & fl = floatList.getType((*cit)); + Floating const & fl = floats.getType((*cit)); // For builtin floats we do nothing. if (fl.builtin()) continue;