\\subfloat captions are moving arguments

Therefore insets should be protected in these captions.

Fixes bug: #9346.
This commit is contained in:
Jean-Marc Lasgouttes 2014-12-04 17:27:56 +01:00
parent 43c0149796
commit 0bdfca2c6e

View File

@ -337,8 +337,9 @@ void InsetFloat::latex(otexstream & os, OutputParams const & runparams_in) const
if (runparams_in.moving_arg) if (runparams_in.moving_arg)
os << "\\protect"; os << "\\protect";
os << "\\subfloat"; os << "\\subfloat";
OutputParams rp = runparams_in; OutputParams rp = runparams_in;
rp.moving_arg = true;
docstring const caption = getCaption(rp); docstring const caption = getCaption(rp);
if (!caption.empty()) { if (!caption.empty()) {
os << caption; os << caption;
@ -347,7 +348,7 @@ void InsetFloat::latex(otexstream & os, OutputParams const & runparams_in) const
rp.inFloat = OutputParams::SUBFLOAT; rp.inFloat = OutputParams::SUBFLOAT;
InsetText::latex(os, rp); InsetText::latex(os, rp);
os << "}"; os << "}";
return; return;
} }
OutputParams runparams(runparams_in); OutputParams runparams(runparams_in);