#define BUFFERPARAMS_H
#include "Citation.h"
+#include "Format.h"
#include "LayoutModuleList.h"
+#include "OutputParams.h"
#include "paper.h"
#include "insets/InsetQuotes.h"
#include "support/copied_ptr.h"
#include <map>
+#include <vector>
namespace lyx {
* the BufferParams, a LyXRC variable, and the document class).
* This returned value can then be passed to the insets...
*/
- bool writeLaTeX(odocstream &, LaTeXFeatures &, TexRow &,
+ bool writeLaTeX(otexstream &, LaTeXFeatures &,
support::FileName const &) const;
///
/// Clear the removed module list
void clearRemovedModules() { removed_modules_.clear(); }
+ /// returns \c true if the buffer contains a LaTeX document
+ bool isLatex() const;
+ /// returns \c true if the buffer contains a DocBook document
+ bool isDocBook() const;
+ /// returns \c true if the buffer contains a Wed document
+ bool isLiterate() const;
+
+ /// return the format of the buffer on a string
+ std::string bufferFormat() const;
+ /// return the default output format of the current backend
+ std::string getDefaultOutputFormat() const;
+ /// return the output flavor of \p format or the default
+ OutputParams::FLAVOR getOutputFlavor(
+ std::string const format = std::string()) const;
+ ///
+ bool isExportable(std::string const & format) const;
+ ///
+ std::vector<Format const *> exportableFormats(bool only_viewable) const;
+ ///
+ bool isExportableFormat(std::string const & format) const;
+ ///
+ std::vector<std::string> backends() const;
+
/// List of included children (for includeonly)
std::list<std::string> const & getIncludedChildren() const
{ return included_children_; }
Package use_mhchem;
/// Whether and how to load mathdots
Package use_mathdots;
+ /// Whether and how to load undertilde
+ Package use_undertilde;
/// Split bibliography?
bool use_bibtopic;
/// Split the index?
/// return supported drivers for specific packages
docstring getGraphicsDriver(std::string const & package) const;
/// handle inputenc etc.
- void writeEncodingPreamble(odocstream & os, LaTeXFeatures & features,
- TexRow & texrow) const;
+ void writeEncodingPreamble(otexstream & os, LaTeXFeatures & features) const;
///
std::string const parseFontName(std::string const & name) const;
/// set up the document fonts
std::string html_latex_start;
///
std::string html_latex_end;
+ ///
+ bool html_css_as_file;
/// generate output usable for reverse/forward search
bool output_sync;
/// custom LaTeX macro from user instead our own
/// use refstyle? or prettyref?
bool use_refstyle;
+ /// Return true if language could be set to lang,
+ /// otherwise return false and do not change language
+ bool setLanguage(std::string const & lang);
+
private:
///
void readPreamble(Lexer &);
void readRemovedModules(Lexer &);
///
void readIncludeonly(Lexer &);
+ /// A cache for the default flavors
+ typedef std::map<std::string, OutputParams::FLAVOR> DefaultFlavorCache;
+ ///
+ mutable DefaultFlavorCache default_flavors_;
/// for use with natbib
CiteEngine cite_engine_;
///