Fix beamer block conversion when arguments are in multiple ERTS.

Fixes second part of #9208.
This commit is contained in:
Juergen Spitzmueller 2014-07-27 11:30:25 +02:00
parent 728cf1edf3
commit cc56c64ede

View File

@ -3090,7 +3090,7 @@ def convert_beamerblocks(document):
tok = document.body[ertcontdivline].find('>{')
if tok == -1:
regexp = re.compile(r'.*>\{', re.IGNORECASE)
ertcontdivline = find_re(document.body, regexp, ertcontfirstline, ertcontlastline)
ertcontdivline = find_re(document.body, regexp, ertcontfirstline, lastertend)
tok = document.body[ertcontdivline].find('>{')
if tok != -1:
if ertcontfirstline < ertcontlastline:
@ -3112,30 +3112,30 @@ def convert_beamerblocks(document):
tok = document.body[ertcontdivline].find('>')
if tok == -1:
regexp = re.compile(r'.*>', re.IGNORECASE)
ertcontdivline = find_re(document.body, regexp, ertcontfirstline, ertcontlastline)
ertcontdivline = find_re(document.body, regexp, ertcontfirstline, lastertend)
tok = document.body[ertcontdivline].find('>')
if tok != -1:
tokk = document.body[ertcontdivline].find('{')
if tokk == -1:
regexp = re.compile(r'.*\{', re.IGNORECASE)
ertcontdivlinetwo = find_re(document.body, regexp, ertcontfirstline, ertcontlastline)
tokk = document.body[ertcontdivlinetwo].find('{')
if tokk != -1:
if ertcontfirstline < ertcontlastline:
# Multiline ERT. Might contain TeX code. Embrace in ERT.
document.body[ertcontlastline : ertcontlastline + 1] = [
document.body[ertcontlastline], '\\end_layout', '', '\\end_inset']
document.body[ertcontdivline : ertcontdivlinetwo + 1] = [document.body[ertcontdivline][:tok],
'\\end_layout', '', '\\end_inset', '', '\\end_layout', '',
'\\end_inset', '', '', '\\begin_inset Argument 2',
'status collapsed', '', '\\begin_layout Plain Layout',
'\\begin_inset ERT', '', 'status open' '', '\\begin_layout Plain Layout',
document.body[ertcontdivlinetwo][tokk + 1:]]
else:
document.body[ertcontdivline : ertcontdivlinetwo + 1] = [document.body[ertcontdivline][:tok],
'\\end_layout', '', '\\end_inset', '', '', '\\begin_inset Argument 2',
'status collapsed', '', '\\begin_layout Plain Layout',
document.body[ertcontdivlinetwo][tokk + 1:]]
if tok != -1:
tokk = document.body[ertcontdivline].find('{')
if tokk == -1:
regexp = re.compile(r'.*\{', re.IGNORECASE)
ertcontdivlinetwo = find_re(document.body, regexp, ertcontfirstline, lastertend)
tokk = document.body[ertcontdivlinetwo].find('{')
if tokk != -1:
if ertcontfirstline < ertcontlastline:
# Multiline ERT. Might contain TeX code. Embrace in ERT.
document.body[ertcontlastline : ertcontlastline + 1] = [
document.body[ertcontlastline], '\\end_layout', '', '\\end_inset']
document.body[ertcontdivline : ertcontdivlinetwo + 1] = [document.body[ertcontdivline][:tok],
'\\end_layout', '', '\\end_inset', '', '\\end_layout', '',
'\\end_inset', '', '', '\\begin_inset Argument 2',
'status collapsed', '', '\\begin_layout Plain Layout',
'\\begin_inset ERT', '', 'status open' '', '\\begin_layout Plain Layout',
document.body[ertcontdivlinetwo][tokk + 1:]]
else:
document.body[ertcontdivline : ertcontdivlinetwo + 1] = [document.body[ertcontdivline][:tok],
'\\end_layout', '', '\\end_inset', '', '', '\\begin_inset Argument 2',
'status collapsed', '', '\\begin_layout Plain Layout',
document.body[ertcontdivlinetwo][tokk + 1:]]
# Convert to ArgInset
if ertcontfirstline < ertcontlastline:
# Multiline ERT. Might contain TeX code. Embrace in ERT.
@ -3171,7 +3171,7 @@ def convert_beamerblocks(document):
tok = document.body[ertcontdivline].find('}<')
if tok == -1:
regexp = re.compile(r'.*\}<', re.IGNORECASE)
ertcontdivline = find_re(document.body, regexp, ertcontfirstline, ertcontlastline)
ertcontdivline = find_re(document.body, regexp, ertcontfirstline, lastertend)
tok = document.body[ertcontdivline].find('}<')
if tok != -1:
if ertcontfirstline < ertcontlastline:
@ -3193,13 +3193,13 @@ def convert_beamerblocks(document):
tok = document.body[ertcontdivline].find('}')
if tok == -1:
regexp = re.compile(r'.*\}', re.IGNORECASE)
ertcontdivline = find_re(document.body, regexp, ertcontfirstline, ertcontlastline)
ertcontdivline = find_re(document.body, regexp, ertcontfirstline, lastertend)
tok = document.body[ertcontdivline].find('}')
if tok != -1:
tokk = document.body[ertcontdivline].find('<')
if tokk == -1:
regexp = re.compile(r'.*<', re.IGNORECASE)
ertcontdivlinetwo = find_re(document.body, regexp, ertcontfirstline, ertcontlastline)
ertcontdivlinetwo = find_re(document.body, regexp, ertcontfirstline, lastertend)
tokk = document.body[ertcontdivlinetwo].find('<')
if tokk != -1:
if ertcontfirstline < ertcontlastline: