From 429edc0a59a0509445bb93cd7d60c3d9ff36bd6b Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Wed, 23 May 2018 12:34:41 +0200 Subject: [PATCH] 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 --- src/tex2lyx/text.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/tex2lyx/text.cpp b/src/tex2lyx/text.cpp index b87e44d61d..a3214af41c 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} @@ -3630,7 +3640,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); -- 2.39.2