X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBiblioInfo.h;h=61e525d2d994bbc0a6968104b1caf48303c192de;hb=5b84f11f80d1ec160dbfa312bc2358cfd7abec72;hp=af55c44e094a7c639ea85054a8b5070fcc20b4db;hpb=3a0d1d10498534e1dda6aba9f5e827a63a02df17;p=lyx.git diff --git a/src/BiblioInfo.h b/src/BiblioInfo.h index af55c44e09..61e525d2d9 100644 --- a/src/BiblioInfo.h +++ b/src/BiblioInfo.h @@ -55,11 +55,16 @@ public: BibTeXInfo(bool ib) : is_bibtex_(ib), modifier_(0) {} /// constructor that sets the entryType BibTeXInfo(docstring const & key, docstring const & type); - /// \return the short form of an authorlist, used for sorting - /// this will be translated to the UI language if buf is null + /// \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 getAbbreviatedAuthor( - Buffer const * buf = 0, bool jurabib_style = 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. @@ -178,8 +183,8 @@ public: std::vector const getFields() const; /// \return a sorted vector of BibTeX entry types in use std::vector const getEntries() const; - /// \return the short form of an authorlist - docstring const getAbbreviatedAuthor(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). @@ -217,10 +222,16 @@ public: /// 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> 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 const getCiteStrings(std::vector 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 const & keys, std::vector const & styles, Buffer const & buf, CiteItem const & ci) const; /// A list of BibTeX keys cited in the current document, sorted by