bool XHTMLStream::closeFontTags()
{
+ if (tag_stack_.empty())
+ return true;
// first, we close any open font tags we can close
StartTag curtag = tag_stack_.back();
while (html::isFontTag(curtag.tag_)) {
if (par != pbegin)
xs.cr();
- // FIXME Should we really allow anything other than 'p' here?
-
// If we are already in a paragraph, and this is the first one, then we
// do not want to open the paragraph tag.
- bool const opened =
- (par == pbegin && runparams.html_in_par) ? false : true;
+ // we also do not want to open it if the current layout does not permit
+ // multiple paragraphs.
+ bool const opened = runparams.html_make_pars &&
+ (par != pbegin || !runparams.html_in_par);
if (opened)
openTag(xs, lay);
docstring const deferred =
// if we're not at the end...
if (par != pend
// and are doing items...
- && style.latextype == LATEX_ITEM_ENVIRONMENT
+ && !isNormalEnv(style)
// and if the depth has changed...
&& par->params().depth() != origdepth) {
// then we'll save this layout for later, and close it when