mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-25 19:07:45 +00:00
Clean up Solution and Solution* reversion code a bit.
This commit is contained in:
parent
727c845808
commit
acf3e3a139
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user