return;
}
- TextClass const & tclass = params_.getTextClass();
+ DocumentClass const & tclass = params_.documentClass();
if (tclass.hasLayout(layoutname)) {
// Is this layout already in usedLayouts?
if (find(usedLayouts_.begin(), usedLayouts_.end(), layoutname)
bool LaTeXFeatures::mustProvide(string const & name) const
{
- return isRequired(name) && !params_.getTextClass().provides(name);
+ return isRequired(name) && !params_.documentClass().provides(name);
}
}
-void LaTeXFeatures::useFloat(string const & name)
+void LaTeXFeatures::useFloat(string const & name, bool subfloat)
{
- usedFloats_.insert(name);
+ if (!usedFloats_[name])
+ usedFloats_[name] = subfloat;
+ if (subfloat)
+ require("subfig");
// 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 = params_.getTextClass().floats().getType(name);
+ Floating const & fl = params_.documentClass().floats().getType(name);
if (!fl.type().empty() && !fl.builtin()) {
require("float");
}
"rotating",
"latexsym",
"pifont",
- "subfigure",
+ "subfig",
"varioref",
"prettyref",
/*For a successful cooperation of the `wrapfig' package with the
string const LaTeXFeatures::getPackages() const
{
ostringstream packages;
- TextClass const & tclass = params_.getTextClass();
+ DocumentClass const & tclass = params_.documentClass();
// FIXME: currently, we can only load packages and macros known
// to LyX.
docstring const LaTeXFeatures::getTClassPreamble() const
{
// the text class specific preamble
- TextClass const & tclass = params_.getTextClass();
+ DocumentClass const & tclass = params_.documentClass();
odocstringstream tcpreamble;
tcpreamble << tclass.preamble();
void LaTeXFeatures::getFloatDefinitions(ostream & os) const
{
- FloatList const & floats = params_.getTextClass().floats();
+ FloatList const & floats = params_.documentClass().floats();
// Here we will output the code to create the needed float styles.
// We will try to do this as minimal as possible.
UsedFloats::const_iterator end = usedFloats_.end();
// ostringstream floats;
for (; cit != end; ++cit) {
- Floating const & fl = floats.getType((*cit));
+ Floating const & fl = floats.getType((cit->first));
// For builtin floats we do nothing.
if (fl.builtin()) continue;
// used several times, when the same style is still in
// effect. (Lgb)
}
+ if (cit->second)
+ os << "\n\\newsubfloat{" << fl.type() << "}\n";
}
}