lyx2lyx/lyx_2_0.py:

- add routine to revert flex insets to TeX code
- add routine for the new IEEEtran layout file (part 1/2)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34753 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Uwe Stöhr 2010-07-05 02:01:10 +00:00
parent d9ddc95ab8
commit 8adb1e690a

View File

@ -269,7 +269,60 @@ def latex_length(string):
return "False," + string
else:
return "True," + string
def revert_flex_inset(document, name, LaTeXname, position):
" Convert flex insets to TeX code "
i = 0
z = 0
while True:
i = find_token(document.body, '\\begin_inset Flex ' + name, position)
if i == -1:
return
else:
z = find_end_of_inset(document.body, i)
if z == -1:
document.warning("Malformed LyX document: Can't find end of Flex " + name + " inset.")
return
# remove the \end_inset
document.body[z - 2:z + 1] = put_cmd_in_ert("}")
# we need to reset character layouts if necessary
j = find_token(document.body, '\\emph on', i)
k = find_token(document.body, '\\noun on', i)
l = find_token(document.body, '\\series', i)
m = find_token(document.body, '\\family', i)
n = find_token(document.body, '\\shape', i)
o = find_token(document.body, '\\color', i)
p = find_token(document.body, '\\size', i)
q = find_token(document.body, '\\bar under', i)
r = find_token(document.body, '\\uuline on', i)
s = find_token(document.body, '\\uwave on', i)
t = find_token(document.body, '\\strikeout on', i)
if j != -1 and j < z:
document.body.insert(z-2, "\\emph default")
if k != -1 and k < z:
document.body.insert(z-2, "\\noun default")
if l != -1 and l < z:
document.body.insert(z-2, "\\series default")
if m != -1 and m < z:
document.body.insert(z-2, "\\family default")
if n != -1 and n < z:
document.body.insert(z-2, "\\shape default")
if o != -1 and o < z:
document.body.insert(z-2, "\\color inherit")
if p != -1 and p < z:
document.body.insert(z-2, "\\size default")
if q != -1 and q < z:
document.body.insert(z-2, "\\bar default")
if r != -1 and r < z:
document.body.insert(z-2, "\\uuline default")
if s != -1 and s < z:
document.body.insert(z-2, "\\uwave default")
if t != -1 and t < z:
document.body.insert(z-2, "\\strikeout default")
document.body[i:i+4] = put_cmd_in_ert(LaTeXname + "{")
i += 1
####################################################################
@ -1720,7 +1773,7 @@ def revert_argument(document):
def revert_makebox(document):
" Convert \\makebox to ERT "
" Convert \\makebox to TeX code "
i = 0
while 1:
# only revert frameless boxes without an inner box
@ -1755,6 +1808,12 @@ def revert_makebox(document):
i += 1
def revert_IEEEtran(document):
" Convert IEEEtran layouts and styles to TeX codeT "
revert_flex_inset(document, "IEEE membership", "\\IEEEmembership", 0)
revert_flex_inset(document, "Lowercase", "\\MakeLowercase", 0)
##
# Conversion hub
#
@ -1814,7 +1873,7 @@ convert = [[346, []],
revert = [[393, [revert_makebox]],
[392, [revert_argument]],
[391, [revert_beamer_args]],
[390, [revert_align_decimal]],
[390, [revert_align_decimal, revert_IEEEtran]],
[389, [revert_output_sync]],
[388, [revert_html_quotes]],
[387, [revert_pagesizes]],