/* latex_menu.c generated by valac 0.39.1.3-7091, the Vala compiler
 * generated from latex_menu.vala, do not modify */

/*
 * This file is part of LaTeXila.
 *
 * Copyright © 2010-2011, 2017 Sébastien Wilmet
 *
 * LaTeXila is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * LaTeXila is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with LaTeXila.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <glib/gi18n-lib.h>
#include "config.h"
#include <stdlib.h>
#include <string.h>
#include <latexila.h>
#include <amtk/amtk.h>
#include <gio/gio.h>
#include <tepl/tepl.h>


#define TYPE_LATEX_MENU (latex_menu_get_type ())
#define LATEX_MENU(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LATEX_MENU, LatexMenu))
#define LATEX_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LATEX_MENU, LatexMenuClass))
#define IS_LATEX_MENU(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LATEX_MENU))
#define IS_LATEX_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LATEX_MENU))
#define LATEX_MENU_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LATEX_MENU, LatexMenuClass))

typedef struct _LatexMenu LatexMenu;
typedef struct _LatexMenuClass LatexMenuClass;
typedef struct _LatexMenuPrivate LatexMenuPrivate;

#define TYPE_MAIN_WINDOW (main_window_get_type ())
#define MAIN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MAIN_WINDOW, MainWindow))
#define MAIN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MAIN_WINDOW, MainWindowClass))
#define IS_MAIN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MAIN_WINDOW))
#define IS_MAIN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MAIN_WINDOW))
#define MAIN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MAIN_WINDOW, MainWindowClass))

typedef struct _MainWindow MainWindow;
typedef struct _MainWindowClass MainWindowClass;
enum  {
	LATEX_MENU_0_PROPERTY,
	LATEX_MENU_NUM_PROPERTIES
};
static GParamSpec* latex_menu_properties[LATEX_MENU_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define TYPE_MENU_TOOL_ACTION (menu_tool_action_get_type ())
#define MENU_TOOL_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MENU_TOOL_ACTION, MenuToolAction))
#define MENU_TOOL_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MENU_TOOL_ACTION, MenuToolActionClass))
#define IS_MENU_TOOL_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MENU_TOOL_ACTION))
#define IS_MENU_TOOL_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MENU_TOOL_ACTION))
#define MENU_TOOL_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MENU_TOOL_ACTION, MenuToolActionClass))

typedef struct _MenuToolAction MenuToolAction;
typedef struct _MenuToolActionClass MenuToolActionClass;

struct _LatexMenu {
	GtkActionGroup parent_instance;
	LatexMenuPrivate * priv;
};

struct _LatexMenuClass {
	GtkActionGroupClass parent_class;
};

struct _LatexMenuPrivate {
	MainWindow* main_window;
};


static gpointer latex_menu_parent_class = NULL;

GType latex_menu_get_type (void) G_GNUC_CONST;
GType main_window_get_type (void) G_GNUC_CONST;
#define LATEX_MENU_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_LATEX_MENU, LatexMenuPrivate))
void latex_menu_on_math_space_small (LatexMenu* self);
static void _latex_menu_on_math_space_small_gtk_action_callback (GtkAction* action, 
                                                          gpointer self);
void latex_menu_on_math_space_medium (LatexMenu* self);
static void _latex_menu_on_math_space_medium_gtk_action_callback (GtkAction* action, 
                                                           gpointer self);
void latex_menu_on_math_space_large (LatexMenu* self);
static void _latex_menu_on_math_space_large_gtk_action_callback (GtkAction* action, 
                                                          gpointer self);
void latex_menu_on_math_space_quad (LatexMenu* self);
static void _latex_menu_on_math_space_quad_gtk_action_callback (GtkAction* action, 
                                                         gpointer self);
void latex_menu_on_math_space_qquad (LatexMenu* self);
static void _latex_menu_on_math_space_qquad_gtk_action_callback (GtkAction* action, 
                                                          gpointer self);
void latex_menu_on_math_left_delimiter_1 (LatexMenu* self);
static void _latex_menu_on_math_left_delimiter_1_gtk_action_callback (GtkAction* action, 
                                                               gpointer self);
void latex_menu_on_math_left_delimiter_2 (LatexMenu* self);
static void _latex_menu_on_math_left_delimiter_2_gtk_action_callback (GtkAction* action, 
                                                               gpointer self);
void latex_menu_on_math_left_delimiter_3 (LatexMenu* self);
static void _latex_menu_on_math_left_delimiter_3_gtk_action_callback (GtkAction* action, 
                                                               gpointer self);
void latex_menu_on_math_left_delimiter_4 (LatexMenu* self);
static void _latex_menu_on_math_left_delimiter_4_gtk_action_callback (GtkAction* action, 
                                                               gpointer self);
void latex_menu_on_math_left_delimiter_5 (LatexMenu* self);
static void _latex_menu_on_math_left_delimiter_5_gtk_action_callback (GtkAction* action, 
                                                               gpointer self);
void latex_menu_on_math_left_delimiter_6 (LatexMenu* self);
static void _latex_menu_on_math_left_delimiter_6_gtk_action_callback (GtkAction* action, 
                                                               gpointer self);
void latex_menu_on_math_left_delimiter_7 (LatexMenu* self);
static void _latex_menu_on_math_left_delimiter_7_gtk_action_callback (GtkAction* action, 
                                                               gpointer self);
void latex_menu_on_math_left_delimiter_8 (LatexMenu* self);
static void _latex_menu_on_math_left_delimiter_8_gtk_action_callback (GtkAction* action, 
                                                               gpointer self);
void latex_menu_on_math_left_delimiter_9 (LatexMenu* self);
static void _latex_menu_on_math_left_delimiter_9_gtk_action_callback (GtkAction* action, 
                                                               gpointer self);
void latex_menu_on_math_right_delimiter_1 (LatexMenu* self);
static void _latex_menu_on_math_right_delimiter_1_gtk_action_callback (GtkAction* action, 
                                                                gpointer self);
void latex_menu_on_math_right_delimiter_2 (LatexMenu* self);
static void _latex_menu_on_math_right_delimiter_2_gtk_action_callback (GtkAction* action, 
                                                                gpointer self);
void latex_menu_on_math_right_delimiter_3 (LatexMenu* self);
static void _latex_menu_on_math_right_delimiter_3_gtk_action_callback (GtkAction* action, 
                                                                gpointer self);
void latex_menu_on_math_right_delimiter_4 (LatexMenu* self);
static void _latex_menu_on_math_right_delimiter_4_gtk_action_callback (GtkAction* action, 
                                                                gpointer self);
void latex_menu_on_math_right_delimiter_5 (LatexMenu* self);
static void _latex_menu_on_math_right_delimiter_5_gtk_action_callback (GtkAction* action, 
                                                                gpointer self);
void latex_menu_on_math_right_delimiter_6 (LatexMenu* self);
static void _latex_menu_on_math_right_delimiter_6_gtk_action_callback (GtkAction* action, 
                                                                gpointer self);
void latex_menu_on_math_right_delimiter_7 (LatexMenu* self);
static void _latex_menu_on_math_right_delimiter_7_gtk_action_callback (GtkAction* action, 
                                                                gpointer self);
void latex_menu_on_math_right_delimiter_8 (LatexMenu* self);
static void _latex_menu_on_math_right_delimiter_8_gtk_action_callback (GtkAction* action, 
                                                                gpointer self);
void latex_menu_on_math_right_delimiter_9 (LatexMenu* self);
static void _latex_menu_on_math_right_delimiter_9_gtk_action_callback (GtkAction* action, 
                                                                gpointer self);
LatexMenu* latex_menu_new (MainWindow* main_window);
LatexMenu* latex_menu_construct (GType object_type, 
                                 MainWindow* main_window);
static GtkAction* latex_menu_get_menu_tool_action (LatexMenu* self, 
                                            const gchar* name, 
                                            const gchar* label, 
                                            const gchar* icon_name);
MenuToolAction* menu_tool_action_new (const gchar* name, 
                                      const gchar* label, 
                                      const gchar* tooltip, 
                                      const gchar* icon_name);
MenuToolAction* menu_tool_action_construct (GType object_type, 
                                            const gchar* name, 
                                            const gchar* label, 
                                            const gchar* tooltip, 
                                            const gchar* icon_name);
GType menu_tool_action_get_type (void) G_GNUC_CONST;
static void latex_menu_text_buffer_insert (LatexMenu* self, 
                                    const gchar* text_before, 
                                    const gchar* text_after, 
                                    const gchar* text_if_no_selection);
static void latex_menu_finalize (GObject * obj);

static const GtkActionEntry LATEX_MENU_latex_action_entries[205] = {{"Latex", NULL, "_LaTeX"}, {"Sectioning", "sectioning", N_ ("_Sectioning")}, {"SectioningPart", NULL, "\\_part", NULL, N_ ("Part")}, {"SectioningChapter", NULL, "\\_chapter", NULL, N_ ("Chapter")}, {"SectioningSection", NULL, "\\_section", NULL, N_ ("Section")}, {"SectioningSubsection", NULL, "\\s_ubsection", NULL, N_ ("Sub-section")}, {"SectioningSubsubsection", NULL, "\\su_bsubsection", NULL, N_ ("Sub-sub-section")}, {"SectioningParagraph", NULL, "\\p_aragraph", NULL, N_ ("Paragraph")}, {"SectioningSubparagraph", NULL, "\\subpa_ragraph", NULL, N_ ("Sub-paragraph")}, {"References", "references", N_ ("_References")}, {"ReferencesLabel", NULL, "\\_label", NULL, N_ ("Label")}, {"ReferencesRef", NULL, "\\_ref", NULL, N_ ("Reference to a label")}, {"ReferencesPageref", NULL, "\\_pageref", NULL, N_ ("Page reference to a label")}, {"ReferencesIndex", NULL, "\\_index", NULL, N_ ("Add a word to the index")}, {"ReferencesFootnote", NULL, "\\_footnote", NULL, N_ ("Footnote")}, {"ReferencesCite", NULL, "\\_cite", NULL, N_ ("Reference to a bibliography item")}, {"Environments", "format-justify-center", "_Environments"}, {"EnvCenter", "format-justify-center", "\\begin{_center}", NULL, N_ ("Center - \\begin{center}")}, {"EnvLeft", "format-justify-left", "\\begin{flush_left}", NULL, N_ ("Align Left - \\begin{flushleft}")}, {"EnvRight", "format-justify-right", "\\begin{flush_right}", NULL, N_ ("Align Right - \\begin{flushright}")}, {"EnvTable", "table", "\\begin{_table}", NULL, N_ ("Table - \\begin{table}")}, {"EnvQuote", NULL, "\\begin{_quote}", NULL, N_ ("Quote - \\begin{quote}")}, {"EnvQuotation", NULL, "\\begin{qu_otation}", NULL, N_ ("Quotation - \\begin{quotation}")}, {"EnvVerse", NULL, "\\begin{_verse}", NULL, N_ ("Verse - \\begin{verse}")}, {"EnvVerbatim", NULL, "\\begin{ver_batim}", NULL, N_ ("Verbatim - \\begin{verbatim}")}, {"EnvMinipage", NULL, "\\begin{_minipage}", NULL, N_ ("Minipage - \\begin{minipage}")}, {"EnvTitlepage", NULL, "\\begin{titlepage}", NULL, N_ ("Title page - \\begin{titlepage}")}, {"ListEnvironments", "list-itemize", N_ ("_List Environments")}, {"ListEnvItemize", "list-itemize", "\\begin{_itemize}", NULL, N_ ("Bulleted List - \\begin{itemize}")}, {"ListEnvEnumerate", "list-enumerate", "\\begin{_enumerate}", NULL, N_ ("Enumeration - \\begin{enumerate}")}, {"ListEnvDescription", "list-description", "\\begin{_description}", NULL, N_ ("Description - \\begin{description}")}, {"ListEnvList", NULL, "\\begin{_list}", NULL, N_ ("Custom list - \\begin{list}")}, {"ListEnvItem", "list-item", "\\i_tem", "<Alt><Shift>H", N_ ("List item - \\item")}, {"CharacterSize", "character-size", N_ ("_Characters Sizes")}, {"CharacterSizeTiny", NULL, "_tiny", NULL, "tiny"}, {"CharacterSizeScriptsize", NULL, "_scriptsize", NULL, "scriptsize"}, {"CharacterSizeFootnotesize", NULL, "_footnotesize", NULL, "footnotesize"}, {"CharacterSizeSmall", NULL, "s_mall", NULL, "small"}, {"CharacterSizeNormalsize", NULL, "_normalsize", NULL, "normalsize"}, {"CharacterSizelarge", NULL, "_large", NULL, "large"}, {"CharacterSizeLarge", NULL, "L_arge", NULL, "Large"}, {"CharacterSizeLARGE", NULL, "LA_RGE", NULL, "LARGE"}, {"CharacterSizehuge", NULL, "_huge", NULL, "huge"}, {"CharacterSizeHuge", NULL, "H_uge", NULL, "Huge"}, {"FontStyles", "bold", N_ ("_Font Styles")}, {"Bold", "bold", "\\text_bf", "<Control>B", N_ ("Bold - \\textbf")}, {"Italic", "italic", "\\text_it", "<Control>I", N_ ("Italic - \\textit")}, {"Typewriter", "typewriter", "\\text_tt", "<Alt><Shift>T", N_ ("Typewriter - \\texttt")}, {"Slanted", "slanted", "\\text_sl", "<Alt><Shift>S", N_ ("Slanted - \\textsl")}, {"SmallCaps", "small_caps", "\\texts_c", "<Alt><Shift>C", N_ ("Small Capitals - \\textsc")}, {"SansSerif", "sans_serif", "\\texts_f", NULL, N_ ("Sans Serif - \\textsf")}, {"Emph", NULL, "\\_emph", "<Control>E", N_ ("Emphasized - \\emph")}, {"Underline", "underline", "\\_underline", "<Control>U", N_ ("Underline - \\underline")}, {"FontFamily", NULL, N_ ("_Font Family")}, {"FontFamilyRoman", "roman", "\\_rmfamily", NULL, N_ ("Roman - \\rmfamily")}, {"FontFamilySansSerif", "sans_serif", "\\_sffamily", NULL, N_ ("Sans Serif - \\sffamily")}, {"FontFamilyMonospace", "typewriter", "\\_ttfamily", NULL, N_ ("Monospace - \\ttfamily")}, {"FontSeries", NULL, N_ ("F_ont Series")}, {"FontSeriesMedium", "roman", "\\_mdseries", NULL, N_ ("Medium - \\mdseries")}, {"FontSeriesBold", "bold", "\\_bfseries", NULL, N_ ("Bold - \\bfseries")}, {"FontShape", NULL, N_ ("Fo_nt Shape")}, {"FontShapeUpright", "roman", "\\_upshape", NULL, N_ ("Upright - \\upshape")}, {"FontShapeItalic", "italic", "\\_itshape", NULL, N_ ("Italic - \\itshape")}, {"FontShapeSlanted", "slanted", "\\_slshape", NULL, N_ ("Slanted - \\slshape")}, {"FontShapeSmallCaps", "small_caps", "\\s_cshape", NULL, N_ ("Small Capitals - \\scshape")}, {"Tabular", "table", N_ ("_Tabular")}, {"TabularTabbing", NULL, "\\begin{ta_bbing}", NULL, N_ ("Tabbing - \\begin{tabbing}")}, {"TabularTabular", NULL, "\\begin{_tabular}", NULL, N_ ("Tabular - \\begin{tabular}")}, {"TabularMulticolumn", NULL, "\\_multicolumn", NULL, N_ ("Multicolumn - \\multicolumn")}, {"TabularHline", NULL, "\\_hline", NULL, N_ ("Horizontal line - \\hline")}, {"TabularVline", NULL, "\\_vline", NULL, N_ ("Vertical line - \\vline")}, {"TabularCline", NULL, "\\_cline", NULL, N_ ("Horizontal line (columns specified) - \\cline")}, {"Presentation", "x-office-presentation", "_Presentation"}, {"PresentationFrame", NULL, "\\begin{frame}", NULL, N_ ("Frame - \\begin{frame}")}, {"PresentationBlock", NULL, "\\begin{block}", NULL, N_ ("Block - \\begin{block}")}, {"PresentationColumns", NULL, "\\begin{columns}", NULL, N_ ("Two columns - \\begin{columns}")}, {"Spacing", NULL, N_ ("_Spacing")}, {"SpacingNewLine", NULL, N_ ("New _Line"), NULL, N_ ("New Line - \\\\")}, {"SpacingNewPage", NULL, "\\new_page", NULL, N_ ("New page - \\newpage")}, {"SpacingLineBreak", NULL, "\\l_inebreak", NULL, N_ ("Line break - \\linebreak")}, {"SpacingPageBreak", NULL, "\\p_agebreak", NULL, N_ ("Page break - \\pagebreak")}, {"SpacingBigSkip", NULL, "\\_bigskip", NULL, N_ ("Big skip - \\bigskip")}, {"SpacingMedSkip", NULL, "\\_medskip", NULL, N_ ("Medium skip - \\medskip")}, {"SpacingHSpace", NULL, "\\_hspace", NULL, N_ ("Horizontal space - \\hspace")}, {"SpacingVSpace", NULL, "\\_vspace", NULL, N_ ("Vertical space - \\vspace")}, {"SpacingNoIndent", NULL, "\\_noindent", NULL, N_ ("No paragraph indentation - \\noindent")}, {"Accents", NULL, N_ ("International _Accents")}, {"Accent0", "accent0", "\\'", NULL, N_ ("Acute accent - \\'")}, {"Accent1", "accent1", "\\`", NULL, N_ ("Grave accent - \\`")}, {"Accent2", "accent2", "\\^", NULL, N_ ("Circumflex accent - \\^")}, {"Accent3", "accent3", "\\\"", NULL, N_ ("Trema - \\\"")}, {"Accent4", "accent4", "\\~", NULL, N_ ("Tilde - \\~")}, {"Accent5", "accent5", "\\=", NULL, N_ ("Macron - \\=")}, {"Accent6", "accent6", "\\.", NULL, N_ ("Dot above - \\.")}, {"Accent7", "accent7", "\\v", NULL, N_ ("Caron - \\v")}, {"Accent8", "accent8", "\\u", NULL, N_ ("Breve - \\u")}, {"Accent9", "accent9", "\\H", NULL, N_ ("Double acute accent - \\H")}, {"Accent10", "accent10", "\\c", NULL, N_ ("Cedilla - \\c")}, {"Accent11", "accent11", "\\k", NULL, N_ ("Ogonek - \\k")}, {"Accent12", "accent12", "\\d", NULL, N_ ("Dot below - \\d")}, {"Accent13", "accent13", "\\b", NULL, N_ ("Macron below - \\b")}, {"Accent14", "accent14", "\\r", NULL, N_ ("Ring - \\r")}, {"Accent15", "accent15", "\\t", NULL, N_ ("Tie - \\t")}, {"LatexMisc", NULL, N_ ("_Misc")}, {"LatexDocumentClass", NULL, "\\_documentclass", NULL, N_ ("Document class - \\documentclass")}, {"LatexUsepackage", NULL, "\\_usepackage", NULL, N_ ("Use package - \\usepackage")}, {"LatexAMS", NULL, N_ ("_AMS packages"), NULL, N_ ("AMS packages")}, {"LatexAuthor", NULL, "\\au_thor", NULL, N_ ("Author - \\author")}, {"LatexTitle", NULL, "\\t_itle", NULL, N_ ("Title - \\title")}, {"LatexBeginDocument", NULL, "\\begin{d_ocument}", NULL, N_ ("Content of the document - \\begin{document}")}, {"LatexMakeTitle", NULL, "\\_maketitle", NULL, N_ ("Make title - \\maketitle")}, {"LatexTableOfContents", NULL, "\\tableof_contents", NULL, N_ ("Table of contents - \\tableofcontents")}, {"LatexAbstract", NULL, "\\begin{abst_ract}", NULL, N_ ("Abstract - \\begin{abstract}")}, {"LatexIncludeGraphics", NULL, "\\include_graphics", NULL, N_ ("Include an image (graphicx package) - \\includegraphics")}, {"LatexInput", NULL, "\\_input", NULL, N_ ("Include a file - \\input")}, {"Math", NULL, N_ ("_Math")}, {"MathEnvironments", NULL, N_ ("_Math Environments")}, {"MathEnvNormal", NULL, N_ ("_Mathematical Environment - $...$"), "<Alt><Shift>M", N_ ("Mathematical Environment - $...$")}, {"MathEnvCentered", NULL, N_ ("_Centered Formula - \\[...\\]"), "<Alt><Shift>E", N_ ("Centered Formula - \\[...\\]")}, {"MathEnvNumbered", NULL, N_ ("_Numbered Equation - \\begin{equation}"), NULL, N_ ("Numbered Equation - \\begin{equation}")}, {"MathEnvArray", NULL, N_ ("_Array of Equations - \\begin{align*}"), NULL, N_ ("Array of Equations - \\begin{align*}")}, {"MathEnvNumberedArray", NULL, N_ ("Numbered Array of _Equations - \\begin{align}"), NULL, N_ ("Numbered Array of Equations - \\begin{align}")}, {"MathSuperscript", "math-superscript", N_ ("_Superscript - ^{}"), NULL, N_ ("Superscript - ^{}")}, {"MathSubscript", "math-subscript", N_ ("Su_bscript - __{}"), NULL, N_ ("Subscript - _{}")}, {"MathFrac", "math-frac", N_ ("_Fraction - \\frac{}{}"), "<Alt><Shift>F", N_ ("Fraction - \\frac{}{}")}, {"MathSquareRoot", "math-square-root", N_ ("Square _Root - \\sqrt{}"), NULL, N_ ("Square Root - \\sqrt{}")}, {"MathNthRoot", "math-nth-root", N_ ("_N-th Root - \\sqrt[]{}"), NULL, N_ ("N-th Root - \\sqrt[]{}")}, {"MathFunctions", NULL, N_ ("Math _Functions")}, {"MathFuncArccos", NULL, "\\arccos", NULL, NULL}, {"MathFuncArcsin", NULL, "\\arcsin", NULL, NULL}, {"MathFuncArctan", NULL, "\\arctan", NULL, NULL}, {"MathFuncCos", NULL, "\\cos", NULL, NULL}, {"MathFuncCosh", NULL, "\\cosh", NULL, NULL}, {"MathFuncCot", NULL, "\\cot", NULL, NULL}, {"MathFuncCoth", NULL, "\\coth", NULL, NULL}, {"MathFuncCsc", NULL, "\\csc", NULL, NULL}, {"MathFuncDeg", NULL, "\\deg", NULL, NULL}, {"MathFuncDet", NULL, "\\det", NULL, NULL}, {"MathFuncDim", NULL, "\\dim", NULL, NULL}, {"MathFuncExp", NULL, "\\exp", NULL, NULL}, {"MathFuncGcd", NULL, "\\gcd", NULL, NULL}, {"MathFuncHom", NULL, "\\hom", NULL, NULL}, {"MathFuncInf", NULL, "\\inf", NULL, NULL}, {"MathFuncKer", NULL, "\\ker", NULL, NULL}, {"MathFuncLg", NULL, "\\lg", NULL, NULL}, {"MathFuncLim", NULL, "\\lim", NULL, NULL}, {"MathFuncLiminf", NULL, "\\liminf", NULL, NULL}, {"MathFuncLimsup", NULL, "\\limsup", NULL, NULL}, {"MathFuncLn", NULL, "\\ln", NULL, NULL}, {"MathFuncLog", NULL, "\\log", NULL, NULL}, {"MathFuncMax", NULL, "\\max", NULL, NULL}, {"MathFuncMin", NULL, "\\min", NULL, NULL}, {"MathFuncSec", NULL, "\\sec", NULL, NULL}, {"MathFuncSin", NULL, "\\sin", NULL, NULL}, {"MathFuncSinh", NULL, "\\sinh", NULL, NULL}, {"MathFuncSup", NULL, "\\sup", NULL, NULL}, {"MathFuncTan", NULL, "\\tan", NULL, NULL}, {"MathFuncTanh", NULL, "\\tanh", NULL, NULL}, {"MathFontStyles", NULL, N_ ("Math Font _Styles")}, {"MathFSrm", "roman", "\\math_rm", NULL, N_ ("Roman - \\mathrm")}, {"MathFSit", "italic", "\\math_it", NULL, N_ ("Italic - \\mathit")}, {"MathFSbf", "bold", "\\math_bf", NULL, N_ ("Bold - \\mathbf")}, {"MathFSsf", "sans_serif", "\\math_sf", NULL, N_ ("Sans Serif - \\mathsf")}, {"MathFStt", "typewriter", "\\math_tt", NULL, N_ ("Typewriter - \\mathtt")}, {"MathFScal", "mathcal", "\\math_cal", NULL, N_ ("Calligraphic - \\mathcal")}, {"MathFSbb", "blackboard", "\\_mathbb", NULL, N_ ("Blackboard (uppercase only)  - \\mathbb (amsfonts package)")}, {"MathFSfrak", "mathfrak", "\\math_frak", NULL, N_ ("Euler Fraktur - \\mathfrak (amsfonts package)")}, {"MathAccents", NULL, N_ ("Math _Accents")}, {"MathAccentAcute", "mathaccent0", "\\_acute", NULL, NULL}, {"MathAccentGrave", "mathaccent1", "\\_grave", NULL, NULL}, {"MathAccentTilde", "mathaccent2", "\\_tilde", NULL, NULL}, {"MathAccentBar", "mathaccent3", "\\_bar", NULL, NULL}, {"MathAccentVec", "mathaccent4", "\\_vec", NULL, NULL}, {"MathAccentHat", "mathaccent5", "\\_hat", NULL, NULL}, {"MathAccentCheck", "mathaccent6", "\\_check", NULL, NULL}, {"MathAccentBreve", "mathaccent7", "\\b_reve", NULL, NULL}, {"MathAccentDot", "mathaccent8", "\\_dot", NULL, NULL}, {"MathAccentDdot", "mathaccent9", "\\dd_ot", NULL, NULL}, {"MathAccentRing", "mathaccent10", "\\_mathring", NULL, NULL}, {"MathSpaces", NULL, N_ ("Math _Spaces")}, {"MathSpaceSmall", NULL, N_ ("_Small"), NULL, N_ ("Small - \\,"), (GCallback) _latex_menu_on_math_space_small_gtk_action_callback}, {"MathSpaceMedium", NULL, N_ ("_Medium"), NULL, N_ ("Medium - \\:"), (GCallback) _latex_menu_on_math_space_medium_gtk_action_callback}, {"MathSpaceLarge", NULL, N_ ("_Large"), NULL, N_ ("Large - \\;"), (GCallback) _latex_menu_on_math_space_large_gtk_action_callback}, {"MathSpaceQuad", NULL, "\\_quad", NULL, NULL, (GCallback) _latex_menu_on_math_space_quad_gtk_action_callback}, {"MathSpaceQquad", NULL, "\\qqu_ad", NULL, NULL, (GCallback) _latex_menu_on_math_space_qquad_gtk_action_callback}, {"MathLeftDelimiters", "delimiters-left", N_ ("_Left Delimiters")}, {"MathLeftDelimiter1", NULL, N_ ("left ("), NULL, NULL, (GCallback) _latex_menu_on_math_left_delimiter_1_gtk_action_callback}, {"MathLeftDelimiter2", NULL, N_ ("left ["), NULL, NULL, (GCallback) _latex_menu_on_math_left_delimiter_2_gtk_action_callback}, {"MathLeftDelimiter3", NULL, N_ ("left { "), NULL, NULL, (GCallback) _latex_menu_on_math_left_delimiter_3_gtk_action_callback}, {"MathLeftDelimiter4", NULL, N_ ("left <"), NULL, NULL, (GCallback) _latex_menu_on_math_left_delimiter_4_gtk_action_callback}, {"MathLeftDelimiter5", NULL, N_ ("left )"), NULL, NULL, (GCallback) _latex_menu_on_math_left_delimiter_5_gtk_action_callback}, {"MathLeftDelimiter6", NULL, N_ ("left ]"), NULL, NULL, (GCallback) _latex_menu_on_math_left_delimiter_6_gtk_action_callback}, {"MathLeftDelimiter7", NULL, N_ ("left  }"), NULL, NULL, (GCallback) _latex_menu_on_math_left_delimiter_7_gtk_action_callback}, {"MathLeftDelimiter8", NULL, N_ ("left >"), NULL, NULL, (GCallback) _latex_menu_on_math_left_delimiter_8_gtk_action_callback}, {"MathLeftDelimiter9", NULL, N_ ("left ."), NULL, NULL, (GCallback) _latex_menu_on_math_left_delimiter_9_gtk_action_callback}, {"MathRightDelimiters", "delimiters-right", N_ ("Right _Delimiters")}, {"MathRightDelimiter1", NULL, N_ ("right )"), NULL, NULL, (GCallback) _latex_menu_on_math_right_delimiter_1_gtk_action_callback}, {"MathRightDelimiter2", NULL, N_ ("right ]"), NULL, NULL, (GCallback) _latex_menu_on_math_right_delimiter_2_gtk_action_callback}, {"MathRightDelimiter3", NULL, N_ ("right  }"), NULL, NULL, (GCallback) _latex_menu_on_math_right_delimiter_3_gtk_action_callback}, {"MathRightDelimiter4", NULL, N_ ("right >"), NULL, NULL, (GCallback) _latex_menu_on_math_right_delimiter_4_gtk_action_callback}, {"MathRightDelimiter5", NULL, N_ ("right ("), NULL, NULL, (GCallback) _latex_menu_on_math_right_delimiter_5_gtk_action_callback}, {"MathRightDelimiter6", NULL, N_ ("right ["), NULL, NULL, (GCallback) _latex_menu_on_math_right_delimiter_6_gtk_action_callback}, {"MathRightDelimiter7", NULL, N_ ("right { "), NULL, NULL, (GCallback) _latex_menu_on_math_right_delimiter_7_gtk_action_callback}, {"MathRightDelimiter8", NULL, N_ ("right <"), NULL, NULL, (GCallback) _latex_menu_on_math_right_delimiter_8_gtk_action_callback}, {"MathRightDelimiter9", NULL, N_ ("right ."), NULL, NULL, (GCallback) _latex_menu_on_math_right_delimiter_9_gtk_action_callback}};

static void
_latex_menu_on_math_space_small_gtk_action_callback (GtkAction* action, 
                                                     gpointer self)
{
	latex_menu_on_math_space_small ((LatexMenu*) self);
}


static void
_latex_menu_on_math_space_medium_gtk_action_callback (GtkAction* action, 
                                                      gpointer self)
{
	latex_menu_on_math_space_medium ((LatexMenu*) self);
}


static void
_latex_menu_on_math_space_large_gtk_action_callback (GtkAction* action, 
                                                     gpointer self)
{
	latex_menu_on_math_space_large ((LatexMenu*) self);
}


static void
_latex_menu_on_math_space_quad_gtk_action_callback (GtkAction* action, 
                                                    gpointer self)
{
	latex_menu_on_math_space_quad ((LatexMenu*) self);
}


static void
_latex_menu_on_math_space_qquad_gtk_action_callback (GtkAction* action, 
                                                     gpointer self)
{
	latex_menu_on_math_space_qquad ((LatexMenu*) self);
}


static void
_latex_menu_on_math_left_delimiter_1_gtk_action_callback (GtkAction* action, 
                                                          gpointer self)
{
	latex_menu_on_math_left_delimiter_1 ((LatexMenu*) self);
}


static void
_latex_menu_on_math_left_delimiter_2_gtk_action_callback (GtkAction* action, 
                                                          gpointer self)
{
	latex_menu_on_math_left_delimiter_2 ((LatexMenu*) self);
}


static void
_latex_menu_on_math_left_delimiter_3_gtk_action_callback (GtkAction* action, 
                                                          gpointer self)
{
	latex_menu_on_math_left_delimiter_3 ((LatexMenu*) self);
}


static void
_latex_menu_on_math_left_delimiter_4_gtk_action_callback (GtkAction* action, 
                                                          gpointer self)
{
	latex_menu_on_math_left_delimiter_4 ((LatexMenu*) self);
}


static void
_latex_menu_on_math_left_delimiter_5_gtk_action_callback (GtkAction* action, 
                                                          gpointer self)
{
	latex_menu_on_math_left_delimiter_5 ((LatexMenu*) self);
}


static void
_latex_menu_on_math_left_delimiter_6_gtk_action_callback (GtkAction* action, 
                                                          gpointer self)
{
	latex_menu_on_math_left_delimiter_6 ((LatexMenu*) self);
}


static void
_latex_menu_on_math_left_delimiter_7_gtk_action_callback (GtkAction* action, 
                                                          gpointer self)
{
	latex_menu_on_math_left_delimiter_7 ((LatexMenu*) self);
}


static void
_latex_menu_on_math_left_delimiter_8_gtk_action_callback (GtkAction* action, 
                                                          gpointer self)
{
	latex_menu_on_math_left_delimiter_8 ((LatexMenu*) self);
}


static void
_latex_menu_on_math_left_delimiter_9_gtk_action_callback (GtkAction* action, 
                                                          gpointer self)
{
	latex_menu_on_math_left_delimiter_9 ((LatexMenu*) self);
}


static void
_latex_menu_on_math_right_delimiter_1_gtk_action_callback (GtkAction* action, 
                                                           gpointer self)
{
	latex_menu_on_math_right_delimiter_1 ((LatexMenu*) self);
}


static void
_latex_menu_on_math_right_delimiter_2_gtk_action_callback (GtkAction* action, 
                                                           gpointer self)
{
	latex_menu_on_math_right_delimiter_2 ((LatexMenu*) self);
}


static void
_latex_menu_on_math_right_delimiter_3_gtk_action_callback (GtkAction* action, 
                                                           gpointer self)
{
	latex_menu_on_math_right_delimiter_3 ((LatexMenu*) self);
}


static void
_latex_menu_on_math_right_delimiter_4_gtk_action_callback (GtkAction* action, 
                                                           gpointer self)
{
	latex_menu_on_math_right_delimiter_4 ((LatexMenu*) self);
}


static void
_latex_menu_on_math_right_delimiter_5_gtk_action_callback (GtkAction* action, 
                                                           gpointer self)
{
	latex_menu_on_math_right_delimiter_5 ((LatexMenu*) self);
}


static void
_latex_menu_on_math_right_delimiter_6_gtk_action_callback (GtkAction* action, 
                                                           gpointer self)
{
	latex_menu_on_math_right_delimiter_6 ((LatexMenu*) self);
}


static void
_latex_menu_on_math_right_delimiter_7_gtk_action_callback (GtkAction* action, 
                                                           gpointer self)
{
	latex_menu_on_math_right_delimiter_7 ((LatexMenu*) self);
}


static void
_latex_menu_on_math_right_delimiter_8_gtk_action_callback (GtkAction* action, 
                                                           gpointer self)
{
	latex_menu_on_math_right_delimiter_8 ((LatexMenu*) self);
}


static void
_latex_menu_on_math_right_delimiter_9_gtk_action_callback (GtkAction* action, 
                                                           gpointer self)
{
	latex_menu_on_math_right_delimiter_9 ((LatexMenu*) self);
}


LatexMenu*
latex_menu_construct (GType object_type, 
                      MainWindow* main_window)
{
	LatexMenu * self = NULL;
	GtkAction* sectioning = NULL;
	GtkAction* _tmp0_;
	GtkAction* sizes = NULL;
	GtkAction* _tmp1_;
	GtkAction* references = NULL;
	GtkAction* _tmp2_;
	GtkAction* presentation_env = NULL;
	GtkAction* _tmp3_;
	GtkAction* math_env = NULL;
	GtkAction* _tmp4_;
	g_return_val_if_fail (main_window != NULL, NULL);
	self = (LatexMenu*) g_object_new (object_type, "name", "LatexActionGroup", NULL);
	gtk_action_group_set_translation_domain ((GtkActionGroup*) self, GETTEXT_PACKAGE);
	self->priv->main_window = main_window;
	_tmp0_ = latex_menu_get_menu_tool_action (self, "SectioningToolItem", _ ("Sectioning"), "sectioning");
	sectioning = _tmp0_;
	_tmp1_ = latex_menu_get_menu_tool_action (self, "CharacterSizeToolItem", _ ("Characters Sizes"), "character-size");
	sizes = _tmp1_;
	_tmp2_ = latex_menu_get_menu_tool_action (self, "ReferencesToolItem", _ ("References"), "references");
	references = _tmp2_;
	_tmp3_ = latex_menu_get_menu_tool_action (self, "PresentationToolItem", _ ("Presentation Environments"), "x-office-presentation");
	presentation_env = _tmp3_;
	_tmp4_ = latex_menu_get_menu_tool_action (self, "MathEnvironmentsToolItem", _ ("Math Environments"), "math");
	math_env = _tmp4_;
	gtk_action_group_add_actions ((GtkActionGroup*) self, LATEX_MENU_latex_action_entries, G_N_ELEMENTS (LATEX_MENU_latex_action_entries), self);
	gtk_action_group_add_action ((GtkActionGroup*) self, sectioning);
	gtk_action_group_add_action ((GtkActionGroup*) self, sizes);
	gtk_action_group_add_action ((GtkActionGroup*) self, references);
	gtk_action_group_add_action ((GtkActionGroup*) self, presentation_env);
	gtk_action_group_add_action ((GtkActionGroup*) self, math_env);
	latexila_latex_commands_init ((GtkApplicationWindow*) main_window);
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::part", (GtkActionGroup*) self, "SectioningPart");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::chapter", (GtkActionGroup*) self, "SectioningChapter");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::section", (GtkActionGroup*) self, "SectioningSection");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::subsection", (GtkActionGroup*) self, "SectioningSubsection");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::subsubsection", (GtkActionGroup*) self, "SectioningSubsubsection");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::paragraph", (GtkActionGroup*) self, "SectioningParagraph");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::subparagraph", (GtkActionGroup*) self, "SectioningSubparagraph");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::label", (GtkActionGroup*) self, "ReferencesLabel");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::ref", (GtkActionGroup*) self, "ReferencesRef");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::pageref", (GtkActionGroup*) self, "ReferencesPageref");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::index", (GtkActionGroup*) self, "ReferencesIndex");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::footnote", (GtkActionGroup*) self, "ReferencesFootnote");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::cite", (GtkActionGroup*) self, "ReferencesCite");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-env-simple::center", (GtkActionGroup*) self, "EnvCenter");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-env-simple::flushleft", (GtkActionGroup*) self, "EnvLeft");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-env-simple::flushright", (GtkActionGroup*) self, "EnvRight");
	amtk_utils_create_gtk_action ((GActionMap*) main_window, "win.latex-command-env-figure", (GtkActionGroup*) self, "EnvFigure");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-env-table", (GtkActionGroup*) self, "EnvTable");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-env-simple::quote", (GtkActionGroup*) self, "EnvQuote");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-env-simple::quotation", (GtkActionGroup*) self, "EnvQuotation");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-env-simple::verse", (GtkActionGroup*) self, "EnvVerse");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-env-simple::verbatim", (GtkActionGroup*) self, "EnvVerbatim");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-env-simple::minipage", (GtkActionGroup*) self, "EnvMinipage");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-env-simple::titlepage", (GtkActionGroup*) self, "EnvTitlepage");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-list-env-simple::itemize", (GtkActionGroup*) self, "ListEnvItemize");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-list-env-simple::enumerate", (GtkActionGroup*) self, "ListEnvEnumerate");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-list-env-description", (GtkActionGroup*) self, "ListEnvDescription");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-list-env-list", (GtkActionGroup*) self, "ListEnvList");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::item", (GtkActionGroup*) self, "ListEnvItem");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-char-style::tiny", (GtkActionGroup*) self, "CharacterSizeTiny");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-char-style::scriptsize", (GtkActionGroup*) self, "CharacterSizeScriptsize");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-char-style::footnotesize", (GtkActionGroup*) self, "CharacterSizeFootnotesize");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-char-style::small", (GtkActionGroup*) self, "CharacterSizeSmall");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-char-style::normalsize", (GtkActionGroup*) self, "CharacterSizeNormalsize");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-char-style::large", (GtkActionGroup*) self, "CharacterSizelarge");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-char-style::Large", (GtkActionGroup*) self, "CharacterSizeLarge");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-char-style::LARGE", (GtkActionGroup*) self, "CharacterSizeLARGE");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-char-style::huge", (GtkActionGroup*) self, "CharacterSizehuge");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-char-style::Huge", (GtkActionGroup*) self, "CharacterSizeHuge");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::textbf", (GtkActionGroup*) self, "Bold");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::textit", (GtkActionGroup*) self, "Italic");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::texttt", (GtkActionGroup*) self, "Typewriter");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::textsl", (GtkActionGroup*) self, "Slanted");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::textsc", (GtkActionGroup*) self, "SmallCaps");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::textsf", (GtkActionGroup*) self, "SansSerif");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::emph", (GtkActionGroup*) self, "Emph");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::underline", (GtkActionGroup*) self, "Underline");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-char-style::rmfamily", (GtkActionGroup*) self, "FontFamilyRoman");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-char-style::sffamily", (GtkActionGroup*) self, "FontFamilySansSerif");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-char-style::ttfamily", (GtkActionGroup*) self, "FontFamilyMonospace");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-char-style::mdseries", (GtkActionGroup*) self, "FontSeriesMedium");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-char-style::bfseries", (GtkActionGroup*) self, "FontSeriesBold");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-char-style::upshape", (GtkActionGroup*) self, "FontShapeUpright");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-char-style::itshape", (GtkActionGroup*) self, "FontShapeItalic");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-char-style::slshape", (GtkActionGroup*) self, "FontShapeSlanted");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-char-style::scshape", (GtkActionGroup*) self, "FontShapeSmallCaps");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-env-simple::tabbing", (GtkActionGroup*) self, "TabularTabbing");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-tabular-tabular", (GtkActionGroup*) self, "TabularTabular");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-tabular-multicolumn", (GtkActionGroup*) self, "TabularMulticolumn");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::hline", (GtkActionGroup*) self, "TabularHline");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::vline", (GtkActionGroup*) self, "TabularVline");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-tabular-cline", (GtkActionGroup*) self, "TabularCline");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-presentation-frame", (GtkActionGroup*) self, "PresentationFrame");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-presentation-block", (GtkActionGroup*) self, "PresentationBlock");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-presentation-columns", (GtkActionGroup*) self, "PresentationColumns");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-spacing-new-line", (GtkActionGroup*) self, "SpacingNewLine");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-newline::newpage", (GtkActionGroup*) self, "SpacingNewPage");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-newline::linebreak", (GtkActionGroup*) self, "SpacingLineBreak");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-newline::pagebreak", (GtkActionGroup*) self, "SpacingPageBreak");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::bigskip", (GtkActionGroup*) self, "SpacingBigSkip");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::medskip", (GtkActionGroup*) self, "SpacingMedSkip");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::hspace", (GtkActionGroup*) self, "SpacingHSpace");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::vspace", (GtkActionGroup*) self, "SpacingVSpace");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::noindent", (GtkActionGroup*) self, "SpacingNoIndent");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces('\\'')", (GtkActionGroup*) self, "Accent0");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces('`')", (GtkActionGroup*) self, "Accent1");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces('^')", (GtkActionGroup*) self, "Accent2");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces('\"')", (GtkActionGroup*) self, "Accent3");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces('~')", (GtkActionGroup*) self, "Accent4");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces('=')", (GtkActionGroup*) self, "Accent5");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces('.')", (GtkActionGroup*) self, "Accent6");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces('v')", (GtkActionGroup*) self, "Accent7");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces('u')", (GtkActionGroup*) self, "Accent8");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces('H')", (GtkActionGroup*) self, "Accent9");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces('c')", (GtkActionGroup*) self, "Accent10");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces('k')", (GtkActionGroup*) self, "Accent11");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces('d')", (GtkActionGroup*) self, "Accent12");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces('b')", (GtkActionGroup*) self, "Accent13");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces('r')", (GtkActionGroup*) self, "Accent14");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces('t')", (GtkActionGroup*) self, "Accent15");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::documentclass", (GtkActionGroup*) self, "LatexDocumentClass");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::usepackage", (GtkActionGroup*) self, "LatexUsepackage");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-ams-packages", (GtkActionGroup*) self, "LatexAMS");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::author", (GtkActionGroup*) self, "LatexAuthor");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::title", (GtkActionGroup*) self, "LatexTitle");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-env-simple::document", (GtkActionGroup*) self, "LatexBeginDocument");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-simple::maketitle", (GtkActionGroup*) self, "LatexMakeTitle");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-simple::tableofcontents", (GtkActionGroup*) self, "LatexTableOfContents");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-env-simple::abstract", (GtkActionGroup*) self, "LatexAbstract");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::includegraphics", (GtkActionGroup*) self, "LatexIncludeGraphics");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::input", (GtkActionGroup*) self, "LatexInput");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "math-command-env-normal", (GtkActionGroup*) self, "MathEnvNormal");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "math-command-env-centered", (GtkActionGroup*) self, "MathEnvCentered");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-env-simple::equation", (GtkActionGroup*) self, "MathEnvNumbered");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "math-command-env-array", (GtkActionGroup*) self, "MathEnvArray");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-env-simple::align", (GtkActionGroup*) self, "MathEnvNumberedArray");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "math-command-misc-superscript", (GtkActionGroup*) self, "MathSuperscript");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "math-command-misc-subscript", (GtkActionGroup*) self, "MathSubscript");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "math-command-misc-frac", (GtkActionGroup*) self, "MathFrac");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::sqrt", (GtkActionGroup*) self, "MathSquareRoot");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "math-command-misc-nth-root", (GtkActionGroup*) self, "MathNthRoot");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::arccos", (GtkActionGroup*) self, "MathFuncArccos");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::arcsin", (GtkActionGroup*) self, "MathFuncArcsin");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::arctan", (GtkActionGroup*) self, "MathFuncArctan");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::cos", (GtkActionGroup*) self, "MathFuncCos");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::cosh", (GtkActionGroup*) self, "MathFuncCosh");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::cot", (GtkActionGroup*) self, "MathFuncCot");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::coth", (GtkActionGroup*) self, "MathFuncCoth");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::csc", (GtkActionGroup*) self, "MathFuncCsc");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::deg", (GtkActionGroup*) self, "MathFuncDeg");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::det", (GtkActionGroup*) self, "MathFuncDet");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::dim", (GtkActionGroup*) self, "MathFuncDim");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::exp", (GtkActionGroup*) self, "MathFuncExp");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::gcd", (GtkActionGroup*) self, "MathFuncGcd");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::hom", (GtkActionGroup*) self, "MathFuncHom");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::inf", (GtkActionGroup*) self, "MathFuncInf");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::ker", (GtkActionGroup*) self, "MathFuncKer");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::lg", (GtkActionGroup*) self, "MathFuncLg");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::lim", (GtkActionGroup*) self, "MathFuncLim");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::liminf", (GtkActionGroup*) self, "MathFuncLiminf");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::limsup", (GtkActionGroup*) self, "MathFuncLimsup");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::ln", (GtkActionGroup*) self, "MathFuncLn");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::log", (GtkActionGroup*) self, "MathFuncLog");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::max", (GtkActionGroup*) self, "MathFuncMax");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::min", (GtkActionGroup*) self, "MathFuncMin");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::sec", (GtkActionGroup*) self, "MathFuncSec");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::sin", (GtkActionGroup*) self, "MathFuncSin");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::sinh", (GtkActionGroup*) self, "MathFuncSinh");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::sup", (GtkActionGroup*) self, "MathFuncSup");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::tan", (GtkActionGroup*) self, "MathFuncTan");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-space::tanh", (GtkActionGroup*) self, "MathFuncTanh");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::mathrm", (GtkActionGroup*) self, "MathFSrm");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::mathit", (GtkActionGroup*) self, "MathFSit");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::mathbf", (GtkActionGroup*) self, "MathFSbf");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::mathsf", (GtkActionGroup*) self, "MathFSsf");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::mathtt", (GtkActionGroup*) self, "MathFStt");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::mathcal", (GtkActionGroup*) self, "MathFScal");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::mathbb", (GtkActionGroup*) self, "MathFSbb");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::mathfrak", (GtkActionGroup*) self, "MathFSfrak");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::acute", (GtkActionGroup*) self, "MathAccentAcute");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::grave", (GtkActionGroup*) self, "MathAccentGrave");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::tilde", (GtkActionGroup*) self, "MathAccentTilde");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::bar", (GtkActionGroup*) self, "MathAccentBar");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::vec", (GtkActionGroup*) self, "MathAccentVec");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::hat", (GtkActionGroup*) self, "MathAccentHat");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::check", (GtkActionGroup*) self, "MathAccentCheck");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::breve", (GtkActionGroup*) self, "MathAccentBreve");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::dot", (GtkActionGroup*) self, "MathAccentDot");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::ddot", (GtkActionGroup*) self, "MathAccentDdot");
	amtk_utils_bind_g_action_to_gtk_action ((GActionMap*) main_window, "latex-command-with-braces::mathring", (GtkActionGroup*) self, "MathAccentRing");
	_g_object_unref0 (math_env);
	_g_object_unref0 (presentation_env);
	_g_object_unref0 (references);
	_g_object_unref0 (sizes);
	_g_object_unref0 (sectioning);
	return self;
}


LatexMenu*
latex_menu_new (MainWindow* main_window)
{
	return latex_menu_construct (TYPE_LATEX_MENU, main_window);
}


static GtkAction*
latex_menu_get_menu_tool_action (LatexMenu* self, 
                                 const gchar* name, 
                                 const gchar* label, 
                                 const gchar* icon_name)
{
	GtkAction* result = NULL;
	GtkAction* action = NULL;
	MenuToolAction* _tmp0_;
	GtkActivatable* menu_tool_button = NULL;
	GtkMenuToolButton* _tmp1_;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (name != NULL, NULL);
	_tmp0_ = menu_tool_action_new (name, label, label, icon_name);
	action = (GtkAction*) _tmp0_;
	_tmp1_ = (GtkMenuToolButton*) gtk_menu_tool_button_new (NULL, NULL);
	g_object_ref_sink (_tmp1_);
	menu_tool_button = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GTK_TYPE_ACTIVATABLE, GtkActivatable);
	gtk_activatable_set_related_action (menu_tool_button, action);
	result = action;
	_g_object_unref0 (menu_tool_button);
	return result;
}


static gpointer
_g_object_ref0 (gpointer self)
{
	return self ? g_object_ref (self) : NULL;
}


static void
latex_menu_text_buffer_insert (LatexMenu* self, 
                               const gchar* text_before, 
                               const gchar* text_after, 
                               const gchar* text_if_no_selection)
{
	TeplApplicationWindow* tepl_window = NULL;
	MainWindow* _tmp0_;
	TeplApplicationWindow* _tmp1_;
	TeplApplicationWindow* _tmp2_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (text_before != NULL);
	g_return_if_fail (text_after != NULL);
	_tmp0_ = self->priv->main_window;
	_tmp1_ = tepl_application_window_get_from_gtk_application_window ((GtkApplicationWindow*) _tmp0_);
	_tmp2_ = _g_object_ref0 (_tmp1_);
	tepl_window = _tmp2_;
	latexila_latex_commands_insert_text (tepl_window, text_before, text_after, text_if_no_selection);
	_g_object_unref0 (tepl_window);
}


void
latex_menu_on_math_space_small (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\, ", "", NULL);
}


void
latex_menu_on_math_space_medium (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\: ", "", NULL);
}


void
latex_menu_on_math_space_large (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\; ", "", NULL);
}


void
latex_menu_on_math_space_quad (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\quad ", "", NULL);
}


void
latex_menu_on_math_space_qquad (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\qquad ", "", NULL);
}


void
latex_menu_on_math_left_delimiter_1 (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\left( ", "", NULL);
}


void
latex_menu_on_math_left_delimiter_2 (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\left[ ", "", NULL);
}


void
latex_menu_on_math_left_delimiter_3 (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\left\\lbrace ", "", NULL);
}


void
latex_menu_on_math_left_delimiter_4 (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\left\\langle ", "", NULL);
}


void
latex_menu_on_math_left_delimiter_5 (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\left) ", "", NULL);
}


void
latex_menu_on_math_left_delimiter_6 (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\left] ", "", NULL);
}


void
latex_menu_on_math_left_delimiter_7 (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\left\\rbrace ", "", NULL);
}


void
latex_menu_on_math_left_delimiter_8 (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\left\\rangle ", "", NULL);
}


void
latex_menu_on_math_left_delimiter_9 (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\left. ", "", NULL);
}


void
latex_menu_on_math_right_delimiter_1 (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\right) ", "", NULL);
}


void
latex_menu_on_math_right_delimiter_2 (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\right] ", "", NULL);
}


void
latex_menu_on_math_right_delimiter_3 (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\right\\rbrace ", "", NULL);
}


void
latex_menu_on_math_right_delimiter_4 (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\right\\rangle ", "", NULL);
}


void
latex_menu_on_math_right_delimiter_5 (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\right( ", "", NULL);
}


void
latex_menu_on_math_right_delimiter_6 (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\right[ ", "", NULL);
}


void
latex_menu_on_math_right_delimiter_7 (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\right\\lbrace ", "", NULL);
}


void
latex_menu_on_math_right_delimiter_8 (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\right\\langle ", "", NULL);
}


void
latex_menu_on_math_right_delimiter_9 (LatexMenu* self)
{
	g_return_if_fail (self != NULL);
	latex_menu_text_buffer_insert (self, "\\right. ", "", NULL);
}


static void
latex_menu_class_init (LatexMenuClass * klass)
{
	latex_menu_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LatexMenuPrivate));
	G_OBJECT_CLASS (klass)->finalize = latex_menu_finalize;
}


static void
latex_menu_instance_init (LatexMenu * self)
{
	self->priv = LATEX_MENU_GET_PRIVATE (self);
}


static void
latex_menu_finalize (GObject * obj)
{
	LatexMenu * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_LATEX_MENU, LatexMenu);
	G_OBJECT_CLASS (latex_menu_parent_class)->finalize (obj);
}


GType
latex_menu_get_type (void)
{
	static volatile gsize latex_menu_type_id__volatile = 0;
	if (g_once_init_enter (&latex_menu_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LatexMenuClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) latex_menu_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LatexMenu), 0, (GInstanceInitFunc) latex_menu_instance_init, NULL };
		GType latex_menu_type_id;
		latex_menu_type_id = g_type_register_static (gtk_action_group_get_type (), "LatexMenu", &g_define_type_info, 0);
		g_once_init_leave (&latex_menu_type_id__volatile, latex_menu_type_id);
	}
	return latex_menu_type_id__volatile;
}



