本文整理汇总了C++中LaTeXFeatures类的典型用法代码示例。如果您正苦于以下问题:C++ LaTeXFeatures类的具体用法?C++ LaTeXFeatures怎么用?C++ LaTeXFeatures使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了LaTeXFeatures类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: validate
void InsetSpecialChar::validate(LaTeXFeatures & features) const
{
if (kind_ == MENU_SEPARATOR)
features.require("lyxarrow");
if (kind_ == NOBREAKDASH)
features.require("amsmath");
}
示例2: validate
// ideas borrowed from the eLyXer code
void InsetMathDecoration::validate(LaTeXFeatures & features) const
{
if (features.runparams().math_flavor == OutputParams::MathAsHTML) {
string const name = to_utf8(key_->name);
if (name == "bar") {
features.addPreambleSnippet("<style type=\"text/css\">\n"
"span.overbar{border-top: thin black solid;}\n"
"</style>");
} else if (name == "underbar" || name == "underline") {
features.addPreambleSnippet("<style type=\"text/css\">\n"
"span.underbar{border-bottom: thin black solid;}\n"
"</style>");
} else {
features.addPreambleSnippet("<style type=\"text/css\">\n"
"span.symbolpair{display: inline-block; text-align:center;}\n"
"span.symontop{vertical-align: top;}\n"
"span.symonbot{vertical-align: bottom;}\n"
"span.symbolpair span{display: block;}\n"
"span.symbol{height: 0.5ex;}\n"
"</style>");
}
} else {
if (!key_->requires.empty())
features.require(to_utf8(key_->requires));
}
InsetMathNest::validate(features);
}
示例3: validate
void InsetTOC::validate(LaTeXFeatures & features) const
{
InsetCommand::validate(features);
features.useInsetLayout(getLayout());
if (getCmdName() == "lstlistoflistings")
features.require("listings");
}
示例4: validate
void InsetWrap::validate(LaTeXFeatures & features) const
{
features.require("wrapfig");
features.inFloat(true);
InsetCollapsable::validate(features);
features.inFloat(false);
}
示例5: validate
void InsetMathSqrt::validate(LaTeXFeatures & features) const
{
if (features.runparams().math_flavor == OutputParams::MathAsHTML)
features.addPreambleSnippet("<style type=\"text/css\">\n"
"span.sqrtof{border-top: thin solid black;}\n"
"</style>");
InsetMathNest::validate(features);
}
示例6: validate
void InsetMathBig::validate(LaTeXFeatures & features) const
{
if (features.runparams().math_flavor == OutputParams::MathAsHTML)
features.addCSSSnippet(
"span.bigsymbol{font-size: 150%;}\n"
"span.biggsymbol{font-size: 200%;}\n"
"span.bigggsymbol{font-size: 225%;}");
}
示例7: validate
void InsetListings::validate(LaTeXFeatures & features) const
{
features.require("listings");
string param_string = params().params();
if (param_string.find("\\color") != string::npos)
features.require("color");
InsetCollapsable::validate(features);
}
示例8: validate
void InsetMathBig::validate(LaTeXFeatures & features) const
{
if (features.runparams().math_flavor == OutputParams::MathAsHTML)
features.addPreambleSnippet("<style type=\"text/css\">\n"
"span.bigsymbol{font-size: 150%;}\n"
"span.biggsymbol{font-size: 200%;}\n"
"span.bigggsymbol{font-size: 225%;}\n"
"</style>");
}
示例9: validate
void InsetMathSplit::validate(LaTeXFeatures & features) const
{
if (name_ == "split" || name_ == "gathered" || name_ == "aligned" ||
name_ == "alignedat" || name_ == "align")
features.require("amsmath");
else if (name_ == "lgathered" || name_ == "rgathered")
features.require("mathtools");
InsetMathGrid::validate(features);
}
示例10: validate
void Font::validate(LaTeXFeatures & features) const
{
BufferParams const & bparams = features.bufferParams();
Language const * doc_language = bparams.language;
if (bits_.noun() == FONT_ON) {
LYXERR(Debug::LATEX, "font.noun: " << bits_.noun());
features.require("noun");
LYXERR(Debug::LATEX, "Noun enabled. Font: " << to_utf8(stateText(0)));
}
if (bits_.underbar() == FONT_ON) {
LYXERR(Debug::LATEX, "font.underline: " << bits_.underbar());
features.require("ulem");
LYXERR(Debug::LATEX, "Underline enabled. Font: " << to_utf8(stateText(0)));
}
if (bits_.strikeout() == FONT_ON) {
LYXERR(Debug::LATEX, "font.strikeout: " << bits_.strikeout());
features.require("ulem");
LYXERR(Debug::LATEX, "Strikeout enabled. Font: " << to_utf8(stateText(0)));
}
if (bits_.uuline() == FONT_ON) {
LYXERR(Debug::LATEX, "font.uuline: " << bits_.uuline());
features.require("ulem");
LYXERR(Debug::LATEX, "Double underline enabled. Font: " << to_utf8(stateText(0)));
}
if (bits_.uwave() == FONT_ON) {
LYXERR(Debug::LATEX, "font.uwave: " << bits_.uwave());
features.require("ulem");
LYXERR(Debug::LATEX, "Wavy underline enabled. Font: " << to_utf8(stateText(0)));
}
switch (bits_.color()) {
case Color_none:
case Color_inherit:
case Color_ignore:
// probably we should put here all interface colors used for
// font displaying! For now I just add this ones I know of (Jug)
case Color_latex:
case Color_notelabel:
break;
default:
features.require("color");
LYXERR(Debug::LATEX, "Color enabled. Font: " << to_utf8(stateText(0)));
}
// FIXME: Do something for background and soul package?
if (((features.usePolyglossia() && lang_->polyglossia() != doc_language->polyglossia())
|| (features.useBabel() && lang_->babel() != doc_language->babel())
|| (doc_language->encoding()->package() == Encoding::CJK && lang_ != doc_language))
&& lang_ != ignore_language
&& lang_ != latex_language)
{
features.useLanguage(lang_);
LYXERR(Debug::LATEX, "Found language " << lang_->lang());
}
}
示例11: validate
void InsetMathAMSArray::validate(LaTeXFeatures & features) const
{
if (name_ == "CD")
// amscd is independent of amsmath although it is part of
// the amsmath bundle
features.require("amscd");
else
features.require("amsmath");
InsetMathGrid::validate(features);
}
示例12: validate
void InsetRef::validate(LaTeXFeatures & features) const
{
string const cmd = getCmdName();
if (cmd == "vref" || cmd == "vpageref")
features.require("varioref");
else if (cmd == "formatted") {
docstring const data = getEscapedLabel(features.runparams());
docstring label;
docstring prefix;
string const fcmd = to_utf8(getFormattedCmd(data, label, prefix));
if (buffer().params().use_refstyle) {
features.require("refstyle");
if (prefix == "cha")
features.addPreambleSnippet("\\let\\charef=\\chapref");
else if (!prefix.empty()) {
string lcmd = "\\AtBeginDocument{\\providecommand" +
fcmd + "[1]{\\ref{" + to_utf8(prefix) + ":#1}}}";
features.addPreambleSnippet(lcmd);
}
} else {
features.require("prettyref");
// prettyref uses "cha" for chapters, so we provide a kind of
// translation.
if (prefix == "chap")
features.addPreambleSnippet("\\let\\[email protected]=\\[email protected]");
}
} else if (cmd == "eqref" && !buffer().params().use_refstyle)
// with refstyle, we simply output "(\ref{label})"
features.require("amsmath");
else if (cmd == "nameref")
features.require("nameref");
}
示例13: validate
void InsetTOC::validate(LaTeXFeatures & features) const
{
InsetCommand::validate(features);
features.useInsetLayout(getLayout());
if (getCmdName() == "lstlistoflistings") {
if (buffer().params().use_minted)
features.require("minted");
else
features.require("listings");
}
}
示例14: validate
void InsetMathCases::validate(LaTeXFeatures & features) const
{
features.require("amsmath");
InsetMathGrid::validate(features);
if (features.runparams().math_flavor == OutputParams::MathAsHTML)
// CSS based on eLyXer's
features.addCSSSnippet(
"table.cases{display: inline-block; text-align: center;"
"border-left: thin solid black; vertical-align: middle; padding-left: 0.5ex;}\n"
"table.cases td {text-align: left;}");
}
示例15: validate
void InsetSpecialChar::validate(LaTeXFeatures & features) const
{
if (kind_ == ALLOWBREAK)
features.require("lyxzerowidthspace");
if (kind_ == MENU_SEPARATOR)
features.require("lyxarrow");
if (kind_ == NOBREAKDASH)
features.require("amsmath");
if (kind_ == PHRASE_LYX)
features.require("LyX");
}