X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBufferParams.cpp;h=38ca643400698da1c4247edc177423ac02437896;hb=28be7d552f62cc02fa86d7f79201d089bfb2d7b5;hp=52fd35bc20943b43db6b93ba2335a5904355ab63;hpb=f1dd80f464b46f6112f6c9a64a70dd3da76cbe7f;p=lyx.git diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp index 52fd35bc20..38ca643400 100644 --- a/src/BufferParams.cpp +++ b/src/BufferParams.cpp @@ -385,7 +385,7 @@ BufferParams::BufferParams() makeDocumentClass(); paragraph_separation = ParagraphIndentSeparation; is_math_indent = false; - math_number = DEFAULT; + math_numbering_side = DEFAULT; quotes_style = InsetQuotesParams::EnglishQuotes; dynamic_quotes = false; fontsize = "default"; @@ -461,6 +461,7 @@ BufferParams::BufferParams() output_sync = false; use_refstyle = true; + use_minted = false; // map current author author_map_[pimpl_->authorlist.get(0).bufferId()] = 0; @@ -669,8 +670,8 @@ void BufferParams::setDefSkip(VSpace const & vs) BufferParams::MathNumber BufferParams::getMathNumber() const { - if (math_number != DEFAULT) - return math_number; + if (math_numbering_side != DEFAULT) + return math_numbering_side; // FIXME: do not hardcode language here else if (language->lang() == "arabic_arabi" || documentClass().provides("leqno")) @@ -865,16 +866,20 @@ string BufferParams::readToken(Lexer & lex, string const & token, lex >> is_math_indent; } else if (token == "\\math_indentation") { lex.next(); - pimpl_->mathindent = Length(lex.getString()); - } else if (token == "\\math_number_before") { + string mathindent = lex.getString(); + if (mathindent == "default") + pimpl_->mathindent = Length(); + else + pimpl_->mathindent = Length(mathindent); + } else if (token == "\\math_numbering_side") { string tmp; lex >> tmp; - if (tmp == "true") - math_number = LEFT; - else if (tmp == "false") - math_number = RIGHT; + if (tmp == "left") + math_numbering_side = LEFT; + else if (tmp == "right") + math_numbering_side = RIGHT; else - math_number = DEFAULT; + math_numbering_side = DEFAULT; } else if (token == "\\quotes_style") { string qstyle; lex >> qstyle; @@ -1095,6 +1100,8 @@ string BufferParams::readToken(Lexer & lex, string const & token, lex >> output_sync_macro; } else if (token == "\\use_refstyle") { lex >> use_refstyle; + } else if (token == "\\use_minted") { + lex >> use_minted; } else { lyxerr << "BufferParams::readToken(): Unknown token: " << token << endl; @@ -1302,6 +1309,7 @@ void BufferParams::writeFile(ostream & os, Buffer const * buf) const << "\n\\suppress_date " << convert(suppress_date) << "\n\\justification " << convert(justification) << "\n\\use_refstyle " << use_refstyle + << "\n\\use_minted " << use_minted << '\n'; if (isbackgroundcolor == true) os << "\\backgroundcolor " << lyx::X11hexname(backgroundcolor) << '\n'; @@ -1373,15 +1381,16 @@ void BufferParams::writeFile(ostream & os, Buffer const * buf) const else os << "\n\\defskip " << getDefSkip().asLyXCommand(); os << "\n\\is_math_indent " << is_math_indent; - if (is_math_indent && !getMathIndent().empty()) - os << "\n\\math_indentation " << getMathIndent().asString(); - os << "\n\\math_number_before "; - switch(math_number) { + if (is_math_indent) + os << "\n\\math_indentation " + << (getMathIndent().empty() ? "default" : getMathIndent().asString()); + os << "\n\\math_numbering_side "; + switch(math_numbering_side) { case LEFT: - os << "true"; + os << "left"; break; case RIGHT: - os << "false"; + os << "right"; break; case DEFAULT: os << "default"; @@ -1670,7 +1679,7 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features, if (is_math_indent) clsoptions << "fleqn,"; - switch(math_number) { + switch(math_numbering_side) { case LEFT: clsoptions << "leqno,"; break; @@ -2253,10 +2262,19 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features, } if (features.isRequired("bicaption")) os << "\\usepackage{bicaption}\n"; - if (!listings_params.empty() || features.mustProvide("listings")) - os << "\\usepackage{listings}\n"; + if (!listings_params.empty() + || features.mustProvide("listings") + || features.mustProvide("minted")) { + if (features.mustProvide("listings")) + os << "\\usepackage{listings}\n"; + else + os << "\\usepackage{minted}\n"; + } if (!listings_params.empty()) { - os << "\\lstset{"; + if (features.mustProvide("listings")) + os << "\\lstset{"; + else + os << "\\setminted{"; // do not test validity because listings_params is // supposed to be valid string par = @@ -2353,7 +2371,8 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features, } docstring const i18npreamble = - features.getTClassI18nPreamble(use_babel, use_polyglossia); + features.getTClassI18nPreamble(use_babel, use_polyglossia, + use_minted); if (!i18npreamble.empty()) os << i18npreamble + '\n';