def convert_pagebreaks(document):
' Convert inline Newpage insets to new format '
- for i in range(len(document.body)):
- document.body[i] = document.body[i].replace('\\newpage', '\\begin_inset Newpage newpage\n\\end_inset')
- document.body[i] = document.body[i].replace('\\pagebreak', '\\begin_inset Newpage pagebreak\n\\end_inset')
- document.body[i] = document.body[i].replace('\\clearpage', '\\begin_inset Newpage clearpage\n\\end_inset')
- document.body[i] = document.body[i].replace('\\cleardoublepage', '\\begin_inset Newpage cleardoublepage\n\\end_inset')
+ i = 0
+ while True:
+ i = find_token(document.body, '\\newpage', i)
+ if i == -1:
+ break
+ document.body[i:i+1] = ['\\begin_inset Newpage newpage',
+ '\\end_inset']
+ i = 0
+ while True:
+ i = find_token(document.body, '\\pagebreak', i)
+ if i == -1:
+ break
+ document.body[i:i+1] = ['\\begin_inset Newpage pagebreak',
+ '\\end_inset']
+ i = 0
+ while True:
+ i = find_token(document.body, '\\clearpage', i)
+ if i == -1:
+ break
+ document.body[i:i+1] = ['\\begin_inset Newpage clearpage',
+ '\\end_inset']
+ i = 0
+ while True:
+ i = find_token(document.body, '\\cleardoublepage', i)
+ if i == -1:
+ break
+ document.body[i:i+1] = ['\\begin_inset Newpage cleardoublepage',
+ '\\end_inset']
def revert_pagebreaks(document):
document.body[i] = document.body[i].replace('\\begin_inset Newpage cleardoublepage', '\\cleardoublepage')
+def convert_linebreaks(document):
+ ' Convert inline Newline insets to new format '
+ i = 0
+ while True:
+ i = find_token(document.body, '\\newline', i)
+ if i == -1:
+ break
+ document.body[i:i+1] = ['\\begin_inset Newline newline',
+ '\\end_inset']
+ i = 0
+ while True:
+ i = find_token(document.body, '\\linebreak', i)
+ if i == -1:
+ break
+ document.body[i:i+1] = ['\\begin_inset Newline linebreak',
+ '\\end_inset']
+
+
+def revert_linebreaks(document):
+ ' Revert \\begin_inset Newline to previous inline format '
+ i = 0
+ while True:
+ i = find_token(document.body, '\\begin_inset Newline', i)
+ if i == -1:
+ return
+ j = find_end_of_inset(document.body, i)
+ if j == -1:
+ document.warning("Malformed LyX document: Could not find end of Newline inset.")
+ continue
+ del document.body[j]
+ document.body[i] = document.body[i].replace('\\begin_inset Newline newline', '\\newline')
+ document.body[i] = document.body[i].replace('\\begin_inset Newline linebreak', '\\linebreak')
+
+
+def convert_japanese_plain(document):
+ "Set language japanese-plain to japanese"
+ i = 0
+ if document.language == "japanese-plain":
+ document.language = "japanese"
+ i = find_token(document.header, "\\language", 0)
+ if i != -1:
+ document.header[i] = "\\language japanese"
+ j = 0
+ while True:
+ j = find_token(document.body, "\\lang japanese-plain", j)
+ if j == -1:
+ return
+ document.body[j] = document.body[j].replace("\\lang japanese-plain", "\\lang japanese")
+ j = j + 1
+
+
##
# Conversion hub
#
[320, []],
[321, [convert_tablines]],
[322, []],
- [323, [convert_pagebreaks]]
+ [323, [convert_pagebreaks]],
+ [324, [convert_linebreaks]],
+ [325, [convert_japanese_plain]],
]
-revert = [[322, [revert_pagebreaks]],
+revert = [[324, []],
+ [323, [revert_linebreaks]],
+ [322, [revert_pagebreaks]],
[321, [revert_local_layout]],
[320, [revert_tablines]],
[319, [revert_protected_hfill]],