- changed = 0
- for line in open(latex_file, 'r').readlines():
- match = documentclass_re.match(line)
- if match == None:
- tmp.write(line)
- continue
-
- changed = 1
- tmp.write("%s%s\n" % (match.group(1), match.group(3)))
+ changed = False
+ macros = []
+ for line in open(latex_file, 'rb').readlines():
+ if not pdf_output and line.startswith(b"\\documentclass"):
+ changed = True
+ line += b"\\PassOptionsToPackage{draft}{microtype}\n"
+ else:
+ match = def_re.match(line)
+ if match != None:
+ macroname = match.group(2)
+ if macroname in macros:
+ definecmd = match.group(1)
+ if definecmd == b"\\newcommandx":
+ changed = True
+ line = line.replace(definecmd, b"\\renewcommandx")
+ else:
+ macros.append(macroname)
+ tmp.write(line)