X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetfoot.C;h=b9be27578b7835d9ee2798557114dcf6c0365da1;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=46a2caa7cf637b0f5f202e627d14a0a83bea1ea8;hpb=44cd0fc9a1687cc63911c7f98d978594458e7813;p=lyx.git diff --git a/src/insets/insetfoot.C b/src/insets/insetfoot.C index 46a2caa7cf..b9be27578b 100644 --- a/src/insets/insetfoot.C +++ b/src/insets/insetfoot.C @@ -14,16 +14,18 @@ #include "insetfoot.h" #include "gettext.h" -#include "latexrunparams.h" // the following are needed just to get the layout of the enclosing // paragraph. This seems a bit too much to me (JMarc) #include "lyxlayout.h" +#include "outputparams.h" #include "paragraph.h" #include "paragraph_funcs.h" #include "support/std_ostream.h" +namespace lyx { + using std::string; using std::auto_ptr; using std::ostream; @@ -33,7 +35,7 @@ InsetFoot::InsetFoot(BufferParams const & bp) : InsetFootlike(bp) { setLabel(_("foot")); - setInsetName("Foot"); + setInsetName(from_ascii("Foot")); } @@ -41,42 +43,52 @@ InsetFoot::InsetFoot(InsetFoot const & in) : InsetFootlike(in) { setLabel(_("foot")); - setInsetName("Foot"); + setInsetName(from_ascii("Foot")); } -auto_ptr InsetFoot::clone() const +auto_ptr InsetFoot::doClone() const { return auto_ptr(new InsetFoot(*this)); } -string const InsetFoot::editMessage() const +docstring const InsetFoot::editMessage() const { return _("Opened Footnote Inset"); } -int InsetFoot::latex(Buffer const & buf, ostream & os, - LatexRunParams const & runparams_in) const +int InsetFoot::latex(Buffer const & buf, odocstream & os, + OutputParams const & runparams_in) const { - LatexRunParams runparams = runparams_in; - runparams.moving_arg |= ownerPar(buf, this).layout()->intitle; - - os << "%\n\\footnote{"; - - int const i = inset.latex(buf, os, runparams); + OutputParams runparams = runparams_in; + // footnotes in titling commands like \title have moving arguments + runparams.moving_arg |= runparams_in.intitle; + + // in titling commands, \thanks should be used instead of \footnote. + // some classes (e.g. memoir) do not understand \footnote. + if (runparams_in.intitle) + os << "%\n\\thanks{"; + else + os << "%\n\\footnote{"; + + int const i = InsetText::latex(buf, os, runparams); os << "%\n}"; return i + 2; } -int InsetFoot::docbook(Buffer const & buf, ostream & os, bool mixcont) const +int InsetFoot::docbook(Buffer const & buf, odocstream & os, + OutputParams const & runparams) const { os << ""; - int const i = inset.docbook(buf, os, mixcont); + int const i = InsetText::docbook(buf, os, runparams); os << ""; return i; } + + +} // namespace lyx