BibTeXInfo(bool ib) : is_bibtex_(ib), modifier_(0) {}
/// constructor that sets the entryType
BibTeXInfo(docstring const & key, docstring const & type);
- /// \return the an authorlist (short form by default),
+ /// \return an author or editor list (short form by default),
/// used for sorting.
/// This will be translated to the UI language if buf is null
/// otherwise, it will be translated to the buffer language.
- docstring const getAuthorList(Buffer const * buf = 0, bool full = false,
- bool forceshort = false) const;
+ docstring const getAuthorOrEditorList(Buffer const * buf = 0,
+ bool full = false, bool forceshort = false) const;
+ /// Same for a specific author role (editor, author etc.)
+ docstring const getAuthorList(Buffer const * buf, docstring const & author,
+ bool const full = false, bool const forceshort = false,
+ bool const allnames = false, bool const beginning = true) const;
///
docstring const getYear() const;
/// \return formatted BibTeX data suitable for framing.
std::vector<docstring> const getFields() const;
/// \return a sorted vector of BibTeX entry types in use
std::vector<docstring> const getEntries() const;
- /// \return authorlist (abbreviated form by default)
- docstring const getAuthorList(docstring const & key, Buffer const & buf) const;
+ /// \return author or editor list (abbreviated form by default)
+ docstring const getAuthorOrEditorList(docstring const & key, Buffer const & buf) const;
/// \return the year from the bibtex data record for \param key
/// if \param use_modifier is true, then we will also append any
/// modifier for this entry (e.g., 1998b).
/// Is this a reference from a bibtex database
/// or from a bibliography environment?
bool isBibtex(docstring const & key) const;
+ /// A vector holding a pair of lyx cite command and the respective
+ /// output for a given (list of) key(s).
+ typedef std::vector<std::pair<docstring,docstring>> CiteStringMap;
/// Translates the available citation styles into strings for a given
/// list of keys, using either numerical or author-year style depending
- /// upon the active engine.
- std::vector<docstring> const getCiteStrings(std::vector<docstring> const & keys,
+ /// upon the active engine. The function returns a CiteStringMap with the first
+ /// element being the lyx cite command, the second being the formatted
+ /// citation reference.
+ CiteStringMap const getCiteStrings(
+ std::vector<docstring> const & keys,
std::vector<CitationStyle> const & styles, Buffer const & buf,
CiteItem const & ci) const;
/// A list of BibTeX keys cited in the current document, sorted by