"{\\leavevmode\\,$\\triangleleft$\\,\\allowbreak}\n"
"{\\leavevmode\\,$\\triangleright$\\,\\allowbreak}}");
+static docstring const aastex_case_def = from_ascii(
+ "\\providecommand\\case[2]{\\mbox{$\\frac{#1}{#2}$}}%");
+// Copied from https://github.com/AASJournals/AASTeX60/blob/master/cls/aastex63.cls#L1645
+// Adapted to providecommand for compatibility reasons.
+
// ZERO WIDTH SPACE (ZWSP) is actually not a space character
// but marks a line break opportunity. Several commands provide a
// line break opportunity. They differ in side-effects:
{
ostringstream packageopts;
// Output all the package option stuff we have been asked to do.
- map<string, string>::const_iterator it =
- params_.documentClass().packageOptions().begin();
- map<string, string>::const_iterator en =
- params_.documentClass().packageOptions().end();
- for (; it != en; ++it)
- if (mustProvide(it->first))
- packageopts << "\\PassOptionsToPackage{" << it->second << "}"
- << "{" << it->first << "}\n";
+ for (auto const & p : params_.documentClass().packageOptions())
+ if (mustProvide(p.first))
+ packageopts << "\\PassOptionsToPackage{" << p.second << "}"
+ << "{" << p.first << "}\n";
return packageopts.str();
}
if (mustProvide("lyxarrow"))
macros << lyxarrow_def << '\n';
+ if (mustProvide("aastex_case"))
+ macros << aastex_case_def << '\n';
+
if (mustProvide("lyxzerowidthspace"))
macros << lyxZWSP_def << '\n';
// \newfloat{algorithm}{htbp}{loa}
// \providecommand{\algorithmname}{Algorithm}
// \floatname{algorithm}{\protect\algorithmname}
- UsedFloats::const_iterator cit = usedFloats_.begin();
- UsedFloats::const_iterator end = usedFloats_.end();
- for (; cit != end; ++cit) {
- Floating const & fl = floats.getType(cit->first);
+ for (auto const & cit : usedFloats_) {
+ Floating const & fl = floats.getType(cit.first);
// For builtin floats we do nothing.
if (fl.isPredefined())
// used several times, when the same style is still in
// effect. (Lgb)
}
- if (cit->second)
+ if (cit.second)
// The subfig package is loaded later
os << "\n\\AtBeginDocument{\\newsubfloat{" << from_ascii(fl.floattype()) << "}}\n";
}
{
for (Features::iterator it = features_.begin(); it != features_.end();) {
if (contains(*it, ',')) {
- vector<string> const multiples = getVectorFromString(*it, ",");
- vector<string>::const_iterator const end = multiples.end();
- vector<string>::const_iterator itm = multiples.begin();
// Do nothing if any multiple is already required
- for (; itm != end; ++itm) {
- if (!isRequired(*itm))
- require(*itm);
+ for (string const & pkg : getVectorFromString(*it, ",")) {
+ if (!isRequired(pkg))
+ require(pkg);
}
features_.erase(it);
it = features_.begin();