/// 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[];
private:
///
+ void parse(Parser & p, std::string const & forceclass,
+ bool detectEncoding, TeX2LyXDocClass & tc);
+ ///
std::map<std::string, std::vector<std::string> > used_packages;
/// Packages that will be loaded automatically by LyX
std::set<std::string> auto_packages;
/// 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;
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;
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;
void handle_geometry(std::vector<std::string> & 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);