X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBiblioInfo.h;h=efe4bff233948d61e5785959e87a0f2815bd320f;hb=c393abbe12c360eec07a3dcbb5929e6b7c0ad329;hp=24fa2caa27ab60aeb18bf5d6c9acaa9a08ba496a;hpb=206ca457517a7d6a2c92c23cf59f9e59241fb698;p=lyx.git diff --git a/src/BiblioInfo.h b/src/BiblioInfo.h index 24fa2caa27..efe4bff233 100644 --- a/src/BiblioInfo.h +++ b/src/BiblioInfo.h @@ -61,7 +61,8 @@ public: docstring const getXRef() const; /// \return formatted BibTeX data suitable for framing. /// \param pointer to crossref information - docstring const & getInfo(BibTeXInfo const * const xref = 0) const; + docstring const & getInfo(BibTeXInfo const * const xref, + Buffer const & buf, bool richtext) const; /// const_iterator find(docstring const & f) const { return bimap_.find(f); } /// @@ -113,7 +114,16 @@ private: /// {%key%[[format]]}, which prints format if key is non-empty /// the latter may optionally contain an `else' clause as well: /// {%key%[[if format]][[else format]]} - docstring expandFormat(docstring const & fmt, BibTeXInfo const * const xref) const; + /// material intended only for rich text (HTML) output should be + /// wrapped in "{!" and "!}". it will be removed if richtext is + /// false. + /// a simple macro facility is also available. keys that look like + /// "%!key%" are substituted with their definition. + /// moreover, keys that look like "%_key%" are treated as translatable + /// so that things like "pp." and "vol." can be translated. + docstring expandFormat(std::string const & fmt, + BibTeXInfo const * const xref, int & counter, + Buffer const & buf, bool richtext) const; /// true if from BibTeX; false if from bibliography environment bool is_bibtex_; /// the BibTeX key for this entry @@ -163,7 +173,10 @@ public: /// \return formatted BibTeX data associated with a given key. /// Empty if no info exists. /// Note that this will retrieve data from the crossref as needed. - docstring const getInfo(docstring const & key) const; + /// If \param richtext is true, then it will output any richtext tags + /// marked in the citation format and escape < and > elsewhere. + docstring const getInfo(docstring const & key, Buffer const & buf, + bool richtext = false) const; /// Is this a reference from a bibtex database /// or from a bibliography environment? bool isBibtex(docstring const & key) const;