"}\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");
"\\pdfpageheight\\paperheight\n"
"\\pdfpagewidth\\paperwidth\n");
+static docstring const papersizepdflua_def = from_ascii(
+ "% Backwards compatibility for LuaTeX < 0.90\n"
+ "\\@ifundefined{pageheight}{\\let\\pageheight\\pdfpageheight}{}\n"
+ "\\@ifundefined{pagewidth}{\\let\\pagewidth\\pdfpagewidth}{}\n"
+ "\\pageheight\\paperheight\n"
+ "\\pagewidth\\paperwidth\n");
+
static docstring const cedilla_def = from_ascii(
"\\newcommand{\\docedilla}[2]{\\underaccent{#1\\mathchar'30}{#2}}\n"
"\\newcommand{\\cedilla}[1]{\\mathpalette\\docedilla{#1}}\n");
}
-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);
}
if (mustProvide("footmisc"))
packages << "\\PassOptionsToPackage{stable}{footmisc}\n";
+ if (mustProvide("microtype")){
+ packages << "\\usepackage{microtype}\n";
+ }
+
return packages.str();
}
}
if (mustProvide("papersize")) {
- if (runparams_.flavor == OutputParams::LATEX)
+ if (runparams_.flavor == OutputParams::LATEX
+ || runparams_.flavor == OutputParams::DVILUATEX)
macros << papersizedvi_def << '\n';
+ else if (runparams_.flavor == OutputParams::LUATEX)
+ macros << papersizepdflua_def << '\n';
else
macros << papersizepdf_def << '\n';
}
// other
if (mustProvide("ParagraphLeftIndent"))
macros << paragraphleftindent_def;
+ if (mustProvide("NeedLyXFootnoteCode"))
+ macros << floatingfootnote_def;
// some problems with tex->html converters
if (mustProvide("NeedTabularnewline"))