X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Flyx2lyx%2Flyx_2_1.py;h=074433f1260a6a40f29324e45092745517dc54ae;hb=7158f7b58d81e89c8e0dcd3a6eb8a53b89dc2619;hp=029b54d9959f2edcb31a343dde3c2994b395c59f;hpb=b47b4299e01b90e75bac98f2ecf3a8be5a38b34a;p=lyx.git diff --git a/lib/lyx2lyx/lyx_2_1.py b/lib/lyx2lyx/lyx_2_1.py index 029b54d995..074433f126 100644 --- a/lib/lyx2lyx/lyx_2_1.py +++ b/lib/lyx2lyx/lyx_2_1.py @@ -398,7 +398,7 @@ def convert_japanese_encodings(document): if i == -1: return val = get_value(document.header, "\\inputencoding", i) - if val in jap_enc_dict.keys(): + if val in list(jap_enc_dict.keys()): document.header[i] = "\\inputencoding %s" % jap_enc_dict[val] @@ -413,7 +413,7 @@ def revert_japanese_encodings(document): if i == -1: return val = get_value(document.header, "\\inputencoding", i) - if val in jap_enc_dict.keys(): + if val in list(jap_enc_dict.keys()): document.header[i] = "\\inputencoding %s" % jap_enc_dict[val] @@ -1227,7 +1227,7 @@ def revert_mathdesign(document): if i == -1: return val = get_value(document.header, "\\font_roman", i) - if val in mathdesign_dict.keys(): + if val in list(mathdesign_dict.keys()): preamble = "\\usepackage[%s" % mathdesign_dict[val] expert = False j = find_token(document.header, "\\font_osf true", 0) @@ -1391,7 +1391,7 @@ def revert_mathfonts(document): k = find_token(document.header, "\\font_osf true", 0) if k != -1: rm += "-osf" - if rm in mathfont_dict.keys(): + if rm in list(mathfont_dict.keys()): add_to_preamble(document, mathfont_dict[rm]) document.header[j] = "\\font_roman default" if k != -1: @@ -1412,7 +1412,7 @@ def revert_mdnomath(document): if i == -1: return val = get_value(document.header, "\\font_roman", i) - if val in mathdesign_dict.keys(): + if val in list(mathdesign_dict.keys()): j = find_token(document.header, "\\font_math", 0) if j == -1: document.header[i] = "\\font_roman %s" % mathdesign_dict[val] @@ -1437,7 +1437,7 @@ def convert_mdnomath(document): if i == -1: return val = get_value(document.header, "\\font_roman", i) - if val in mathdesign_dict.keys(): + if val in list(mathdesign_dict.keys()): document.header[i] = "\\font_roman %s" % mathdesign_dict[val] @@ -1454,7 +1454,7 @@ def revert_newtxmath(document): "minion-ntxm": "\\usepackage[minion]{newtxmath}", "newtxmath": "\\usepackage{newtxmath}", } - if val in mathfont_dict.keys(): + if val in list(mathfont_dict.keys()): add_to_preamble(document, mathfont_dict[val]) document.header[i] = "\\font_math auto" @@ -2461,22 +2461,22 @@ def convert_corollary_args(document): document.body[parbeg] = "\\begin_inset Argument 1" elif document.body[ertcontlastline].endswith("]"): # divide the args - ertcontdivline = document.body[ertcontfirstline].find('>[') - if ertcontdivline != -1: + tok = document.body[ertcontfirstline].find('>[') + if tok != -1: if ertcontfirstline < ertcontlastline: # Multiline ERT. Might contain TeX code. Embrace in ERT. document.body[ertcontlastline : ertcontlastline + 1] = [ document.body[ertcontlastline], '\\end_layout', '', '\\end_inset'] - document.body[ertcontdivline : ertcontdivline + 1] = [document.body[ertcontdivline][:tok], + document.body[ertcontfirstline : ertcontfirstline + 1] = [document.body[ertcontfirstline][:tok], '\\end_layout', '', '\\end_inset', '', '', '\\begin_inset Argument 2', 'status collapsed', '', '\\begin_layout Plain Layout', '\\begin_inset ERT', '', 'status open' '', '\\begin_layout Plain Layout', - document.body[ertcontdivline][tok + 2:]] + document.body[ertcontfirstline][tok + 2:-1]] else: - document.body[ertcontdivline : ertcontdivline + 1] = [document.body[ertcontdivline][:tok], + document.body[ertcontfirstline : ertcontfirstline + 1] = [document.body[ertcontfirstline][:tok], '\\end_layout', '', '\\end_inset', '', '', '\\begin_inset Argument 2', 'status collapsed', '', '\\begin_layout Plain Layout', - document.body[ertcontdivline][tok + 2:]] + document.body[ertcontfirstline][tok + 2:-1]] # Convert to ArgInset document.body[parbeg] = "\\begin_inset Argument 1" i = j @@ -2705,8 +2705,22 @@ def revert_beamerargs(document): endPlain = find_end_of_layout(document.body, beginPlain) content = document.body[beginPlain + 1 : endPlain] del document.body[i:j+1] - subst = put_cmd_in_ert("[") + content + put_cmd_in_ert("]") - document.body[realparbeg : realparbeg] = subst + if layoutname == "Description": + # Description only has one (overlay) item arg + subst = put_cmd_in_ert("<") + content + put_cmd_in_ert(">") + # This must be put after the first space (begin of decription body + # in LyX's arkward description list syntax) + # Try to find that place ... + rxx = re.compile(r'^([^\\ ]+ )(.*)$') + for q in range(parbeg, parend): + m = rxx.match(document.body[q]) + if m: + # We found it. Now insert the ERT argument just there: + document.body[q : q] = [m.group(1), ''] + subst + ['', m.group(2)] + break + else: + subst = put_cmd_in_ert("[") + content + put_cmd_in_ert("]") + document.body[realparbeg : realparbeg] = subst elif argnr == "item:2": j = find_end_of_inset(document.body, i) # Find containing paragraph layout @@ -3616,7 +3630,7 @@ def convert_captionlayouts(document): if i == -1: return val = get_value(document.body, "\\begin_layout", i) - if val in caption_dict.keys(): + if val in list(caption_dict.keys()): j = find_end_of_layout(document.body, i) if j == -1: document.warning("Malformed LyX document: Missing `\\end_layout'.") @@ -3652,7 +3666,7 @@ def revert_captionlayouts(document): val = "" if m: val = m.group(1) - if val not in caption_dict.keys(): + if val not in list(caption_dict.keys()): i += 1 continue @@ -3833,7 +3847,7 @@ def revert_newframes(document): val = "" if m: val = m.group(1) - if val not in frame_dict.keys(): + if val not in list(frame_dict.keys()): i += 1 continue # Find end of sequence @@ -3949,7 +3963,7 @@ def convert_encodings(document): if i == -1: return val = get_value(document.header, "\\inputencoding", i) - if val in LaTeX2LyX_enc_dict.keys(): + if val in list(LaTeX2LyX_enc_dict.keys()): document.header[i] = "\\inputencoding %s" % LaTeX2LyX_enc_dict[val] elif val not in known_enc_tuple: document.warning("Ignoring unknown input encoding: `%s'" % val) @@ -3990,7 +4004,7 @@ def revert_encodings(document): if i == -1: return val = get_value(document.header, "\\inputencoding", i) - if val in LyX2LaTeX_enc_dict.keys(): + if val in list(LyX2LaTeX_enc_dict.keys()): document.header[i] = "\\inputencoding %s" % LyX2LaTeX_enc_dict[val] elif val not in known_enc_tuple: document.warning("Ignoring unknown input encoding: `%s'" % val)