X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ftex2lyx%2FPreamble.h;h=bf12b7b1e358385f57ef6871f8faf0ef06ec1cfc;hb=e15a8f3551f86a2ffa835c344256f2b4703fefb2;hp=ffc9bda03be74575bf9536ee569e5f5a3d2c00a7;hpb=9c55af4a223ce4db29d643251109e245665344bd;p=lyx.git diff --git a/src/tex2lyx/Preamble.h b/src/tex2lyx/Preamble.h index ffc9bda03b..bf12b7b1e3 100644 --- a/src/tex2lyx/Preamble.h +++ b/src/tex2lyx/Preamble.h @@ -92,8 +92,11 @@ public: /// Parses the LaTeX preamble into internal data void parse(Parser & p, std::string const & forceclass, TeX2LyXDocClass & tc); + /// Parse the encoding from a preamble. *this is unusable afterwards. + std::string parseEncoding(Parser & p, std::string const & forceclass); /// Writes the LyX file header from internal data - bool writeLyXHeader(std::ostream & os, bool subdoc); + bool writeLyXHeader(std::ostream & os, bool subdoc, + std::string const & outfiledir); /// known polyglossia language names (including variants) static const char * const polyglossia_languages[]; @@ -102,6 +105,9 @@ public: private: /// + void parse(Parser & p, std::string const & forceclass, + bool detectEncoding, TeX2LyXDocClass & tc); + /// std::map > used_packages; /// Packages that will be loaded automatically by LyX std::set auto_packages; @@ -118,6 +124,9 @@ private: /// was at least one title layout found? bool title_layout_found; + /// used for the handling of \newindex + int index_number; + std::ostringstream h_preamble; std::string h_backgroundcolor; std::string h_biblio_style; @@ -130,18 +139,19 @@ private: 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; + std::string h_font_math[2]; + std::string h_font_roman[2]; + std::string h_font_sans[2]; + std::string h_font_typewriter[2]; std::string h_font_default_family; bool h_use_non_tex_fonts; std::string h_font_sc; std::string h_font_osf; - std::string h_font_sf_scale; - std::string h_font_tt_scale; + std::string h_font_sf_scale[2]; + std::string h_font_tt_scale[2]; bool h_font_cjk_set; std::string h_font_cjk; + bool h_use_microtype; std::string h_graphics; std::string h_default_output_format; std::string h_html_be_strict; @@ -185,11 +195,12 @@ private: std::string h_pdf_pdfusetitle; std::string h_pdf_pagemode; std::string h_pdf_quoted_options; - std::string h_quotes_language; + std::string h_quotes_style; std::string h_secnumdepth; std::string h_shortcut[99]; std::string h_spacing; std::string h_suppress_date; + std::string h_save_transient_properties; std::string h_textclass; std::string h_tocdepth; std::string h_tracking_changes; @@ -213,7 +224,8 @@ private: void handle_geometry(std::vector & options); /// void handle_package(Parser &p, std::string const & name, - std::string const & opts, bool in_lyx_preamble); + std::string const & opts, bool in_lyx_preamble, + bool detectEncoding); /// void handle_if(Parser & p, bool in_lyx_preamble);