X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBiblioInfo.h;h=791f9cf40072032a2e1cb8b3992850c8a5cacae0;hb=167eea3990a1a2b5e64ab05ebb26986e76c3b160;hp=1a1f324242833220ff8bf7d1a45f5dcf674d134e;hpb=f6d4bce12303a2f30ea129ee86e7f7d879668260;p=lyx.git diff --git a/src/BiblioInfo.h b/src/BiblioInfo.h index 1a1f324242..791f9cf400 100644 --- a/src/BiblioInfo.h +++ b/src/BiblioInfo.h @@ -55,22 +55,26 @@ 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. /// \param vector of pointers to crossref/xdata information docstring const & getInfo(BibTeXInfoList const xrefs, - Buffer const & buf, bool richtext) const; + Buffer const & buf, CiteItem const & ci) const; /// \return formatted BibTeX data for a citation label docstring const getLabel(BibTeXInfoList const xrefs, - Buffer const & buf, docstring const & format, bool richtext, - const docstring & before, const docstring & after, - const docstring & dialog, bool next = false) const; + Buffer const & buf, docstring const & format, + CiteItem const & ci, bool next = false, bool second = false) const; /// const_iterator find(docstring const & f) const { return bimap_.find(f); } /// @@ -116,8 +120,7 @@ private: /// to get the data from xref BibTeXInfo objects, which would normally /// be the one referenced in the crossref or xdata field. docstring getValueForKey(std::string const & key, Buffer const & buf, - docstring const & before, docstring const & after, docstring const & dialog, - BibTeXInfoList const xrefs, size_t maxsize = 4096) const; + CiteItem const & ci, BibTeXInfoList const xrefs, size_t maxsize = 4096) const; /// replace %keys% in a format string with their values /// called from getInfo() /// format strings may contain: @@ -136,9 +139,8 @@ private: /// so that things like "pp." and "vol." can be translated. docstring expandFormat(docstring const & fmt, BibTeXInfoList const xrefs, int & counter, - Buffer const & buf, docstring before = docstring(), - docstring after = docstring(), docstring dialog = docstring(), - bool next = false) const; + Buffer const & buf, CiteItem const & ci, + bool next = false, bool second = false) const; /// true if from BibTeX; false if from bibliography environment bool is_bibtex_; /// the BibTeX key for this entry @@ -181,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). @@ -208,16 +210,15 @@ public: /// \return formatted BibTeX data associated with a given key. /// Empty if no info exists. /// Note that this will retrieve data from the crossref or xdata as needed. - /// If \param richtext is true, then it will output any richtext tags - /// marked in the citation format and escape < and > elsewhere. + /// \param ci contains further context information, such as if it should + /// output any richtext tags marked in the citation format and escape < and > + /// elsewhere, and the general output context. docstring const getInfo(docstring const & key, Buffer const & buf, - bool richtext = false) const; + CiteItem const & ci) const; /// \return formatted BibTeX data for citation labels. /// Citation labels can have more than one key. - docstring const getLabel(std::vector keys, - Buffer const & buf, std::string const & style, bool for_xhtml, - size_t max_size, docstring const & before, docstring const & after, - docstring const & dialog = docstring()) const; + docstring const getLabel(std::vector keys, Buffer const & buf, + std::string const & style, CiteItem const & ci) const; /// Is this a reference from a bibtex database /// or from a bibliography environment? bool isBibtex(docstring const & key) const; @@ -226,8 +227,7 @@ public: /// upon the active engine. std::vector const getCiteStrings(std::vector const & keys, std::vector const & styles, Buffer const & buf, - docstring const & before, docstring const & after, docstring const & dialog, - size_t max_size) const; + CiteItem const & ci) const; /// A list of BibTeX keys cited in the current document, sorted by /// the last name of the author. /// Make sure you have called collectCitedEntries() before you try to