]> git.lyx.org Git - lyx.git/blobdiff - src/tex2lyx/Preamble.cpp
Capitalize labels of floats, etc. Fixes #11993.
[lyx.git] / src / tex2lyx / Preamble.cpp
index f28df64b9f03022bc1b37c33e793f0423857f10b..f15a9f178418f9da2b75a6efdf98979e6a6a55b2 100644 (file)
@@ -18,7 +18,6 @@
 
 #include "Encoding.h"
 #include "LayoutFile.h"
-#include "Layout.h"
 #include "Lexer.h"
 #include "TextClass.h"
 #include "version.h"
 #include "support/filetools.h"
 #include "support/lstrings.h"
 
-#include "support/regex.h"
-
 #include <algorithm>
 #include <iostream>
+#include <regex>
 
 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};
@@ -295,7 +296,7 @@ vector<string> split_options(string const & input)
  * \p options and return the value.
  * The found option is also removed from \p options.
  */
-string process_keyval_opt(vector<string> & options, string name)
+string process_keyval_opt(vector<string> & options, string const & name)
 {
        for (size_t i = 0; i < options.size(); ++i) {
                vector<string> option;
@@ -445,8 +446,7 @@ int Preamble::getSpecialTableColumnArguments(char c) const
 void Preamble::add_package(string const & name, vector<string> & options)
 {
        // every package inherits the global options
-       if (used_packages.find(name) == used_packages.end())
-               used_packages[name] = split_options(h_options);
+       used_packages.insert({name, split_options(h_options)});
 
        // Insert options passed via PassOptionsToPackage
        for (auto const & p : extra_package_options_) {
@@ -469,7 +469,7 @@ void Preamble::add_package(string const & name, vector<string> & options)
        }
 }
 
-void Preamble::setTextClass(string const tclass, TeX2LyXDocClass & tc)
+void Preamble::setTextClass(string const tclass, TeX2LyXDocClass & tc)
 {
        h_textclass = tclass;
        tc.setName(h_textclass);
@@ -2764,7 +2764,6 @@ void Preamble::parse(Parser & p, string const & forceclass,
                        // paper sizes
                        // some size options are known by the document class, other sizes
                        // are handled by the \geometry command of the geometry package
-                       string paper;
                        vector<string> class_psizes = getVectorFromString(tc.opt_pagesize(), "|");
                        string const psize_format = tc.pagesizeformat();
                        for (auto const & psize : class_psizes) {
@@ -3177,6 +3176,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";