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
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*"
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