''' self.current_buffer().set_text(u'\N{}') ''' symbol_maps = [ ['greek', [ [u'\N{greek small letter alpha}', '\\alpha'], [u'\N{greek small letter beta}', '\\beta'], [u'\N{greek small letter gamma}', '\\gamma'], [u'\N{greek small letter delta}', '\\delta'], [u'\N{greek small letter epsilon}', '\\epsilon'], [u'\N{greek small letter zeta}', '\\zeta'], [u'\N{greek small letter eta}', '\\eta'], [u'\N{greek small letter theta}', '\\theta'], [u'\N{greek small letter iota}', '\\iota'], [u'\N{greek small letter kappa}', '\\kappa'], [u'\N{greek small letter lamda}', '\\lambda'], [u'\N{greek small letter mu}', '\\mu'], [u'\N{greek small letter nu}', '\\nu'], [u'\N{greek small letter xi}', '\\xi'], [u'\N{greek small letter pi}', '\\pi'], [u'\N{greek small letter rho}', '\\rho'], [u'\N{greek small letter sigma}', '\\sigma'], [u'\N{greek small letter tau}', '\\tau'], [u'\N{greek small letter upsilon}', '\\upsilon'], [u'\N{greek small letter phi}', '\\phi'], [u'\N{greek small letter chi}', '\\chi'], [u'\N{greek small letter psi}', '\\psi'], [u'\N{greek small letter omega}', '\\omega'], ]], ['Greek', [ [u'\N{greek capital letter alpha}', '\\Alpha'], [u'\N{greek capital letter beta}', '\\Beta'], [u'\N{greek capital letter gamma}', '\\Gamma'], [u'\N{greek capital letter delta}', '\\Delta'], [u'\N{greek capital letter epsilon}', '\\Epsilon'], [u'\N{greek capital letter zeta}', '\\Zeta'], [u'\N{greek capital letter eta}', '\\Eta'], [u'\N{greek capital letter theta}', '\\Theta'], [u'\N{greek capital letter iota}', '\\Iota'], [u'\N{greek capital letter kappa}', '\\Kappa'], [u'\N{greek capital letter lamda}', '\\Lambda'], [u'\N{greek capital letter mu}', '\\Mu'], [u'\N{greek capital letter nu}', '\\Nu'], [u'\N{greek capital letter xi}', '\\Xi'], [u'\N{greek capital letter pi}', '\\Pi'], [u'\N{greek capital letter rho}', '\\Rho'], [u'\N{greek capital letter sigma}', '\\Sigma'], [u'\N{greek capital letter tau}', '\\Tau'], [u'\N{greek capital letter upsilon}', '\\Upsilon'], [u'\N{greek capital letter phi}', '\\Phi'], [u'\N{greek capital letter chi}', '\\Chi'], [u'\N{greek capital letter psi}', '\\Psi'], [u'\N{greek capital letter omega}', '\\Omega'], ]], ['Operators', [ [u'\N{integral}', '\\int'], [u'\N{contour integral}', '\\oint'], [u'\N{there exists}', '\\exists'], [u'\N{for all}', '\\forall'], ]], ['Sets', [ [u'\N{union}', '\\union'], [u'\N{intersection}', '\\intersect'], [u'\N{element of}', '\\in'], [u'\N{not an element of}', '\\notin'], [u'\N{subset of}', '\\subset'], [u'\N{not a subset of}', '\\notsubset'], ]], ['Functions', [ ['log', '\\log'], ['ln', '\\ln'], ['sin', '\\sin'], ['cos', '\\cos'], ['tan', '\\tan'], ['cot', '\\cot'], ['exp', '\\exp'], ]], ['Modifiers', [ ]], ] N_COLUMNS = 10 def LaTeX(*a): ''' ''' Button = flauxtext.gtk.Button Table = flauxtext.gtk.Table Label = flauxtext.gtk.Label make_callback = lambda TeX: lambda *a: self.current_buffer().insert_at_cursor(TeX) w = flauxtext.gtk.Window() notebook = flauxtext.gtk.Notebook() w.add(notebook) for page_name, symbol_map in symbol_maps: table = Table() notebook.append_page(table, Label(page_name)) for n, (symbol, TeX) in enumerate(symbol_map): button = Button(symbol) button.connect('clicked', make_callback(TeX)) row, col = divmod(n, N_COLUMNS) table.attach(button, col, col + 1, row, row + 1) w.show_all()