use_geometry = false;
use_amsmath = package_auto;
use_esint = package_auto;
+ use_mhchem = package_auto;
cite_engine_ = ENGINE_BASIC;
use_bibtopic = false;
use_indices = false;
secnumdepth = 3;
tocdepth = 3;
language = default_language;
+ fontenc = "global";
fontsRoman = "default";
fontsSans = "default";
fontsTypewriter = "default";
}
// default index
indiceslist().addDefault(B_("Index"));
+ html_be_strict = true;
+ html_use_mathml = true;
}
} else if (token == "\\index_command") {
lex.eatLine();
index_command = lex.getString();
+ } else if (token == "\\fontencoding") {
+ lex.eatLine();
+ fontenc = lex.getString();
} else if (token == "\\font_roman") {
lex.eatLine();
fontsRoman = lex.getString();
int useesint;
lex >> useesint;
use_esint = packagetranslator().find(useesint);
+ } else if (token == "\\use_mhchem") {
+ int usemhchem;
+ lex >> usemhchem;
+ use_mhchem = packagetranslator().find(usemhchem);
} else if (token == "\\cite_engine") {
string engine;
lex >> engine;
toktmp << endl;
return toktmp;
}
+ } else if (token == "\\html_use_mathml") {
+ lex >> html_use_mathml;
+ } else if (token == "\\html_be_strict") {
+ lex >> html_be_strict;
} else {
lyxerr << "BufferParams::readToken(): Unknown token: " <<
token << endl;
if (language != ignore_language)
os << "\\language " << language->lang() << '\n';
os << "\\inputencoding " << inputenc
+ << "\n\\fontencoding " << fontenc
<< "\n\\font_roman " << fontsRoman
<< "\n\\font_sans " << fontsSans
<< "\n\\font_typewriter " << fontsTypewriter
<< "\n\\use_geometry " << convert<string>(use_geometry)
<< "\n\\use_amsmath " << use_amsmath
<< "\n\\use_esint " << use_esint
+ << "\n\\use_mhchem " << use_mhchem
<< "\n\\cite_engine " << citeenginetranslator().find(cite_engine_)
<< "\n\\use_bibtopic " << convert<string>(use_bibtopic)
<< "\n\\use_indices " << convert<string>(use_indices)
}
}
- os << "\\tracking_changes " << convert<string>(trackChanges) << "\n";
- os << "\\output_changes " << convert<string>(outputChanges) << "\n";
+ os << "\\tracking_changes " << convert<string>(trackChanges) << "\n"
+ << "\\output_changes " << convert<string>(outputChanges) << "\n"
+ << "\\html_use_mathml " << convert<string>(html_use_mathml) << "\n"
+ << "\\html_be_strict " << convert<string>(html_be_strict) << "\n";
os << pimpl_->authorlist;
}
features.require("amsmath");
if (use_esint == package_on)
features.require("esint");
+ if (use_mhchem == package_on)
+ features.require("mhchem");
// Document-level line spacing
if (spacing().getSpace() != Spacing::Single && !spacing().isDefault())
features.require("hyperref");
// due to interferences with babel and hyperref, the color package has to
// be loaded after hyperref when hyperref is used with the colorlinks
- // option, see http://bugzilla.lyx.org/show_bug.cgi?id=5291
+ // option, see http://www.lyx.org/trac/ticket/5291
if (pdfoptions().colorlinks)
features.require("color");
}
size_t mongo = language_options.str().find("mongolian");
// if Japanese is used, babel must directly be loaded
// with language options, not in the class options, see
- // http://bugzilla.lyx.org/show_bug.cgi?id=4597#c4
+ // http://www.lyx.org/trac/ticket/4597#c4
size_t japan = language_options.str().find("japanese");
if (lyxrc.language_global_options && !language_options.str().empty()
&& viet == string::npos && japan == string::npos
<< from_ascii(fontsDefaultFamily) << "}\n";
// set font encoding
- // this one is not per buffer
// for arabic_arabi and farsi we also need to load the LAE and
// LFE encoding
// XeTeX works without fontenc
- if (lyxrc.fontenc != "default" && language->lang() != "japanese"
+ if (font_encoding() != "default" && language->lang() != "japanese"
&& !useXetex) {
if (language->lang() == "arabic_arabi"
|| language->lang() == "farsi") {
- os << "\\usepackage[" << from_ascii(lyxrc.fontenc)
+ os << "\\usepackage[" << from_ascii(font_encoding())
<< ",LFE,LAE]{fontenc}\n";
texrow.newline();
} else {
- os << "\\usepackage[" << from_ascii(lyxrc.fontenc)
+ os << "\\usepackage[" << from_ascii(font_encoding())
<< "]{fontenc}\n";
texrow.newline();
}
// due to interferences with babel and hyperref, the color package has to
// be loaded (when it is not already loaded) before babel when hyperref
// is used with the colorlinks option, see
- // http://bugzilla.lyx.org/show_bug.cgi?id=5291
+ // http://www.lyx.org/trac/ticket/5291
// we decided therefore to load color always before babel, see
// http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg144349.html
lyxpreamble += from_ascii(features.getColorOptions());
}
+string const BufferParams::font_encoding() const
+{
+ return (fontenc == "global") ? lyxrc.fontenc : fontenc;
+}
+
+
string BufferParams::babelCall(string const & lang_opts) const
{
string lang_pack = lyxrc.language_package;
size_t mongo = lang_opts.find("mongolian");
// If Japanese is used, babel must directly be loaded with the
// language options, see
- // http://bugzilla.lyx.org/show_bug.cgi?id=4597#c4
+ // http://www.lyx.org/trac/ticket/4597#c4
size_t japan = lang_opts.find("japanese");
if (!lyxrc.language_global_options || viet != string::npos
|| japan != string::npos || latvian != string::npos
// AE
else if (rm == "ae") {
// not needed when using OT1 font encoding.
- if (lyxrc.fontenc != "default")
+ if (font_encoding() != "default")
os << "\\usepackage{ae,aecompl}\n";
}
// Times
// fourier supersedes utopia.sty, but does
// not work with OT1 encoding.
if (LaTeXFeatures::isAvailable("fourier")
- && lyxrc.fontenc != "default") {
+ && font_encoding() != "default") {
os << "\\usepackage";
if (osf || sc) {
os << '[';