#include "BufferParams.h"
#include "BufferView.h"
#include "DispatchResult.h"
-#include "FuncRequest.h"
#include "LaTeXFeatures.h"
#include "output_xhtml.h"
#include "ParIterator.h"
InsetCitation::InsetCitation(Buffer * buf, InsetCommandParams const & p)
- : InsetCommand(buf, p, "citation")
+ : InsetCommand(buf, p)
{}
vector<docstring>::const_iterator en = keys.end();
docstring tip;
for (; it != en; ++it) {
- docstring const key_info = bi.getInfo(*it);
+ docstring const key_info = bi.getInfo(*it, buffer());
if (key_info.empty())
continue;
if (!tip.empty())
}
-void InsetCitation::updateLabels(ParIterator const &, UpdateType)
+void InsetCitation::updateBuffer(ParIterator const &, UpdateType)
{
CiteEngine const engine = buffer().params().citeEngine();
if (cache.params == params() && cache.engine == engine)
docstring label = glabel;
if (label.size() > maxLabelChars) {
- label.erase(maxLabelChars-3);
+ label.erase(maxLabelChars - 3);
label += "...";
}
void InsetCitation::addToToc(DocIterator const & cpit)
{
+ // NOTE
+ // XHTML output uses the TOC to collect the citations
+ // from the document. So if this gets changed, then we
+ // will need to change how the citations are collected.
+ docstring const tocitem = getParam("key");
Toc & toc = buffer().tocBackend().toc("citation");
- toc.push_back(TocItem(cpit, 0, getParam("key")));
+ toc.push_back(TocItem(cpit, 0, tocitem));
}