!= usedLayouts_.end())
return;
- Layout const & layout = *tclass[layoutname];
+ Layout const & layout = tclass[layoutname];
require(layout.requires());
if (!layout.depends_on().empty()) {
}
-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)
"rotating",
"latexsym",
"pifont",
- "subfigure",
+ "subfig",
"varioref",
"prettyref",
/*For a successful cooperation of the `wrapfig' package with the
"endnotes",
"ifthen",
"amsthm",
- "listings"
+ "listings",
+ "bm"
};
int const nb_simplefeatures = sizeof(simplefeatures) / sizeof(char const *);
list<docstring>::const_iterator cit = usedLayouts_.begin();
list<docstring>::const_iterator end = usedLayouts_.end();
for (; cit != end; ++cit) {
- tcpreamble << tclass[*cit]->preamble();
+ tcpreamble << tclass[*cit].preamble();
}
return tcpreamble.str();
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";
}
}