texrow.newline();
}
- lyxerr[Debug::LATEX] << "TeXEnvironment...done " << &*par << endl;
- return par; // ale970302
+ if (par != paragraphs.end() && lyxerr.debugging(Debug::LATEX))
+ lyxerr << "TeXEnvironment...done " << &*par << endl;
+ return par;
}
-InsetOptArg * optArgInset(Paragraph const & par)
+int latexOptArgInsets(Buffer const & buf, Paragraph const & par,
+ ostream & os, OutputParams const & runparams, int number)
{
- // Find the entry.
+ int lines = 0;
+
InsetList::const_iterator it = par.insetlist.begin();
InsetList::const_iterator end = par.insetlist.end();
- for (; it != end; ++it) {
- InsetBase * ins = it->inset;
- if (ins->lyxCode() == InsetBase::OPTARG_CODE) {
- return static_cast<InsetOptArg *>(ins);
+ for (; it != end && number > 0 ; ++it) {
+ if (it->inset->lyxCode() == InsetBase::OPTARG_CODE) {
+ InsetOptArg * ins =
+ static_cast<InsetOptArg *>(it->inset);
+ lines += ins->latexOptional(buf, os, runparams);
+ --number;
}
}
- return 0;
+ return lines;
}
os << '\\' << style->latexname();
// Separate handling of optional argument inset.
- if (style->optionalargs == 1) {
- InsetOptArg * it = optArgInset(*pit);
- if (it)
- it->latexOptional(buf, os, runparams);
+ if (style->optionalargs > 0) {
+ int ret = latexOptArgInsets(buf, *pit, os, runparams,
+ style->optionalargs);
+ while (ret > 0) {
+ texrow.newline();
+ --ret;
+ }
}
else
os << style->latexparam();
}
}
- if (boost::next(pit) == const_cast<ParagraphList&>(paragraphs).end()
+ if (boost::next(pit) == paragraphs.end()
&& language->babel() != doc_language->babel()) {
// Since \selectlanguage write the language to the aux file,
// we need to reset the language at the end of footnote or
texrow.newline();
}
- lyxerr[Debug::LATEX] << "TeXOnePar...done " << &*boost::next(pit) << endl;
+ if (boost::next(pit) != paragraphs.end() &&
+ lyxerr.debugging(Debug::LATEX))
+ lyxerr << "TeXOnePar...done " << &*boost::next(pit) << endl;
return ++pit;
}