From 151b606189542704f787cfd550651fbb5bbb628e Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Sun, 6 Dec 2015 10:40:21 +0100 Subject: Add scripts Signed-off-by: Florian Pritz --- flatten-latex | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 flatten-latex (limited to 'flatten-latex') diff --git a/flatten-latex b/flatten-latex new file mode 100755 index 0000000..59d8d9b --- /dev/null +++ b/flatten-latex @@ -0,0 +1,31 @@ +#!/usr/bin/env python +"""Convert a master latex file, +into a single document by including +automatically all the LaTeX documents +which are arguments of +\include or \input +ignoring any \includeonly +""" +import sys +if len(sys.argv)==3: + masterfile=sys.argv[1] + flattenfile=sys.argv[2] +else: + sys.exit('USAGE: %s masterfile.tex flattenfile.tex' %sys.argv[0]) + +filetex=open(masterfile,'r') +texlist=filetex.readlines() +finaltex=open(flattenfile,'w') +for i in texlist: + if i.find(r'\input{')==0 or i.find(r'\include{')==0: + includetex=open(i.split('{')[-1].split('}')[0]+'.tex','r') + finaltex.write(includetex.read()) + finaltex.write('\n') + elif i.find(r'\includeonly{')==0: + finaltex.write(i.replace(r'\includeonly{',r'%\includeonly{')) + else: + finaltex.write(i) + + +filetex.close() +finaltex.close() \ No newline at end of file -- cgit v1.2.3-24-g4f1b