]> git.lyx.org Git - lyx.git/blobdiff - src/tex2lyx/Preamble.h
Reduce caption hardcoding
[lyx.git] / src / tex2lyx / Preamble.h
index 5fe6c572bdec640fe2a4a88891b4d21215f15e5d..3216c3cc6d697edab7c766bed8a293903af427cb 100644 (file)
@@ -39,8 +39,22 @@ public:
        ///
        std::string notefontcolor() const { return h_notefontcolor; }
        ///
+       bool refstyle() const { return h_use_refstyle; }
+       ///
+       bool fontCJKSet() const { return h_font_cjk_set; }
+       ///
+       std::string fontCJK() const { return h_font_cjk; }
+       ///
+       void fontCJK(std::string const & f) { h_font_cjk_set = true; h_font_cjk = f; }
+       /// The document language
+       std::string docLanguage() const { return h_language; }
+       /// The language of text which is not explicitly marked
+       std::string defaultLanguage() const  { return default_language; }
+       ///
        std::string use_indices() const { return h_use_indices; }
        ///
+       std::string polyglossia2lyx(std::string const & language);
+       ///
        bool indentParagraphs() const;
        ///
        bool isPackageUsed(std::string const & package) const;
@@ -56,6 +70,10 @@ public:
        ///
        void suppressDate(bool suppress);
        ///
+       std::string citeEngine() const { return h_cite_engine; }
+       ///
+       void citeEngine(std::string const & e) { h_cite_engine = e; }
+       ///
        bool titleLayoutFound() const { return title_layout_found; }
        ///
        void titleLayoutFound(bool found) { title_layout_found = found; }
@@ -64,13 +82,17 @@ public:
        /// Get author named \p name (must be registered first)
        Author const & getAuthor(std::string const & name) const;
 
-
        /// Parses the LaTeX preamble into internal data
        void parse(Parser & p, std::string const & forceclass,
                   TeX2LyXDocClass & tc);
        /// Writes the LyX file header from internal data
        bool writeLyXHeader(std::ostream & os, bool subdoc);
 
+       /// known polyglossia language names (including variants)
+       static const char * const polyglossia_languages[];
+       /// the same as polyglossia_languages with .lyx names
+       static const char * const coded_polyglossia_languages[];
+
 private:
        ///
        std::map<std::string, std::vector<std::string> > used_packages;
@@ -81,6 +103,10 @@ private:
 
        /// needed to handle encodings with babel
        bool one_language;
+       /// the main non-CJK language
+       std::string default_language;
+       /// Was babel called explicitly?
+       bool explicit_babel;
 
        /// was at least one title layout found?
        bool title_layout_found;
@@ -88,13 +114,16 @@ private:
        std::ostringstream h_preamble;
        std::string h_backgroundcolor;
        std::string h_biblio_style;
+       std::string h_bibtex_command;
        std::string h_boxbgcolor;
        std::string h_cite_engine;
        std::string h_cite_engine_type;
+       std::string h_color;
        std::string h_defskip;
        std::string h_float_placement;
        std::string h_fontcolor;
        std::string h_fontencoding;
+       std::string h_font_math;
        std::string h_font_roman;
        std::string h_font_sans;
        std::string h_font_typewriter;
@@ -104,19 +133,27 @@ private:
        std::string h_font_osf;
        std::string h_font_sf_scale;
        std::string h_font_tt_scale;
+       bool h_font_cjk_set;
+       std::string h_font_cjk;
        std::string h_graphics;
+       std::string h_default_output_format;
        std::string h_html_be_strict;
        std::string h_html_css_as_file;
        std::string h_html_math_output;
+       std::string h_index[99];
+       std::string h_index_command;
        std::string h_inputencoding;
        std::string h_justification;
        std::string h_language;
        std::string h_language_package;
        std::string h_listings_params;
+       std::string h_maintain_unincluded_children;
        std::string h_margins;
        std::string h_notefontcolor;
        std::string h_options;
        std::string h_output_changes;
+       std::string h_output_sync;
+       std::string h_output_sync_macro;
        std::string h_papercolumns;
        std::string h_paperfontsize;
        std::string h_paperorientation;
@@ -143,6 +180,7 @@ private:
        std::string h_pdf_quoted_options;
        std::string h_quotes_language;
        std::string h_secnumdepth;
+       std::string h_shortcut[99];
        std::string h_spacing;
        std::string h_suppress_date;
        std::string h_textclass;
@@ -154,7 +192,7 @@ private:
        std::map<std::string, std::string> h_use_packages;
        std::string h_use_default_options;
        std::string h_use_hyperref;
-       std::string h_use_refstyle;
+       bool h_use_refstyle;
 
        /*!
         * Add package \p name with options \p options to used_packages.