mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-25 14:04:25 +00:00
Add missing revert routine to lyx_2_0.py
(cherry picked from commit d89a48483e
)
This commit is contained in:
parent
638e8e4c6c
commit
b2907f7abc
@ -1983,7 +1983,7 @@ chapters = ("amsbook", "book", "docbook-book", "elsart", "extbook", "extreport",
|
|||||||
"svmult", "tbook", "treport", "tufte-book")
|
"svmult", "tbook", "treport", "tufte-book")
|
||||||
|
|
||||||
def convert_bibtex_clearpage(document):
|
def convert_bibtex_clearpage(document):
|
||||||
" insert a clear(double)page bibliographystyle if bibtotoc option is used "
|
" insert a clear(double)page before bibliographystyle if bibtotoc option is used "
|
||||||
|
|
||||||
if document.textclass not in chapters:
|
if document.textclass not in chapters:
|
||||||
return
|
return
|
||||||
@ -2048,6 +2048,86 @@ def convert_bibtex_clearpage(document):
|
|||||||
j = k + len(subst)
|
j = k + len(subst)
|
||||||
|
|
||||||
|
|
||||||
|
def revert_bibtex_clearpage(document):
|
||||||
|
" remove clear(double)page before bibliographystyle if bibtotoc option is used "
|
||||||
|
|
||||||
|
if document.textclass not in chapters:
|
||||||
|
return
|
||||||
|
|
||||||
|
i = find_token(document.header, '\\papersides', 0)
|
||||||
|
sides = 0
|
||||||
|
if i == -1:
|
||||||
|
document.warning("Malformed LyX document: Can't find papersides definition.")
|
||||||
|
document.warning("Assuming single sided.")
|
||||||
|
sides = 1
|
||||||
|
else:
|
||||||
|
val = get_value(document.header, "\\papersides", i)
|
||||||
|
try:
|
||||||
|
sides = int(val)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
if sides != 1 and sides != 2:
|
||||||
|
document.warning("Invalid papersides value: " + val)
|
||||||
|
document.warning("Assuming single sided.")
|
||||||
|
sides = 1
|
||||||
|
|
||||||
|
j = 0
|
||||||
|
while True:
|
||||||
|
j = find_token(document.body, "\\begin_inset CommandInset bibtex", j)
|
||||||
|
if j == -1:
|
||||||
|
return
|
||||||
|
|
||||||
|
k = find_end_of_inset(document.body, j)
|
||||||
|
if k == -1:
|
||||||
|
document.warning("Can't find end of Bibliography inset at line " + str(j))
|
||||||
|
j += 1
|
||||||
|
continue
|
||||||
|
|
||||||
|
# only act if there is the option "bibtotoc"
|
||||||
|
val = get_value(document.body, 'options', j, k)
|
||||||
|
if not val:
|
||||||
|
document.warning("Can't find options for bibliography inset at line " + str(j))
|
||||||
|
j = k
|
||||||
|
continue
|
||||||
|
|
||||||
|
if val.find("bibtotoc") == -1:
|
||||||
|
j = k
|
||||||
|
continue
|
||||||
|
|
||||||
|
# we had inserted \\clear[double]page right before the paragraph that
|
||||||
|
# this bibliography thing is in. Remove this. The older format has the
|
||||||
|
# respective command hardcoded.
|
||||||
|
lay = find_token_backwards(document.body, "\\begin_layout", j)
|
||||||
|
if lay == -1:
|
||||||
|
document.warning("Can't find layout containing bibliography inset at line " + str(j))
|
||||||
|
j = k
|
||||||
|
continue
|
||||||
|
# Find the layout before this.
|
||||||
|
lay = find_token_backwards(document.body, "\\begin_layout", lay-1)
|
||||||
|
if lay == -1:
|
||||||
|
document.warning("Can't find layout before bibliography inset at line " + str(j))
|
||||||
|
j = k
|
||||||
|
continue
|
||||||
|
|
||||||
|
if sides == 1:
|
||||||
|
cmd = "clearpage"
|
||||||
|
else:
|
||||||
|
cmd = "cleardoublepage"
|
||||||
|
|
||||||
|
if document.body[lay] != "\\begin_layout Standard" or document.body[lay+1] != "\\begin_inset Newpage " + cmd:
|
||||||
|
j = k
|
||||||
|
continue
|
||||||
|
layend = find_end_of_layout(document.body, lay)
|
||||||
|
if layend == -1:
|
||||||
|
document.warning("Can't find end of layout containg newpage inset at line " + str(layend))
|
||||||
|
j += 1
|
||||||
|
continue
|
||||||
|
|
||||||
|
del document.body[lay:layend+1]
|
||||||
|
j = lay
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def check_passthru(document):
|
def check_passthru(document):
|
||||||
tc = document.textclass
|
tc = document.textclass
|
||||||
ok = (tc == "literate-article" or tc == "literate-book" or tc == "literate-report")
|
ok = (tc == "literate-article" or tc == "literate-book" or tc == "literate-report")
|
||||||
@ -2540,7 +2620,7 @@ revert = [[412, [revert_html_css_as_file]],
|
|||||||
[404, []],
|
[404, []],
|
||||||
[403, [revert_refstyle]],
|
[403, [revert_refstyle]],
|
||||||
[402, [revert_flexnames]],
|
[402, [revert_flexnames]],
|
||||||
[401, []],
|
[401, [revert_bibtex_clearpage]],
|
||||||
[400, [revert_diagram]],
|
[400, [revert_diagram]],
|
||||||
[399, [revert_rule]],
|
[399, [revert_rule]],
|
||||||
[398, [revert_mathdots]],
|
[398, [revert_mathdots]],
|
||||||
|
Loading…
Reference in New Issue
Block a user