+ os << "Style " << to_utf8(name_) << '\n';
+ if (!category_.empty() && obsoleted_by_.empty())
+ os << "\tCategory \"" << to_utf8(category_) << "\"\n";
+ // Can't deduce Copystyle here :-(
+ if (!obsoleted_by_.empty()) {
+ os << "\tObsoletedBy \"" << to_utf8(obsoleted_by_)
+ << "\"\nEnd\n";
+ return;
+ }
+ if (!depends_on_.empty())
+ os << "\tDependsOn " << to_utf8(depends_on_) << '\n';
+ switch (margintype) {
+ case MARGIN_DYNAMIC:
+ os << "\tMargin Dynamic\n";
+ break;
+ case MARGIN_FIRST_DYNAMIC:
+ os << "\tMargin First_Dynamic\n";
+ break;
+ case MARGIN_MANUAL:
+ os << "\tMargin Manual\n";
+ break;
+ case MARGIN_RIGHT_ADDRESS_BOX:
+ os << "\tMargin Right_Address_Box\n";
+ break;
+ case MARGIN_STATIC:
+ os << "\tMargin Static\n";
+ break;
+ }
+ switch (latextype) {
+ case LATEX_BIB_ENVIRONMENT:
+ os << "\tLatexType Bib_Environment\n";
+ break;
+ case LATEX_COMMAND:
+ os << "\tLatexType Command\n";
+ break;
+ case LATEX_ENVIRONMENT:
+ os << "\tLatexType Environment\n";
+ break;
+ case LATEX_ITEM_ENVIRONMENT:
+ os << "\tLatexType Item_Environment\n";
+ break;
+ case LATEX_LIST_ENVIRONMENT:
+ os << "\tLatexType List_Environment\n";
+ break;
+ case LATEX_PARAGRAPH:
+ os << "\tLatexType Paragraph\n";
+ break;
+ }
+ os << "\tInTitle " << intitle << "\n"
+ "\tInPreamble " << inpreamble << "\n"
+ "\tTocLevel " << toclevel << '\n';
+ // ResetArgs does not make sense here
+ for (LaTeXArgMap::const_iterator it = latexargs_.begin();
+ it != latexargs_.end(); ++it)
+ writeArgument(os, it->first, it->second);
+ for (LaTeXArgMap::const_iterator it = itemargs_.begin();
+ it != itemargs_.end(); ++it)
+ writeArgument(os, it->first, it->second);
+ for (LaTeXArgMap::const_iterator it = postcommandargs_.begin();
+ it != postcommandargs_.end(); ++it)
+ writeArgument(os, it->first, it->second);
+ os << "\tNeedProtect " << needprotect << "\n"
+ "\tKeepEmpty " << keepempty << '\n';
+ if (labelfont == font)
+ lyxWrite(os, font, "Font", 1);
+ else {
+ lyxWrite(os, font, "TextFont", 1);
+ lyxWrite(os, labelfont, "LabelFont", 1);
+ }
+ os << "\tNextNoIndent " << nextnoindent << "\n"
+ "\tCommandDepth " << commanddepth << '\n';
+ if (!latexname_.empty())
+ os << "\tLatexName \"" << latexname_ << "\"\n";
+ if (!latexparam_.empty())
+ os << "\tLatexParam \"" << subst(latexparam_, "\"", """)
+ << "\"\n";
+ if (!leftdelim_.empty())
+ os << "\tLeftDelim "
+ << to_utf8(subst(leftdelim_, from_ascii("\n"), from_ascii("<br/>")))
+ << '\n';
+ if (!rightdelim_.empty())
+ os << "\tRightDelim "
+ << to_utf8(subst(rightdelim_, from_ascii("\n"), from_ascii("<br/>")))
+ << '\n';
+ if (!innertag_.empty())
+ os << "\tInnerTag \"" << innertag_ << "\"\n";
+ if (!labeltag_.empty())
+ os << "\tLabelTag \"" << labeltag_ << "\"\n";
+ if (!itemtag_.empty())
+ os << "\tItemTag \"" << itemtag_ << "\"\n";
+ if (!itemcommand_.empty())
+ os << "\tItemCommand " << itemcommand_ << '\n';
+ if (!preamble_.empty())
+ os << "\tPreamble\n\t"
+ << to_utf8(subst(rtrim(preamble_, "\n"),
+ from_ascii("\n"), from_ascii("\n\t")))
+ << "\n\tEndPreamble\n";
+ if (!langpreamble_.empty())
+ os << "\tLangPreamble\n\t"
+ << to_utf8(subst(rtrim(langpreamble_, "\n"),
+ from_ascii("\n"), from_ascii("\n\t")))
+ << "\n\tEndLangPreamble\n";
+ if (!babelpreamble_.empty())
+ os << "\tBabelPreamble\n\t"
+ << to_utf8(subst(rtrim(babelpreamble_, "\n"),
+ from_ascii("\n"), from_ascii("\n\t")))
+ << "\n\tEndBabelPreamble\n";
+ switch (labeltype) {
+ case LABEL_ABOVE:
+ os << "\tLabelType Above\n";
+ break;
+ case LABEL_BIBLIO:
+ os << "\tLabelType Bibliography\n";
+ break;
+ case LABEL_CENTERED:
+ os << "\tLabelType Centered\n";
+ break;
+ case LABEL_ENUMERATE:
+ os << "\tLabelType Enumerate\n";
+ break;
+ case LABEL_ITEMIZE:
+ os << "\tLabelType Itemize\n";
+ break;
+ case LABEL_MANUAL:
+ os << "\tLabelType Manual\n";
+ break;
+ case LABEL_NO_LABEL:
+ os << "\tLabelType No_Label\n";
+ break;
+ case LABEL_SENSITIVE:
+ os << "\tLabelType Sensitive\n";
+ break;
+ case LABEL_STATIC:
+ os << "\tLabelType Static\n";
+ break;
+ }
+ switch (endlabeltype) {
+ case END_LABEL_BOX:
+ os << "\tEndLabelType Box\n";
+ break;
+ case END_LABEL_FILLED_BOX:
+ os << "\tEndLabelType Filled_Box\n";
+ break;
+ case END_LABEL_NO_LABEL:
+ os << "\tEndLabelType No_Label\n";
+ break;
+ case END_LABEL_STATIC:
+ os << "\tEndLabelType Static\n";
+ break;