///
void setAllData(docstring const & d) { all_data_ = d; }
///
+ void label(docstring const & d) { label_= d; }
+ ///
+ docstring const & label() const { return label_; }
+ ///
+ docstring const & key() const { return bib_key_; }
+ ///
+ docstring citeKey() const { return cite_key_; }
+ ///
+ void setCiteKey(docstring const & k) { cite_key_ = k; }
+ ///
docstring entryType() const { return entry_type_; }
+ ///
+ bool isBibTeX() const { return is_bibtex_; }
private:
/// like operator[], except, if the field is empty, it will attempt
/// to get the data from xref BibTeXInfo object, which would normally
bool is_bibtex_;
/// the BibTeX key for this entry
docstring bib_key_;
+ /// the label that will appear in citations
+ /// this is easily set from bibliography environments, but has
+ /// to be calculated for entries we get from BibTeX
+ docstring label_;
/// a single string containing all BibTeX data associated with this key
docstring all_data_;
/// the BibTeX entry type (article, book, incollection, ...)
docstring entry_type_;
/// a cache for getInfo()
mutable docstring info_;
+ /// key to use when citing this entry
+ /// currently used only by XHTML output routines
+ docstring cite_key_;
/// our map: <field, value>
std::map <docstring, docstring> bimap_;
};
*/
std::vector<docstring> const
getAuthorYearStrings(docstring const & key, Buffer const & buf) const;
+ /// Collects the cited entries from buf.
+ void collectCitedEntries(Buffer const & buf);
+ /// A list of BibTeX keys cited in the current document, sorted by
+ /// the last name of the author.
+ std::vector<docstring> const & citedEntries() const { return cited_entries_; }
+ ///
+ void makeCitationLabels(Buffer const & buf);
///
const_iterator begin() const { return bimap_.begin(); }
///
std::set<docstring> entry_types_;
/// our map: keys --> BibTeXInfo
std::map<docstring, BibTeXInfo> bimap_;
+ /// a possibly sorted list of entries cited in our Buffer.
+ /// do not try to make this a vector<BibTeXInfo *> or anything of
+ /// the sort, because reloads will invalidate those pointers.
+ std::vector<docstring> cited_entries_;
};
} // namespace lyx