Annotation of doc/help/latexSplitter.py, revision 1.2
1.1 bowersj2 1: """Latex Splitter quickee python app.
2:
3: This application assists in spliting large Latex files into lots of
4: smaller ones.
5:
6: To use this application, paste a latex file into the window. Highlight
7: the section you wish to save as an independent fragment. Then hit the
8: button, give the fragment a file name and a topic, and save
9: it. Continue until you've retreived everything out of the file you
10: want.
11:
12: Starting it with a command-line parameter will try to load that file
13: into the text box.
14:
15: This program may require Python as high as 2.2, though 2.1 should
16: do."""
17:
18: from Tkinter import *
19: from ScrolledText import *
20: import anydbm
21: import sys
22: import string
23:
24: dirprefix = "/home/httpd/html/adm/help/"
25:
26: class LatexSplitter:
27: def __init__(self, master):
28: self.frame = Frame(master)
29: self.frame.pack()
30:
31: self.label = Label(self.frame, text = "For documentation on"
32: "this program, consult the source code.")
33: self.label.pack()
34:
35: self.text = ScrolledText(self.frame, width=120, height = 40);
36: self.text.pack(fill = BOTH, expand = 1)
37:
38: self.l2 = Label(self.frame, text = "File Root Name (no .tex):")
39: self.l2.pack()
40: self.topic = Text(self.frame, width=60, height = 1)
41: self.topic.pack()
42:
43: self.button = Button(self.frame, text = "Split & Save", \
44: command = self.splitAndSave)
45: self.button.pack()
46:
47: if len(sys.argv) > 1:
48: f = file(sys.argv[1])
49: self.text.insert("1.0", f.read())
50: f.close()
51:
52: def splitAndSave(self):
53: selection = self.text.get("sel.first", "sel.last")
54: topic = string.strip(self.topic.get("1.0", "end"))
55: filename = dirprefix + string.replace(topic, " ", "_") + ".tex"
56:
57: try:
58: f = file(filename, 'w')
59: except:
60: return
61: f.write(selection)
62: f.close()
63:
64: self.topic.delete("1.0", END)
65: self.text.delete("sel.first", "sel.last")
66:
67: f = file("latexSplitterTempResults", 'w')
1.2 ! bowersj2 68: f.write("\\label{%s}\n\n" % filename)
1.1 bowersj2 69: f.write(self.text.get("1.0", END))
70: f.close()
71:
72: root = Tk()
73: app = LatexSplitter(root)
74: root.mainloop()
75:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>