Я использую библиотеку pylatexen для анализа файла LateX (.tex) на узлы (кортежи). Для каждого узла, соответствующего условию, код LateX, соответствующий указанному узлу, удаляется или заменяется.
Как я могу гарантировать, что все различные изменения происходят (последовательно) в одном и том же тексте, а не чем создавать отдельные версии для каждого цикла, каждый со своим собственным редактированием?
parse_function(latexsourcefile) #result of this function is iterable list of nodes
def traverse(node):
if node.isNodeType(LatexEnvironmentNode) and node.environmentname == "enumerate":
subnodes = node.nodelist
if subnodes[1].macroname == "setcounter":
part_to_remove = str(subnodes[5].latex_verbatim()) #latex code corresponding to matching subnode
result = latexsourcefile.replace(part_to_remove, '')
if node.isNodeType(LatexGroupNode): #recurse into groupnodes
traverse(node)
for node in nodes:
traverse(node)
print(result)
Подробнее здесь: https://stackoverflow.com/questions/787 ... a-for-loop