# only revert frameless boxes without an inner box
i = find_token(document.body, '\\begin_inset Box Frameless', i)
if i == -1:
+ # remove the option use_makebox
+ revert_use_makebox(document)
return
z = find_end_of_inset(document.body, i)
if z == -1:
return
j = find_token(document.body, 'use_makebox 1', i)
# assure we found the makebox of the current box
- if j > z or j == -1:
- return
- y = find_token(document.body, "\\begin_layout", i)
- if y > z or y == -1:
- document.warning("Malformed LyX document: Can't find layout in box.")
- return
- # remove the \end_layout \end_inset pair
- document.body[z - 2:z + 1] = put_cmd_in_ert("}")
- # determine the alignment
- k = find_token(document.body, 'hor_pos', j - 4)
- align = document.body[k][9]
- # determine the width
- l = find_token(document.body, 'width "', j + 1)
- length = document.body[l][7:]
- # remove trailing '"'
- length = length[:-1]
- # latex_length returns "bool,length"
- length = latex_length(length).split(",")[1]
- subst = "\\makebox[" + length + "][" \
- + align + "]{"
- document.body[i:y + 1] = put_cmd_in_ert(subst)
+ if j < z and j != -1:
+ y = find_token(document.body, "\\begin_layout", i)
+ if y > z or y == -1:
+ document.warning("Malformed LyX document: Can't find layout in box.")
+ return
+ # remove the \end_layout \end_inset pair
+ document.body[z - 2:z + 1] = put_cmd_in_ert("}")
+ # determine the alignment
+ k = find_token(document.body, 'hor_pos', j - 4)
+ align = document.body[k][9]
+ # determine the width
+ l = find_token(document.body, 'width "', j + 1)
+ length = document.body[l][7:]
+ # remove trailing '"'
+ length = length[:-1]
+ # latex_length returns "bool,length"
+ length = latex_length(length).split(",")[1]
+ subst = "\\makebox[" + length + "][" \
+ + align + "]{"
+ document.body[i:y + 1] = put_cmd_in_ert(subst)
i += 1
+def revert_use_makebox(document):
+ " Deletes use_makebox option of boxes "
+ h = 0
+ while 1:
+ # remove the option use_makebox
+ h = find_token(document.body, 'use_makebox', 0)
+ if h == -1:
+ return
+ del document.body[h]
+ h += 1
+
+
def revert_IEEEtran(document):
" Convert IEEEtran layouts and styles to TeX code "
if document.textclass != "IEEEtran":