- ///
- void addExternalPreamble(string const &);
- /// Provide a string name-space to the requirements
- void require(string const & name);
- /// Is the package required?
- bool isRequired(string const & name) const;
- ///
- void useFloat(string const & name);
+ /// Add preamble snippet with TexRow information
+ void addPreambleSnippet(TexString snippet, bool allowdupes = false);
+ /// Add preamble snippet without TexRow information
+ void addPreambleSnippet(docstring const & snippet, bool allowdupes = false);
+ ///
+ TexString getPreambleSnippets() const;
+ /// Adds CSS information for HTML export.
+ /// Note that addPreambleSnippet is for LaTeX-type export
+ void addCSSSnippet(std::string const &);
+ ///
+ docstring getCSSSnippets() const;
+ /// Add a feature name requirements
+ void require(std::string const & name);
+ /// Add a set of feature names requirements
+ void require(std::set<std::string> const & names);
+ /// Add a feature name provision
+ void provide(std::string const & name);
+ /// Is the (required) package available?
+ static bool isAvailable(std::string const & name);
+ /// Has the package been required?
+ bool isRequired(std::string const & name) const;
+ /** Is this feature already provided
+ * e.g. by the document class?
+ */
+ bool isProvided(std::string const & name) const;
+ /** Is it necessary to load the package? This is true if
+ isRequired is true and the feature is not already provided
+ */
+ bool mustProvide(std::string const & name) const;
+ ///
+ void useFloat(std::string const & name, bool subfloat = false);