]> git.lyx.org Git - lyx.git/blobdiff - src/LaTeXFeatures.h
Whitespace
[lyx.git] / src / LaTeXFeatures.h
index 3fc223a2878305df8ac339179ebc5ec3713dc84d..ed824d8b34aaee4510f3d868fba039b3d72a0603 100644 (file)
@@ -52,12 +52,18 @@ public:
        std::string const getPackages() const;
        /// The macros definitions needed by the document
        docstring const getMacros() const;
-       ///
-       std::string const getBabelOptions() const;
+       /// Extra preamble code before babel is called
+       std::string const getBabelPresettings() const;
+       /// Extra preamble code after babel is called
+       std::string const getBabelPostsettings() const;
+       /// Do we need to pass the languages to babel directly?
+       bool needBabelLangOptions() const;
+       /// Load AMS packages when appropriate
+       std::string const loadAMSPackages() const;
        /// The definitions needed by the document's textclass
        docstring const getTClassPreamble() const;
        /// The language dependent definitions needed by the document's textclass
-       docstring const getTClassI18nPreamble(bool use_babel) const;
+       docstring const getTClassI18nPreamble(bool use_babel, bool use_polyglossia) const;
        ///
        docstring const getTClassHTMLStyles() const;
        ///
@@ -76,12 +82,14 @@ public:
        void addPreambleSnippet(std::string const &);
        ///
        std::string getPreambleSnippets() const;
+       ///
+       void addCSSSnippet(std::string const &);
+       ///
+       std::string 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);
-       /// Which of the required packages are installed?
-       static void getAvailable();
        /// Is the (required) package available?
        static bool isAvailable(std::string const & name);
        /// Has the package been required?
@@ -97,8 +105,14 @@ public:
        void useLanguage(Language const *);
        ///
        bool hasLanguages() const;
+       /// check if all used languages are supported by polyglossia
+       bool hasOnlyPolyglossiaLanguages() const;
+       /// check if a language is supported only by polyglossia
+       bool hasPolyglossiaExclusiveLanguages() const;
        ///
-       std::string getLanguages() const;
+       std::string getBabelLanguages() const;
+       ///
+       std::map<std::string, std::string> getPolyglossiaLanguages() const;
        ///
        std::set<std::string> getEncodingSet(std::string const & doc_encoding) const;
        ///
@@ -113,12 +127,16 @@ public:
        BufferParams const & bufferParams() const;
        /// the return value is dependent upon both LyXRC and LaTeXFeatures.
        bool useBabel() const;
+       ///
+       bool usePolyglossia() const;
        /// are we in a float?
        bool inFloat() const { return in_float_; }
        /// are we in a float?
        void inFloat(bool const b) { in_float_ = b; }
        /// Runparams that will be used for exporting this file.
        OutputParams const & runparams() const { return runparams_; }
+       /// Resolve alternatives like "esint|amsmath|wasysym"
+       void resolveAlternatives();
        ///
        void setHTMLTitle(docstring const & t) { htmltitle_ = t; }
        ///
@@ -137,10 +155,8 @@ private:
        typedef std::list<std::string> SnippetList;
        ///
        SnippetList preamble_snippets_;
-       /// The available (required) packages
-       typedef std::set<std::string> Packages;
        ///
-       static Packages packages_;
+       SnippetList css_snippets_;
        ///
        typedef std::set<Language const *> LanguageList;
        /// used languages (only those that are supported by babel)