]> git.lyx.org Git - features.git/commitdiff
Clean up Solution and Solution* reversion code a bit.
authorRichard Heck <rgheck@lyx.org>
Sun, 29 Nov 2015 04:42:09 +0000 (23:42 -0500)
committerRichard Heck <rgheck@lyx.org>
Sun, 29 Nov 2015 04:42:09 +0000 (23:42 -0500)
lib/lyx2lyx/lyx_2_2.py

index b2fb40740b4bc6814b89b54d3d3ba010b300a6ce..d30f782cb10e287dc3c4636de83871def93e1543 100644 (file)
@@ -2121,9 +2121,10 @@ def revert_solution(document):
         if mod == "theorems-std" or mod == "theorems-bytype" \
         or mod == "theorems-ams" or mod == "theorems-ams-bytype":
             have_mod = True
-            continue
+            break
     if not have_mod:
         return
+
     consecutive = False
     is_starred = False
     i = 0
@@ -2131,6 +2132,7 @@ def revert_solution(document):
         i = find_token(document.body, "\\begin_layout Solution", i)
         if i == -1:
             return
+
         is_starred = document.body[i].startswith("\\begin_layout Solution*")
         if is_starred == True:
             LaTeXName = "sol*"
@@ -2140,31 +2142,35 @@ def revert_solution(document):
             LaTeXName = "sol"
             LyXName = "Solution"
             theoremName = "newtheorem"
+
         j = find_end_of_layout(document.body, i)
         if j == -1:
             document.warning("Malformed LyX document: Can't find end of " + LyXName + " layout")
             i += 1
             continue
+
         # if this is not a consecutive env, add start command
         begcmd = []
-        
         if not consecutive:
-            begcmd = put_cmd_in_ert("\\begin{" + LaTeXName + "}" )
+            begcmd = put_cmd_in_ert("\\begin{%s}" % (LaTeXName))
+
         # has this a consecutive theorem of same type?
-        consecutive = False
         consecutive = document.body[j + 2] == "\\begin_layout " + LyXName
+
         # if this is not followed by a consecutive env, add end command
         if not consecutive:
-            document.body[j : j + 1] = put_cmd_in_ert("\\end{" + LaTeXName + "}") + ["\\end_layout"]
+            document.body[j : j + 1] = put_cmd_in_ert("\\end{%s}" % (LaTeXName)) + ["\\end_layout"]
+
         document.body[i : i + 1] = ["\\begin_layout Standard", ""] + begcmd
+
         add_to_preamble(document, "\\theoremstyle{definition}")
-        if mod == "theorems-std" or mod == "theorems-ams":
-            if is_starred:
-                add_to_preamble(document, "\\" + theoremName + "{" + LaTeXName + "}{\\protect\\solutionname}")
-            else:
-                add_to_preamble(document, "\\" + theoremName + "{" + LaTeXName + "}[thm]{\\protect\\solutionname}")
-        if mod == "theorems-bytype" or mod == "theorems-ams-bytype":
-            add_to_preamble(document, "\\" + theoremName + "{" + LaTeXName + "}{\\protect\\solutionname}")
+        if is_starred or mod == "theorems-bytype" or mod == "theorems-ams-bytype":
+            add_to_preamble(document, "\\%s{%s}{\\protect\\solutionname}" % \
+                (theoremName, LaTeXName))
+        else: # mod == "theorems-std" or mod == "theorems-ams" and not is_starred
+            add_to_preamble(document, "\\%s{%s}[thm]{\\protect\\solutionname}" % \
+                (theoremName, LaTeXName))
+
         add_to_preamble(document, "\\providecommand{\solutionname}{Solution}")
         i = j