from parser_tools import find_token, find_token_backwards, get_next_paragraph,\
find_tokens, find_end_of_inset, find_re, \
is_nonempty_line, get_paragraph, find_nonempty_line, \
- get_value, get_tabular_lines, check_token
+ get_value, get_tabular_lines, check_token, get_layout
floats = {
"footnote": ["\\begin_inset Foot",
while check_token(lines[i2], "\\end_deeper"):
i2 = i2+1
if i2 > i+1:
- j2 = get_next_paragraph(lines, j+1)
+ j2 = get_next_paragraph(lines, j + 1, file.format + 1)
lines[j2:j2] = ["\\end_deeper "]*(i2-(i+1))
new = floats[floattype]+[""]
# as extra '\foo default' commands are ignored.
# In fact, it might be safer to output '\foo default' for all
# font attributes.
- k = get_paragraph(lines, i)
+ k = get_paragraph(lines, i, file.format + 1)
flag = 0
for token in font_tokens:
if find_token(lines, token, k, i) != -1:
if hfill:
start = ["","\hfill",""]+start
else:
- start = ["\\layout Standard"] + start
+ start = ['\\layout %s' % file.default_layout,''] + start
j0 = find_token_backwards(lines,"\\layout", i-1)
- j = get_next_paragraph(lines, i)
+ j = get_next_paragraph(lines, i, file.format + 1)
count = 0
while 1:
move_rexp = re.compile(r"\\(family|series|shape|size|emph|numeric|bar|noun|end_deeper)")
ert_rexp = re.compile(r"\\begin_inset|\\hfill|.*\\SpecialChar")
spchar_rexp = re.compile(r"(.*)(\\SpecialChar.*)")
-ert_begin = ["\\begin_inset ERT",
- "status Collapsed",
- "",
- "\\layout Standard"]
def remove_oldert(file):
+ ert_begin = ["\\begin_inset ERT",
+ "status Collapsed",
+ "",
+ '\\layout %s' % file.default_layout,
+ ""]
lines = file.body
i = 0
while 1:
new = []
new2 = []
if check_token(lines[i], "\\layout LaTeX"):
- new = ["\layout Standard", "", ""]
- # We have a problem with classes in which Standard is not the default layout!
+ new = ['\layout %s' % file.default_layout, "", ""]
k = i+1
while 1:
break
j = find_end_of_inset(lines, i)
k = find_token(lines, "\\layout", i+1)
- l = get_paragraph(lines, i)
+ l = get_paragraph(lines, i, file.format + 1)
if lines[k] == lines[l]: # same layout
k = k+1
new = lines[k:j]
i = i+1
-def is_ert_paragraph(lines, i):
- if not check_token(lines[i], "\\layout Standard"):
+def is_ert_paragraph(file, i):
+ lines = file.body
+ if not check_token(lines[i], "\\layout"):
+ return 0
+ if not file.is_default_layout(get_layout(lines[i], file.default_layout)):
return 0
i = find_nonempty_line(lines, i+1)
i = find_token(lines, "\\begin_inset ERT", i)
if i == -1:
break
- j = get_paragraph(lines, i)
+ j = get_paragraph(lines, i, file.format + 1)
count = 0
text = []
- while is_ert_paragraph(lines, j):
+ while is_ert_paragraph(file, j):
count = count+1
i2 = find_token(lines, "\\layout", j+1)
note_lines = [txt]+note_lines
for line in note_lines:
- new = new + ["\layout Standard", ""]
+ new = new + ['\layout %s' % file.default_layout, ""]
tmp = string.split(line, '\\')
new = new + [tmp[0]]
for x in tmp[1:]:
i = i+5
-def change_preamble(file):
+def change_header(file):
lines = file.header
i = find_token(lines, "\\use_amsmath", 0)
if i == -1:
"\use_numerical_citations 0"]
-convert = [[220, [change_preamble, change_listof, fix_oldfloatinset,
+convert = [[220, [change_header, change_listof, fix_oldfloatinset,
update_tabular, update_longtables, remove_pextra,
remove_oldfloat, remove_figinset, remove_oldertinset,
remove_oldert, combine_ert, change_infoinset]]]