commit c41f9f7ed7a890523acd387868472080d0c68df2
Author: Juergen Spitzmueller <[email protected]>
Date:   Wed May 23 12:34:41 2018 +0200

    tex2lyx: extend titling support
    
    Rather than checking for hardcoded title commands such as \maketitle,
    use the titlename and titletype as defined in the layout.
    
    This now also includes title environments.
    
    Fixes part of #6461
    
    (cherry picked from commit 429edc0a59a0509445bb93cd7d60c3d9ff36bd6b)
---
 src/tex2lyx/text.cpp |   14 +++++++++++++-
 status.23x           |    2 ++
 2 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/src/tex2lyx/text.cpp b/src/tex2lyx/text.cpp
index f4002b0..f89e5a9 100644
--- a/src/tex2lyx/text.cpp
+++ b/src/tex2lyx/text.cpp
@@ -1792,6 +1792,16 @@ void parse_environment(Parser & p, ostream & os, bool 
outer,
                preamble.registerAutomaticallyLoadedPackage("tipa");
                preamble.registerAutomaticallyLoadedPackage("tipx");
        }
+       
+       else if (name == parent_context.textclass.titlename()
+                && parent_context.textclass.titletype() == TITLE_ENVIRONMENT) {
+                       parse_text(p, os, FLAG_END, outer, parent_context);
+                       // Just in case the environment is empty
+                       parent_context.extra_stuff.erase();
+                       // We must begin a new paragraph
+                       parent_context.new_paragraph(os);
+                       p.skip_spaces();
+       }
 
        else if (name == "CJK") {
                // the scheme is \begin{CJK}{encoding}{mapping}text\end{CJK}
@@ -3626,7 +3636,9 @@ void parse_text(Parser & p, ostream & os, unsigned flags, 
bool outer,
                        continue;
                }
 
-               else if (t.cs() == "makeindex" || t.cs() == "maketitle" || 
t.cs() == "makebeamertitle") {
+               else if (t.cs() == "makeindex"
+                        || (t.cs() == context.textclass.titlename()
+                            && context.textclass.titletype() == 
TITLE_COMMAND_AFTER)) {
                        if (preamble.titleLayoutFound()) {
                                // swallow this
                                skip_spaces_braces(p);
diff --git a/status.23x b/status.23x
index 9d44843..8ad20bc 100644
--- a/status.23x
+++ b/status.23x
@@ -25,6 +25,8 @@ What's new
 
 * TEX2LYX IMPROVEMENTS
 
+- Improve import of titling commands other than \maketitle (bug 6461).
+
 
 
 * USER INTERFACE

Reply via email to