#include "LaTeXFeatures.h"
#include "bufferparams.h"
+#include "Color.h"
#include "debug.h"
#include "encoding.h"
#include "Floating.h"
#include "FloatList.h"
+#include "LColor.h"
#include "language.h"
#include "lyxlex.h"
#include "lyx_sty.h"
#include "lyxrc.h"
+#include "support/docstream.h"
#include "support/filetools.h"
-
#include <sstream>
-using lyx::support::IsSGMLFilename;
-using lyx::support::LibFileSearch;
-using lyx::support::MakeRelPath;
-using lyx::support::OnlyPath;
+
+namespace lyx {
+
+using support::isSGMLFilename;
+using support::libFileSearch;
+using support::makeRelPath;
+using support::onlyPath;
using std::endl;
using std::find;
using std::ostringstream;
using std::set;
-namespace biblio = lyx::biblio;
-
-
LaTeXFeatures::PackagesList LaTeXFeatures::packages_;
LaTeXFeatures::LaTeXFeatures(Buffer const & b, BufferParams const & p,
- OutputParams const & r)
+ OutputParams const & r)
: buffer_(&b), params_(p), runparams_(r)
{}
void LaTeXFeatures::getAvailable()
{
LyXLex lex(0, 0);
- string real_file = LibFileSearch("", "packages.lst");
+ string real_file = libFileSearch("", "packages.lst");
if (real_file.empty())
return;
}
-void LaTeXFeatures::includeFile(string const & key, string const & name)
+void LaTeXFeatures::includeFile(docstring const & key, string const & name)
{
IncludedFiles_[key] = name;
}
LanguageList::const_iterator it = UsedLanguages_.begin();
LanguageList::const_iterator end = UsedLanguages_.end();
for (; it != end; ++it)
- if ((*it)->encoding()->LatexName() != doc_encoding)
- encodings.insert((*it)->encoding()->LatexName());
+ if ((*it)->encoding()->latexName() != doc_encoding)
+ encodings.insert((*it)->encoding()->latexName());
return encodings;
}
"varioref",
"prettyref",
"float",
+ "booktabs",
"dvipost",
"fancybox",
"calc",
+ "nicefrac",
+ "tipa",
+ "framed",
};
int const nb_simplefeatures = sizeof(simplefeatures) / sizeof(char const *);
// makeidx.sty
if (isRequired("makeidx")) {
- if (! tclass.provides(LyXTextClass::makeidx))
+ if (!tclass.provides(LyXTextClass::makeidx))
packages << "\\usepackage{makeidx}\n";
packages << "\\makeindex\n";
}
<< params_.graphicsDriver
<< "]{graphicx}\n";
}
+ // shadecolor for shaded
+ if (isRequired("framed")) {
+ RGBColor c = RGBColor(lcolor.getX11Name(LColor::shadedbg));
+ packages << "\\definecolor{shadecolor}{rgb}{"
+ << c.r/255 << ',' << c.g/255 << ',' << c.b/255 << "}\n";
+ }
//if (algorithm) {
// packages << "\\usepackage{algorithm}\n";
}
-string const LaTeXFeatures::getLyXSGMLEntities() const
+docstring const LaTeXFeatures::getLyXSGMLEntities() const
{
// Definition of entities used in the document that are LyX related.
- ostringstream entities;
+ odocstringstream entities;
if (isRequired("lyxarrow")) {
entities << "<!ENTITY lyxarrow \"->\">" << '\n';
}
-string const LaTeXFeatures::getIncludedFiles(string const & fname) const
+docstring const LaTeXFeatures::getIncludedFiles(string const & fname) const
{
- ostringstream sgmlpreamble;
- string const basename = OnlyPath(fname);
+ odocstringstream sgmlpreamble;
+ string const basename = onlyPath(fname);
FileMap::const_iterator end = IncludedFiles_.end();
for (FileMap::const_iterator fi = IncludedFiles_.begin();
fi != end; ++fi)
sgmlpreamble << "\n<!ENTITY " << fi->first
- << (IsSGMLFilename(fi->second) ? " SYSTEM \"" : " \"")
- << MakeRelPath(fi->second, basename) << "\">";
+ << (isSGMLFilename(fi->second) ? " SYSTEM \"" : " \"")
+ << from_ascii(makeRelPath(fi->second, basename)) << "\">";
return sgmlpreamble.str();
}
}
}
}
+
+
+} // namespace lyx