if document.textclass == "scrarticle-beamer":
inclusion = "scrartcl.layout"
- while True:
- i = find_token(document.header, "\\begin_local_layout", 0)
- if i == -1:
- k = find_token(document.header, "\\language", 0)
- if k == -1:
- # this should not happen
- document.warning("Malformed LyX document! No \\language header found!")
- break
- document.header[k-1 : k-1] = ["\\begin_local_layout", "\\end_local_layout"]
- i = find_token(document.header, "\\begin_local_layout", 0)
- if i != -1:
- j = find_end_of(document.header, i, "\\begin_local_layout", "\\end_local_layout")
- if j == -1:
- # this should not happen
- break
-
- document.header[i+1 : i+1] = ["### Inserted by lyx2lyx (more [scr]article styles) ###",
- "Input " + inclusion,
- "Input beamer.layout",
- "Provides geometry 0",
- "Provides hyperref 0",
- "DefaultFont",
- " Family Roman",
- " Series Medium",
- " Shape Up",
- " Size Normal",
- " Color None",
- "EndFont",
- "Preamble",
- " \\usepackage{beamerarticle,pgf}",
- " % this default might be overridden by plain title style",
- " \\newcommand\makebeamertitle{\\frame{\\maketitle}}%",
- " \\AtBeginDocument{",
- " \\let\\origtableofcontents=\\tableofcontents",
- " \\def\\tableofcontents{\\@ifnextchar[{\\origtableofcontents}{\\gobbletableofcontents}}",
- " \\def\\gobbletableofcontents#1{\\origtableofcontents}",
- " }",
- "EndPreamble",
- "### End of insertion by lyx2lyx (more [scr]article styles) ###"]
+ i = find_token(document.header, "\\begin_local_layout", 0)
+ if i == -1:
+ k = find_token(document.header, "\\language", 0)
+ if k == -1:
+ # this should not happen
+ document.warning("Malformed LyX document! No \\language header found!")
+ return
+ document.header[k-1 : k-1] = ["\\begin_local_layout", "\\end_local_layout"]
+ i = k - 1
+
+ j = find_end_of(document.header, i, "\\begin_local_layout", "\\end_local_layout")
+ if j == -1:
+ # this should not happen
+ document.warning("Malformed LyX document: Can't find end of local layout!")
return
+ document.header[i+1 : i+1] = [
+ "### Inserted by lyx2lyx (more [scr]article styles) ###",
+ "Input " + inclusion,
+ "Input beamer.layout",
+ "Provides geometry 0",
+ "Provides hyperref 0",
+ "DefaultFont",
+ " Family Roman",
+ " Series Medium",
+ " Shape Up",
+ " Size Normal",
+ " Color None",
+ "EndFont",
+ "Preamble",
+ " \\usepackage{beamerarticle,pgf}",
+ " % this default might be overridden by plain title style",
+ " \\newcommand\makebeamertitle{\\frame{\\maketitle}}%",
+ " \\AtBeginDocument{",
+ " \\let\\origtableofcontents=\\tableofcontents",
+ " \\def\\tableofcontents{\\@ifnextchar[{\\origtableofcontents}{\\gobbletableofcontents}}",
+ " \\def\\gobbletableofcontents#1{\\origtableofcontents}",
+ " }",
+ "EndPreamble",
+ "### End of insertion by lyx2lyx (more [scr]article styles) ###"
+ ]
+
def convert_beamer_article_styles(document):
" Remove included (scr)article styles in beamer article "
if document.textclass not in beamer_articles:
return
- while True:
- i = find_token(document.header, "\\begin_local_layout", 0)
- if i == -1:
- return
+ i = find_token(document.header, "\\begin_local_layout", 0)
+ if i == -1:
+ return
- j = find_end_of(document.header, i, "\\begin_local_layout", "\\end_local_layout")
- if j == -1:
- # this should not happen
- break
+ j = find_end_of(document.header, i, "\\begin_local_layout", "\\end_local_layout")
+ if j == -1:
+ # this should not happen
+ document.warning("Malformed LyX document: Can't find end of local layout!")
+ return
- k = find_token(document.header, "### Inserted by lyx2lyx (more [scr]article styles) ###", i, j)
- if k != -1:
- l = find_token(document.header, "### End of insertion by lyx2lyx (more [scr]article styles) ###", i, j)
- if l == -1:
- # this should not happen
- document.warning("End of lyx2lyx local layout insertion not found!")
- break
+ k = find_token(document.header, "### Inserted by lyx2lyx (more [scr]article styles) ###", i, j)
+ if k != -1:
+ l = find_token(document.header, "### End of insertion by lyx2lyx (more [scr]article styles) ###", i, j)
+ if l == -1:
+ # this should not happen
+ document.warning("End of lyx2lyx local layout insertion not found!")
+ return
+ if k == i + 1 and l == j - 1:
+ # that was all the local layout there was
+ document.header[i : j + 1] = []
+ else:
document.header[k : l + 1] = []
- return
-
def revert_bosnian(document):
"Set the document language to English but assure Bosnian output"
i = l
+def revert_iopart(document):
+ " Input new styles via local layout "
+ if document.textclass != "iopart":
+ return
+
+ i = find_token(document.header, "\\begin_local_layout", 0)
+ if i == -1:
+ k = find_token(document.header, "\\language", 0)
+ if k == -1:
+ # this should not happen
+ document.warning("Malformed LyX document! No \\language header found!")
+ return
+ document.header[k-1 : k-1] = ["\\begin_local_layout", "\\end_local_layout"]
+ i = k-1
+
+ j = find_end_of(document.header, i, "\\begin_local_layout", "\\end_local_layout")
+ if j == -1:
+ # this should not happen
+ document.warning("Malformed LyX document! Can't find end of local layout!")
+ return
+
+ document.header[i+1 : i+1] = [
+ "### Inserted by lyx2lyx (stdlayouts) ###",
+ "Input stdlayouts.inc",
+ "### End of insertion by lyx2lyx (stdlayouts) ###"
+ ]
+
+
+def convert_iopart(document):
+ " Remove local layout we added, if it is there "
+ if document.textclass != "iopart":
+ return
+
+ i = find_token(document.header, "\\begin_local_layout", 0)
+ if i == -1:
+ return
+
+ j = find_end_of(document.header, i, "\\begin_local_layout", "\\end_local_layout")
+ if j == -1:
+ # this should not happen
+ document.warning("Malformed LyX document! Can't find end of local layout!")
+ return
+
+ k = find_token(document.header, "### Inserted by lyx2lyx (stdlayouts) ###", i, j)
+ if k != -1:
+ l = find_token(document.header, "### End of insertion by lyx2lyx (stdlayouts) ###", i, j)
+ if l == -1:
+ # this should not happen
+ document.warning("End of lyx2lyx local layout insertion not found!")
+ return
+ if k == i + 1 and l == j - 1:
+ # that was all the local layout there was
+ document.header[i : j + 1] = []
+ else:
+ document.header[k : l + 1] = []
+
##
# Conversion hub
[514, []],
[515, []],
[516, [convert_inputenc]],
- [517, []]
+ [517, []],
+ [518, [convert_iopart]]
]
revert = [
+ [517, [revert_iopart]],
[516, [revert_quotes]],
[515, []],
[514, [revert_urdu, revert_syriac]],