X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ftex2lyx%2FPreamble.cpp;h=7b69bc4db5392eaa0bbba2853c42684f4866b721;hb=fd5adacef25eb40f813dedd961920c353448213a;hp=f7303b64043ef7d489b644f3fadbcf9cccee514e;hpb=2945bc356eaaa062606124a1cbf6c700ca1edb19;p=features.git diff --git a/src/tex2lyx/Preamble.cpp b/src/tex2lyx/Preamble.cpp index f7303b6404..7b69bc4db5 100644 --- a/src/tex2lyx/Preamble.cpp +++ b/src/tex2lyx/Preamble.cpp @@ -18,7 +18,6 @@ #include "Encoding.h" #include "LayoutFile.h" -#include "Layout.h" #include "Lexer.h" #include "TextClass.h" #include "version.h" @@ -28,10 +27,9 @@ #include "support/filetools.h" #include "support/lstrings.h" -#include "support/regex.h" - #include #include +#include using namespace std; using namespace lyx::support; @@ -123,6 +121,9 @@ const char * const known_german_quotes_languages[] = {"austrian", "bulgarian", const char * const known_polish_quotes_languages[] = {"afrikaans", "bosnian", "croatian", "dutch", "magyar", "polish", "romanian", "serbian", "serbian-latin", 0}; +/// languages with hungarian quotes (.lyx names) +const char * const known_hungarian_quotes_languages[] = {"magyar", 0}; + /// languages with russian quotes (.lyx names) const char * const known_russian_quotes_languages[] = {"azerbaijani", "oldrussian", "russian", "ukrainian", 0}; @@ -553,6 +554,7 @@ Preamble::Preamble() : one_language(true), explicit_babel(false), h_html_css_as_file = "0"; h_html_math_output = "0"; h_docbook_table_output = "0"; + h_docbook_mathml_prefix = "1"; h_index[0] = "Index"; h_index_command = "default"; h_inputencoding = "auto-legacy"; @@ -1948,6 +1950,11 @@ bool Preamble::writeLyXHeader(ostream & os, bool subdoc, string const & outfiled << "\\save_transient_properties " << h_save_transient_properties << "\n" << "\\origin " << origin << "\n" << "\\textclass " << h_textclass << "\n"; + if (!h_doc_metadata.empty()) { + os << "\\begin_metadata\n" + << h_doc_metadata + << "\n\\end_metadata\n"; + } string const raw = subdoc ? empty_string() : h_preamble.str(); if (!raw.empty()) { os << "\\begin_preamble\n"; @@ -2128,6 +2135,7 @@ bool Preamble::writeLyXHeader(ostream & os, bool subdoc, string const & outfiled << "\\html_css_as_file " << h_html_css_as_file << "\n" << "\\html_be_strict " << h_html_be_strict << "\n" << "\\docbook_table_output " << h_docbook_table_output << "\n" + << "\\docbook_mathml_prefix " << h_docbook_mathml_prefix << "\n" << authors_ << "\\end_header\n\n" << "\\begin_body\n"; @@ -2166,17 +2174,17 @@ void Preamble::parse(Parser & p, string const & forceclass, if (detectEncoding && !is_full_document) return; + // Force textclass if the user wanted it + if (!forceclass.empty()) { + setTextClass(forceclass, tc); + class_set = true; + } + while (is_full_document && p.good()) { if (detectEncoding && h_inputencoding != "auto-legacy" && h_inputencoding != "auto-legacy-plain") return; - // Force textclass if the user wanted it - if (!forceclass.empty()) { - setTextClass(forceclass, tc); - class_set = true; - } - Token const & t = p.get_token(); #ifdef FILEDEBUG @@ -2790,6 +2798,11 @@ void Preamble::parse(Parser & p, string const & forceclass, continue; } + if (t.cs() == "DocumentMetadata") { + h_doc_metadata = trimSpaceAndEol(p.getArg('{', '}')); + continue; + } + if (t.cs() == "usepackage") { string const options = p.getArg('[', ']'); string const name = p.getArg('{', '}'); @@ -3175,6 +3188,9 @@ void Preamble::parse(Parser & p, string const & forceclass, // polish else if (is_known(h_language, known_polish_quotes_languages)) h_quotes_style = "polish"; + // hungarian + else if (is_known(h_language, known_hungarian_quotes_languages)) + h_quotes_style = "hungarian"; // russian else if (is_known(h_language, known_russian_quotes_languages)) h_quotes_style = "russian";