From 3fcd8ee4deb2984592b45b173fe2d362b3768b2b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Uwe=20St=C3=B6hr?= Date: Sat, 11 Jul 2009 15:36:11 +0000 Subject: [PATCH] lyx_2_0.py: fix revert_tabularvalign to make it work also for booktabs and for more than one table in a line git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30484 a592a061-630c-0410-9148-cb99ea01b6c8 --- lib/lyx2lyx/lyx_2_0.py | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/lib/lyx2lyx/lyx_2_0.py b/lib/lyx2lyx/lyx_2_0.py index 8966865917..9d3ed63bae 100644 --- a/lib/lyx2lyx/lyx_2_0.py +++ b/lib/lyx2lyx/lyx_2_0.py @@ -208,39 +208,45 @@ def revert_tabularvalign(document): i = j continue # don't set a box for longtables, only delete tabularvalignment - p = find_token(document.body, " -1: - q = document.body[p].find("tabularvalignment") + q = document.body[i+2].find("tabularvalignment") if q > -1: - document.body[p] = document.body[p][:q-1] - document.body[p] = document.body[p] + '>' + document.body[i+2] = document.body[i+2][:q-1] + document.body[i+2] = document.body[i+2] + '>' i = i + 1 # when no longtable if p == -1: - k = find_token(document.body, "') - m = tabularvalignment_re.match(document.body[k]) - if not m: + m = document.body[i+2].find('tabularvalignment="top"') + if m > -1: + tabularvalignment = 't' + m = document.body[i+2].find('tabularvalignment="bottom"') + if m > -1: + tabularvalignment = 'b' + # delete tabularvalignment + q = document.body[i+2].find("tabularvalignment") + if q > -1: + document.body[i+2] = document.body[i+2][:q-1] + document.body[i+2] = document.body[i+2] + '>' + + # don't add a box when centered + if tabularvalignment == 'c': i = j continue - - tabularvalignment = m.group(1) - subst = ['\\end_layout', '\\end_inset'] document.body[j+1:j+1] = subst # just inserts those lines subst = ['\\begin_inset Box Frameless', - 'position "' + tabularvalignment[0] +'"', + 'position "' + tabularvalignment +'"', 'hor_pos "c"', 'has_inner_box 1', 'inner_pos "c"', 'use_parbox 0', - 'width "0col%"', + # we don't know the width, assume 50% + 'width "50col%"', 'special "none"', 'height "1in"', 'height_special "totalheight"', @@ -735,7 +741,7 @@ def revert_longtable_align(document): i = find_token(document.body, "\\begin_inset Tabular", i) if i == -1: break - # the alignment is 2 lines below \\begin_inset Tabular + # the alignment is 2 lines below \\begin_inset Tabular j = document.body[i+2].find("longtabularalignment") if j == -1: break -- 2.39.2