if (label[previous] != '{')
label.replace(pos, 1, lbrace + brackets_escape[k] + rbrace);
}
+ }
- if (old_label != label) {
- p["label"] = label;
- cur.forceBufferUpdate();
- buffer().invalidateBibinfoCache();
- }
+ if (old_label != label) {
+ p["label"] = label;
+ cur.forceBufferUpdate();
+ buffer().invalidateBibinfoCache();
}
setParam("label", p["label"]);
docstring latex_lbl;
for (size_t n = 0; n < lbl.size(); ++n) {
try {
- latex_lbl += runparams.encoding->latexChar(lbl[n]);
+ latex_lbl += runparams.encoding->latexChar(lbl[n]).first;
} catch (EncodingException & /* e */) {
if (runparams.dryrun) {
latex_lbl += "<" + _("LyX Warning: ")
void InsetBibitem::collectBibKeys(InsetIterator const & it) const
{
docstring const key = getParam("key");
+ docstring const label = getParam("label");
BibTeXInfo keyvalmap(false);
- keyvalmap.label(bibLabel());
+ keyvalmap.key(key);
+ keyvalmap.label(label);
DocIterator doc_it(it);
doc_it.forwardPos();
- keyvalmap[from_ascii("ref")] = doc_it.paragraph().asString();
+ keyvalmap[from_ascii("ref")] = doc_it.paragraph().asString(
+ AS_STR_INSETS | AS_STR_SKIPDELETE);
buffer().addBibTeXInfo(key, keyvalmap);
}