}
// build the keylist only if the bibfiles have been changed
- if (cached_keys.empty() || bibfileStatus.empty() || changed) {
+ if (cached_keys[&buffer].empty() || bibfileStatus.empty() || changed) {
typedef vector<std::pair<string, docstring> > InfoType;
InfoType bibkeys;
buffer.fillWithBibKeys(bibkeys);
docstring const after = getParam("after");
docstring label;
- biblio::CiteEngine const engine = buffer.params().cite_engine;
+ biblio::CiteEngine const engine = buffer.params().getEngine();
if (engine != biblio::ENGINE_BASIC) {
// FIXME UNICODE
label = getNatbibLabel(buffer, getCmdName(), to_utf8(getParam("key")),
docstring const InsetCitation::getScreenLabel(Buffer const & buffer) const
{
- biblio::CiteEngine const engine = biblio::getEngine(buffer);
+ biblio::CiteEngine const engine = buffer.params().getEngine();
if (cache.params == params() && cache.engine == engine)
return cache.screen_label;
int InsetCitation::plaintext(Buffer const & buffer, odocstream & os,
OutputParams const &) const
{
+ docstring str;
+
if (cache.params == params() &&
- cache.engine == biblio::getEngine(buffer))
- os << cache.generated_label;
+ cache.engine == buffer.params().getEngine())
+ str = cache.generated_label;
else
- os << generateLabel(buffer);
- return 0;
+ str = generateLabel(buffer);
+
+ os << str;
+ return str.size();
}
// end anon namyspace
}
-int InsetCitation::docbook(Buffer const &, odocstream & os, OutputParams const &) const
+int InsetCitation::docbook(Buffer const &, odocstream & os,
+ OutputParams const &) const
{
os << "<citation>"
<< cleanupWhitespace(getParam("key"))
// citations and then changes his mind, turning natbib support off. The output
// should revert to \cite[]{}
int InsetCitation::latex(Buffer const & buffer, odocstream & os,
- OutputParams const &) const
+ OutputParams const &) const
{
- biblio::CiteEngine const cite_engine = buffer.params().cite_engine;
+ biblio::CiteEngine cite_engine = buffer.params().getEngine();
// FIXME UNICODE
docstring const cite_str = from_utf8(
biblio::asValidLatexCommand(getCmdName(), cite_engine));
void InsetCitation::validate(LaTeXFeatures & features) const
{
- switch (features.bufferParams().cite_engine) {
+ switch (features.bufferParams().getEngine()) {
case biblio::ENGINE_BASIC:
break;
case biblio::ENGINE_NATBIB_AUTHORYEAR: