commit c5fe0751d90146128e79ccaacfefe8f1803bb44f
Author: Juergen Spitzmueller <[email protected]>
Date:   Wed Aug 22 08:39:13 2018 +0200

    tex2lyx: Fixes to the btUnit import
    
    1. Do not attempt to mix diverging btUnits (e.g., chapters and sections).
    2. use parse_text to properly parse the contents.
    
    (cherry picked from commit 68d48b0015065f3c3cdd1377678bca56551cc203)
---
 src/tex2lyx/Preamble.h |    2 ++
 src/tex2lyx/text.cpp   |    9 ++++++---
 status.23x             |    2 ++
 3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/tex2lyx/Preamble.h b/src/tex2lyx/Preamble.h
index 5c8b17f..adbffbe 100644
--- a/src/tex2lyx/Preamble.h
+++ b/src/tex2lyx/Preamble.h
@@ -82,6 +82,8 @@ public:
        ///
        void citeEngine(std::string const & e) { h_cite_engine = e; }
        ///
+       std::string multibib() const { return h_multibib; }
+       ///
        void multibib(std::string const & s) { h_multibib = s; }
        ///
        bool titleLayoutFound() const { return title_layout_found; }
diff --git a/src/tex2lyx/text.cpp b/src/tex2lyx/text.cpp
index 531d4c4..2e10421 100644
--- a/src/tex2lyx/text.cpp
+++ b/src/tex2lyx/text.cpp
@@ -1944,9 +1944,12 @@ void parse_environment(Parser & p, ostream & os, bool 
outer,
 
        else if (name == "btUnit") {
                string const nt = p.next_next_token().cs();
-               if (nt == "part" || nt == "chapter"
-                  || nt == "section" || nt == "subsection") {
-                       active_environments.push_back("btUnit");
+               // Do not attempt to overwrite a former diverging multibib.
+               // Those are output as ERT instead.
+               if ((nt == "part" || nt == "chapter"
+                    || nt == "section" || nt == "subsection")
+                  && (preamble.multibib().empty() || preamble.multibib() == 
nt)) {
+                       parse_text(p, os, FLAG_END, outer, parent_context);
                        preamble.multibib(nt);
                } else
                        parse_unknown_environment(p, name, os, FLAG_END, outer,
diff --git a/status.23x b/status.23x
index 2daf9c7..96fe476 100644
--- a/status.23x
+++ b/status.23x
@@ -39,6 +39,8 @@ What's new
 
 - Add support for horizontal longtabular alignment.
 
+- Add support for btUnit (multibib).
+
 
 
 * USER INTERFACE

Reply via email to