From 3e6a1eecc5f64997a1f211b56257493051da0a90 Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Sun, 4 Mar 2018 16:45:37 +0100 Subject: [PATCH] tex2lyx: consider options passed via \PassOptionsToPackage (cherry picked from commit 476401a76f8bdb3dd2c2a482b2088f00dbe501d9) --- src/tex2lyx/Preamble.cpp | 17 +++++++++++++++++ src/tex2lyx/Preamble.h | 2 ++ status.23x | 2 ++ 3 files changed, 21 insertions(+) diff --git a/src/tex2lyx/Preamble.cpp b/src/tex2lyx/Preamble.cpp index fe722f48e2..1cff58db3c 100644 --- a/src/tex2lyx/Preamble.cpp +++ b/src/tex2lyx/Preamble.cpp @@ -418,6 +418,15 @@ void Preamble::add_package(string const & name, vector & options) if (used_packages.find(name) == used_packages.end()) used_packages[name] = split_options(h_options); + // Insert options passed via PassOptionsToPackage + for (auto const & p : extra_package_options_) { + if (p.first == name) { + vector eo = getVectorFromString(p.second); + for (auto const & eoi : eo) + options.push_back(eoi); + } + + } vector & v = used_packages[name]; v.insert(v.end(), options.begin(), options.end()); if (name == "jurabib") { @@ -1033,6 +1042,8 @@ void Preamble::handle_package(Parser &p, string const & name, options.erase(it); } } + if (!options.empty()) + h_biblio_options = join(options, ","); } else if (name == "jurabib") { @@ -1407,6 +1418,12 @@ void Preamble::parse(Parser & p, string const & forceclass, h_preamble << t.asInput(); } + else if (t.cs() == "PassOptionsToPackage") { + string const poptions = p.getArg('{', '}'); + string const package = p.verbatim_item(); + extra_package_options_.insert(make_pair(package, poptions)); + } + else if (t.cs() == "pagestyle") h_paperpagestyle = p.verbatim_item(); diff --git a/src/tex2lyx/Preamble.h b/src/tex2lyx/Preamble.h index 5dcc6718d7..288dd87bf6 100644 --- a/src/tex2lyx/Preamble.h +++ b/src/tex2lyx/Preamble.h @@ -241,6 +241,8 @@ private: AuthorList authors_; /// special table column types std::map special_columns_; + /// + std::map extra_package_options_; }; diff --git a/status.23x b/status.23x index cff2cb4755..d8efc4fd0c 100644 --- a/status.23x +++ b/status.23x @@ -99,6 +99,8 @@ What's new - Import straight quotations marks (e.g. babel shorthands) as ERT (bug 75). +- Consider options passed via \PassOptionsToPackage. + * ADVANCED FIND AND REPLACE -- 2.39.5