From 73f01338a25b7ac213392a87a5f1c8e50e6e048e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Matox?= Date: Thu, 24 Nov 2005 12:25:26 +0000 Subject: [PATCH] Fix second part of bug 666 (I\'m not joking). Complete support for older tabular, only the 3 was missing. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10618 a592a061-630c-0410-9148-cb99ea01b6c8 --- lib/lyx2lyx/ChangeLog | 5 ++++ lib/lyx2lyx/lyx_1_0_0.py | 58 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 62 insertions(+), 1 deletion(-) diff --git a/lib/lyx2lyx/ChangeLog b/lib/lyx2lyx/ChangeLog index 7e75f48aa5..ad247b5ab7 100644 --- a/lib/lyx2lyx/ChangeLog +++ b/lib/lyx2lyx/ChangeLog @@ -1,3 +1,8 @@ +2005-11-24 José Matos + + * lyx_1_0_0.py (obsolete_latex_title): "LaTeX Title" -> "Title" + * (update_tabular): update from tabular format 3 to 4 if necessary. + 2005-11-20 Georg Baum * lyx_1_4.py (convert_frameless_box): fix file format argument of diff --git a/lib/lyx2lyx/lyx_1_0_0.py b/lib/lyx2lyx/lyx_1_0_0.py index 199fb3022a..6ca27628b4 100644 --- a/lib/lyx2lyx/lyx_1_0_0.py +++ b/lib/lyx2lyx/lyx_1_0_0.py @@ -16,7 +16,63 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -convert = [[215, []]] +import re +import string +from parser_tools import find_token, find_re + +def obsolete_latex_title(file): + body = file.body + i = 0 + while 1: + i = find_token(body, '\\layout', i) + if i == -1: + return + + if string.find(string.lower(body[i]),'latex title') != -1: + body[i] = '\\layout Title' + + i = i + 1 + + +# Update from tabular format 3 to 4 if necessary +def update_tabular(file): + lines = file.body + lyxtable_re = re.compile(r".*\\LyXTable$") + i=0 + while 1: + i = find_re(lines, lyxtable_re, i) + if i == -1: + break + i = i + 1 + format = lines[i][8:] + + if format != '3': + continue + + lines[i]='multicol4' + i = i + 1 + rows = int(string.split(lines[i])[0]) + columns = int(string.split(lines[i])[1]) + + lines[i] = lines[i] + ' 0 0 -1 -1 -1 -1' + i = i + 1 + + for j in range(rows): + lines[i] = lines[i] + ' 0 0' + i = i + 1 + + for j in range(columns): + lines[i] = lines[i] + ' ' + i = i + 1 + + while string.strip(lines[i]): + lines[i] = lines[i] + ' 0 0 0' + i = i + 1 + + lines[i] = string.strip(lines[i]) + + +convert = [[215, [obsolete_latex_title, update_tabular]]] revert = []