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); }
///
/// be the one referenced in the crossref field.
docstring getValueForKey(std::string const & key,
BibTeXInfo const * const xref = 0) const;
+ /// replace %keys% in a format string with their values
+ /// called from getInfo()
+ /// format strings may contain:
+ /// %key%, which represents a key
+ /// {%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]]}
+ /// 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
/// \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;