- for (; it != en; ++it) {
- docstring const key_info = bi.getInfo(*it, buffer());
+ tip += "<ol>";
+ for (docstring const & key : keys) {
+ docstring const key_info = bi.getInfo(key, buffer(), true);
// The label may have changed, so we have to re-create it.
docstring const glabel = generateLabel();
// The label may have changed, so we have to re-create it.
docstring const glabel = generateLabel();
- cache.screen_label = label;
+ unsigned int const maxLabelChars = 45;
+ cache.screen_label = glabel.substr(0, maxLabelChars + 1);
+ support::truncateWithEllipsis(cache.screen_label, maxLabelChars);
// by both XHTML and plaintext output. So, if we change what goes into the TOC,
// then we will also need to change that routine.
docstring const tocitem = getParam("key");
// by both XHTML and plaintext output. So, if we change what goes into the TOC,
// then we will also need to change that routine.
docstring const tocitem = getParam("key");
- Toc & toc = buffer().tocBackend().toc("citation");
- toc.push_back(TocItem(cpit, 0, tocitem, output_active));
+ shared_ptr<Toc> toc = buffer().tocBackend().toc("citation");
+ toc->push_back(TocItem(cpit, 0, tocitem, output_active));