X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetoptarg.C;h=9c2d88c75a1761655d53a814adcbbf6753dfd78a;hb=6ae4dc23f47b751abcb418094b1bdf31331d239c;hp=ed829859cbcf81be43f929929cbed14e3a946893;hpb=0d43ba149a41e8860dde316ccbd4336d6b0bbdfa;p=lyx.git diff --git a/src/insets/insetoptarg.C b/src/insets/insetoptarg.C index ed829859cb..9c2d88c75a 100644 --- a/src/insets/insetoptarg.C +++ b/src/insets/insetoptarg.C @@ -17,10 +17,12 @@ #include "LColor.h" #include "paragraph.h" +#include using std::string; using std::auto_ptr; using std::ostream; +using std::ostringstream; InsetOptArg::InsetOptArg(BufferParams const & ins) @@ -72,8 +74,11 @@ int InsetOptArg::latex(Buffer const &, ostream &, int InsetOptArg::latexOptional(Buffer const & buf, ostream & os, OutputParams const & runparams) const { - os << '['; - int const i = InsetText::latex(buf, os, runparams); - os << ']'; - return i + 2; + ostringstream ss; + int ret = InsetText::latex(buf, ss, runparams); + string str = ss.str(); + if (str.find(']') != string::npos) + str = '{' + str + '}'; + os << '[' << str << ']'; + return ret; }