Reverts an InsetArgument to TeX-code
usage:
revert_Argument_to_TeX_brace(document, LineOfBegin, LineOfEnd, StartArgument, EndArgument, isEnvironment, isOpt)
- LineOfBegin is the line of the \begin_layout or \begin_inset statement
+ LineOfBegin is the line of the \\begin_layout or \\begin_inset statement
LineOfEnd is the line of the \end_layout or \end_inset statement, if "0" is given, the end of the file is used instead
StartArgument is the number of the first argument that needs to be converted
EndArgument is the number of the last argument that needs to be converted or the last defined one
- { and } surround a mandatory argument of an environment
usage:
convert_TeX_brace_to_Argument(document, LineOfBeginLayout/Inset, StartArgument, EndArgument, isInset, isEnvironment, isOpt)
- LineOfBeginLayout/Inset is the line of the \begin_layout or \begin_inset statement
+ LineOfBeginLayout/Inset is the line of the \\begin_layout or \\begin_inset statement
StartArgument is the number of the first ERT that needs to be converted
EndArgument is the number of the last ERT that needs to be converted
isInset must be true, if braces inside an InsetLayout needs to be converted
else:
beginBrace = find_token(document.body, "{", endBrace, end_layout)
# assure that the ERTs are consecutive (11 or 12 depending if there is a space between the ERTs or not)
- if beginBrace == endBrace + 11 or beginBrace == endBrace + 12:
+ if beginBrance != -1 and (beginBrace == endBrace + 11 or beginBrace == endBrace + 12):
end = find_token(document.body, "\\end_inset", beginBrace)
document.body[lineERT : end + 1] = ["\\end_layout", "", "\\end_inset"]
if loop == 1:
def revert_IEEEtran(document):
- '''
- Reverts InsetArgument of
- Page headings
- Biography
- Biography without photo
- to TeX-code
- '''
- if document.textclass == "IEEEtran":
+ '''
+ Reverts InsetArgument of
+ Page headings
+ Biography
+ Biography without photo
+ to TeX-code
+ '''
+ if document.textclass != "IEEEtran":
+ return
+
+ layouts = {"Page headings": False,
+ "Biography without photo": True}
+
+ for layout in list(layouts.keys()):
+ i = 0
+ while True:
+ i = find_token(document.body, '\\begin_layout ' + layout, i)
+ if i == -1:
+ break
+ revert_Argument_to_TeX_brace(document, i, 0, 1, 1, layouts[layout], False)
+ i += 1
+
i = 0
- i2 = 0
- j = 0
- k = 0
while True:
- if i != -1:
- i = find_token(document.body, "\\begin_layout Page headings", i)
- if i != -1:
+ i = find_token(document.body, '\\begin_inset Flex Paragraph Start', i)
+ if i == -1:
+ break
revert_Argument_to_TeX_brace(document, i, 0, 1, 1, False, False)
i += 1
- if i2 != -1:
- i2 = find_token(document.body, "\\begin_inset Flex Paragraph Start", i2)
- if i2 != -1:
- revert_Argument_to_TeX_brace(document, i2, 0, 1, 1, False, False)
- i2 = i2 + 1
- if j != -1:
- j = find_token(document.body, "\\begin_layout Biography without photo", j)
- if j != -1:
- revert_Argument_to_TeX_brace(document, j, 0, 1, 1, True, False)
- j += 1
- if k != -1:
- k = find_token(document.body, "\\begin_layout Biography", k)
- kA = find_token(document.body, "\\begin_layout Biography without photo", k)
- if k == kA and k != -1:
- k += 1
- continue
- if k != -1:
+
+ i = 0
+ while True:
+ i = find_token_exact(document.body, "\\begin_layout Biography", i)
+ if i == -1:
+ break
+
+ if document.body[i] == "\\begin_layout Biography without photo":
+ i += 1
+ continue
+
# start with the second argument, therefore 2
- revert_Argument_to_TeX_brace(document, k, 0, 2, 2, True, False)
- k += 1
- if i == -1 and i2 == -1 and j == -1 and k == -1:
- return
+ revert_Argument_to_TeX_brace(document, i, 0, 2, 2, True, False)
+ i += 1
def revert_IEEEtran_2(document):
def convert_IEEEtran(document):
- '''
- Converts ERT of
- Page headings
- Biography
- Biography without photo
- to InsetArgument
- '''
- if document.textclass == "IEEEtran":
+ '''
+ Converts ERT of
+ Page headings
+ Biography
+ Biography without photo
+ to InsetArgument
+ '''
+ if document.textclass != "IEEEtran":
+ return
+
+ layouts = {"Page headings": False,
+ "Biography without photo": True}
+
+ for layout in list(layouts.keys()):
+ i = 0
+ while True:
+ i = find_token(document.body, '\\begin_layout ' + layout, i)
+ if i == -1:
+ break
+ convert_TeX_brace_to_Argument(document, i, 1, 1, False, layouts[layout], False)
+ i += 1
+
i = 0
- j = 0
- k = 0
while True:
- if i != -1:
- i = find_token(document.body, "\\begin_layout Page headings", i)
- if i != -1:
- convert_TeX_brace_to_Argument(document, i, 1, 1, False, False, False)
- i += 1
- if j != -1:
- j = find_token(document.body, "\\begin_layout Biography without photo", j)
- if j != -1:
- convert_TeX_brace_to_Argument(document, j, 1, 1, False, True, False)
- j += 1
- if k != -1:
- # assure that we don't handle Biography Biography without photo
- k = find_token(document.body, "\\begin_layout Biography", k)
- kA = find_token(document.body, "\\begin_layout Biography without photo", k - 1)
- if k == kA and k != -1:
- k += 1
- continue
- if k != -1:
+ i = find_token_exact(document.body, "\\begin_layout Biography", i)
+ if i == -1:
+ break
+
+ if document.body[i] == "\\begin_layout Biography without photo":
+ i += 1
+ continue
+
# the argument we want to convert is the second one
- convert_TeX_brace_to_Argument(document, k, 2, 2, False, True, False)
- k += 1
- if i == -1 and j == -1 and k == -1:
- return
+ convert_TeX_brace_to_Argument(document, i, 2, 2, False, True, False)
+ i += 1
def revert_AASTeX(document):