LT_ITEMTAG,
LT_HTMLTAG,
LT_HTMLATTR,
+ LT_HTMLCLASS,
LT_HTMLITEM,
LT_HTMLITEMATTR,
LT_HTMLLABEL,
LT_DOCBOOKINNERTAGTYPE,
LT_DOCBOOKININFO,
LT_DOCBOOKABSTRACT,
+ LT_DOCBOOKGENERATETITLE,
LT_DOCBOOKWRAPPERTAG,
LT_DOCBOOKWRAPPERATTR,
LT_DOCBOOKWRAPPERTAGTYPE,
{ "docbookabstract", LT_DOCBOOKABSTRACT },
{ "docbookattr", LT_DOCBOOKATTR },
{ "docbookforceabstracttag", LT_DOCBOOKFORCEABSTRACTTAG },
+ { "docbookgeneratetitle", LT_DOCBOOKGENERATETITLE },
{ "docbookininfo", LT_DOCBOOKININFO },
{ "docbookinnerattr", LT_DOCBOOKINNERATTR },
{ "docbookinnertag", LT_DOCBOOKINNERTAG },
{ "forcelocal", LT_FORCELOCAL },
{ "freespacing", LT_FREE_SPACING },
{ "htmlattr", LT_HTMLATTR },
+ { "htmlclass", LT_HTMLCLASS },
{ "htmlforcecss", LT_HTMLFORCECSS },
{ "htmlintoc", LT_HTMLINTOC },
{ "htmlitem", LT_HTMLITEM },
case LT_LATEXPARAM:
lex >> latexparam_;
- latexparam_ = subst(latexparam_, """, "\"");
+ latexparam_ = subst(latexparam_, """, "\"");
break;
case LT_LEFTDELIM:
lex >> htmlattr_;
break;
+ case LT_HTMLCLASS:
+ lex >> htmlclass_;
+ break;
+
case LT_HTMLITEM:
lex >> htmlitemtag_;
break;
lex >> docbooknofontinside_;
break;
+ case LT_DOCBOOKGENERATETITLE:
+ lex >> docbookgeneratetitle_;
+ break;
+
case LT_SPELLCHECK:
lex >> spellcheck;
break;
if (!latexname_.empty())
os << "\tLatexName \"" << latexname_ << "\"\n";
if (!latexparam_.empty())
- os << "\tLatexParam \"" << subst(latexparam_, "\"", """)
+ os << "\tLatexParam \"" << subst(latexparam_, "\"", """)
<< "\"\n";
if (!leftdelim_.empty())
os << "\tLeftDelim "
os << "\tHTMLTag " << htmltag_ << '\n';
if (!htmlattr_.empty())
os << "\tHTMLAttr " << htmlattr_ << '\n';
+ if (!htmlclass_.empty())
+ os << "\tHTMLClass " << htmlclass_ << '\n';
+ if (!htmlintoc_)
+ os << "\tHTMLInToc " << htmlintoc_ << '\n';
if (!htmlitemtag_.empty())
os << "\tHTMLItem " << htmlitemtag_ << '\n';
if (!htmlitemattr_.empty())
}
-string const & Layout::htmlattr() const
+string const & Layout::htmlclass() const
{
- if (htmlattr_.empty())
- htmlattr_ = "class=\"" + defaultCSSClass() + "\"";
- return htmlattr_;
+ // If it's an enumeration or itemize list, then we recalculate the class each
+ // time through (unless it has been given explicitly). So we do nothing here.
+ if (htmlclass_.empty() && labeltype != LABEL_ENUMERATE && labeltype != LABEL_ITEMIZE)
+ htmlclass_ = defaultCSSClass();
+ return htmlclass_;
+}
+
+
+string const & Layout::htmlGetAttrString() const {
+ if (!htmlfullattrs_.empty())
+ return htmlfullattrs_;
+ htmlfullattrs_ = htmlclass();
+ if (!htmlfullattrs_.empty())
+ htmlfullattrs_ = "class='" + htmlfullattrs_ + "'";
+ if (!htmlattr_.empty())
+ htmlfullattrs_ += " " + htmlattr_;
+ return htmlfullattrs_;
}