return private_char;
}
+docstring stripOuterBraces(docstring & str)
+{
+ // trim only first and last occurrence of { and }
+ if (prefixIs(str, from_ascii("{")))
+ str = str.substr(1, docstring::npos);
+ if (suffixIs(str, from_ascii("}")))
+ str = str.substr(0, str.size() - 1);
+ return str;
+}
+
} // namespace
language = opts[i].substr(9);
opts.erase(opts.begin() + i--);
} else if (prefixIs(opts[i], from_ascii("caption="))) {
- caption = params().prepareCommand(runparams, trim(opts[i].substr(8), "{}"),
+ caption = opts[i].substr(8);
+ caption = params().prepareCommand(runparams, stripOuterBraces(caption),
ParamInfo::HANDLING_LATEXIFY);
opts.erase(opts.begin() + i--);
if (!use_minted)
latexed_opts.push_back(from_ascii("caption={") + caption + "}");
} else if (prefixIs(opts[i], from_ascii("label="))) {
- label = params().prepareCommand(runparams, trim(opts[i].substr(6), "{}"),
+ label = opts[i].substr(6);
+ label = params().prepareCommand(runparams, stripOuterBraces(label),
ParamInfo::HANDLING_ESCAPE);
opts.erase(opts.begin() + i--);
if (!use_minted)
}
if (use_minted && !label.empty()) {
if (isfloat || !caption.empty())
- label = trim(label, "{}");
+ label = stripOuterBraces(label);
else
opts.push_back(from_ascii("label=") + label);
}