]> git.lyx.org Git - lyx.git/blobdiff - src/BufferParams.h
The logic of the endParagraph() routine is wrong. We should first
[lyx.git] / src / BufferParams.h
index 842fc28f71b7fed78cad7bde1e2754f2663b74d3..772f42de84924d4d97e0c05e6433f76e9a66e0c2 100644 (file)
@@ -176,7 +176,8 @@ public:
        std::vector<Format const *> exportableFormats(bool only_viewable) const;
        ///
        bool isExportableFormat(std::string const & format) const;
-       ///
+       /// the backends appropriate for use with this document.
+       /// so, e.g., latex is excluded , if we're using non-TeX fonts
        std::vector<std::string> backends() const;
 
        /// List of included children (for includeonly)
@@ -305,6 +306,8 @@ public:
        std::string float_placement;
        ///
        unsigned int columns;
+       ///
+       bool justification;
        /// parameters for the listings package
        std::string listings_params;
        ///
@@ -341,16 +344,12 @@ public:
                /// some ERT that needs the package)
                package_on = 2
        };
-       /// Whether and how to load amsmath
-       Package use_amsmath;
-       /// Whether and how to load esint
-       Package use_esint;
-       /// Whether and how to load mhchem
-       Package use_mhchem;
-       /// Whether and how to load mathdots
-       Package use_mathdots;
-       /// Whether and how to load undertilde
-       Package use_undertilde;
+       /// Whether to load a package such as amsmath or esint.
+       Package use_package(std::string const & p) const;
+       /// Set whether to load a package such as amsmath or esint.
+       void use_package(std::string const & p, Package u);
+       /// All packages that can be switched on or off
+       static std::vector<std::string> const & auto_packages();
        /// Split bibliography?
        bool use_bibtopic;
        /// Split the index?
@@ -406,10 +405,37 @@ public:
                                     bool const & use_nonlatexfonts,
                                     LaTeXFeatures & features) const;
 
-       /// get the appropriate cite engine (natbib handling)
-       CiteEngine citeEngine() const;
-       ///
-       void setCiteEngine(CiteEngine const);
+       /// the cite engine modules
+       LayoutModuleList const & citeEngine() const
+               { return cite_engine_; }
+       /// the type of cite engine (authoryear or numerical)
+       CiteEngineType const & citeEngineType() const
+               { return cite_engine_type_; }
+       /// add the module to the cite engine modules
+       bool addCiteEngine(std::string const &);
+       /// add the modules to the cite engine modules
+       bool addCiteEngine(std::vector<std::string> const &);
+       /// clear the list of cite engine modules
+       void clearCiteEngine() { cite_engine_.clear(); }
+       /// set the cite engine module
+       void setCiteEngine(std::string const &);
+       /// set the cite engine modules
+       void setCiteEngine(std::vector<std::string> const &);
+       /// set the cite engine type
+       void setCiteEngineType(CiteEngineType const & engine_type)
+               { cite_engine_type_ = engine_type; }
+
+       /// the available citation commands
+       std::vector<std::string> citeCommands() const;
+       /// the available citation styles
+       std::vector<CitationStyle> citeStyles() const;
+
+       /// the default BibTeX style file for the document
+       std::string biblio_style;
+       /// the default BibTeX style file from the TextClass
+       std::string const & defaultBiblioStyle() const;
+       /// whether the BibTeX style supports full author lists
+       bool const & fullAuthorList() const;
 
        /// options for pdf output
        PDFOptions & pdfoptions();
@@ -469,8 +495,10 @@ private:
        typedef std::map<std::string, OutputParams::FLAVOR> DefaultFlavorCache;
        ///
        mutable DefaultFlavorCache default_flavors_;
-       /// for use with natbib
-       CiteEngine cite_engine_;
+       /// the cite engine modules
+       LayoutModuleList cite_engine_;
+       /// the type of cite engine (authoryear or numerical)
+       CiteEngineType cite_engine_type_;
        ///
        DocumentClass * doc_class_;
        ///
@@ -482,6 +510,12 @@ private:
        /// the list of included children (for includeonly)
        std::list<std::string> included_children_;
 
+       typedef std::map<std::string, Package> PackageMap;
+       /** Whether and how to load packages like amsmath, esint, mhchem,
+        *  mathdots and undertilde.
+        */
+       PackageMap use_packages;
+
        /** Use the Pimpl idiom to hide those member variables that would otherwise
         *  drag in other header files.
         */