X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLaTeXFeatures.cpp;h=16ec4c19864517ca3e0c76aa66e652ad0b87a86f;hb=458d2015dc311844a9533ac838a2f81b0a83069f;hp=feab83769981c4c9416dafbb7d6a9e70c5cd9132;hpb=0eb9477be7998f8d66b4fe5c8948de5a22261e1e;p=lyx.git diff --git a/src/LaTeXFeatures.cpp b/src/LaTeXFeatures.cpp index feab837699..16ec4c1986 100644 --- a/src/LaTeXFeatures.cpp +++ b/src/LaTeXFeatures.cpp @@ -134,6 +134,24 @@ static docstring const paragraphleftindent_def = from_ascii( "}\n" "{\\end{list}}\n"); +static docstring const floatingfootnote_def = from_ascii( + "%% Special footnote code from the package 'stblftnt.sty'\n" + "%% Author: Robin Fairbairns -- Last revised Dec 13 1996\n" + "\\let\\SF@@footnote\\footnote\n" + "\\def\\footnote{\\ifx\\protect\\@typeset@protect\n" + " \\expandafter\\SF@@footnote\n" + " \\else\n" + " \\expandafter\\SF@gobble@opt\n" + " \\fi\n" + "}\n" + "\\expandafter\\def\\csname SF@gobble@opt \\endcsname{\\@ifnextchar[%]\n" + " \\SF@gobble@twobracket\n" + " \\@gobble\n" + "}\n" + "\\edef\\SF@gobble@opt{\\noexpand\\protect\n" + " \\expandafter\\noexpand\\csname SF@gobble@opt \\endcsname}\n" + "\\def\\SF@gobble@twobracket[#1]#2{}\n"); + static docstring const binom_def = from_ascii( "%% Binom macro for standard LaTeX users\n" "\\newcommand{\\binom}[2]{{#1 \\choose #2}}\n"); @@ -382,14 +400,14 @@ LaTeXFeatures::LangPackage LaTeXFeatures::langPackage() const if (local_lp == "none") return LANG_PACK_NONE; - /* If "auto" is selected, we load polyglossia if required, + /* If "auto" is selected, we load polyglossia with non-TeX fonts, * else we select babel. * If babel is selected (either directly or via the "auto" * mechanism), we really do only require it if we have * a language that needs it. */ bool const polyglossia_required = - isRequired("polyglossia") + params_.useNonTeXFonts && isAvailable("polyglossia") && !isProvided("babel") && this->hasOnlyPolyglossiaLanguages(); @@ -561,11 +579,12 @@ bool LaTeXFeatures::isAvailable(string const & name) } -void LaTeXFeatures::addPreambleSnippet(string const & preamble) +void LaTeXFeatures::addPreambleSnippet(string const & preamble, + bool allowdupes) { SnippetList::const_iterator begin = preamble_snippets_.begin(); SnippetList::const_iterator end = preamble_snippets_.end(); - if (find(begin, end, preamble) == end) + if (allowdupes || find(begin, end, preamble) == end) preamble_snippets_.push_back(preamble); } @@ -1114,6 +1133,10 @@ string const LaTeXFeatures::getPackages() const if (mustProvide("footmisc")) packages << "\\PassOptionsToPackage{stable}{footmisc}\n"; + if (mustProvide("microtype")){ + packages << "\\usepackage{microtype}\n"; + } + return packages.str(); } @@ -1256,6 +1279,8 @@ docstring const LaTeXFeatures::getMacros() const // other if (mustProvide("ParagraphLeftIndent")) macros << paragraphleftindent_def; + if (mustProvide("NeedLyXFootnoteCode")) + macros << floatingfootnote_def; // some problems with tex->html converters if (mustProvide("NeedTabularnewline"))