Back to index

tetex-bin  3.0
insertion.h
Go to the documentation of this file.
00001 /* insertion.h -- declarations for insertion.c.
00002    $Id: insertion.h,v 1.10 2004/04/11 17:56:47 karl Exp $
00003 
00004    Copyright (C) 1998, 1999, 2001, 2002, 2003 Free Software Foundation, Inc.
00005 
00006    This program is free software; you can redistribute it and/or modify
00007    it under the terms of the GNU General Public License as published by
00008    the Free Software Foundation; either version 2, or (at your option)
00009    any later version.
00010 
00011    This program is distributed in the hope that it will be useful,
00012    but WITHOUT ANY WARRANTY; without even the implied warranty of
00013    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014    GNU General Public License for more details.
00015 
00016    You should have received a copy of the GNU General Public License
00017    along with this program; if not, write to the Free Software Foundation,
00018    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
00019 
00020 #ifndef INSERTION_H
00021 #define INSERTION_H
00022 
00023 /* Must match list in insertion.c.  */
00024 enum insertion_type
00025 { 
00026   cartouche, copying, defcv, deffn, defivar, defmac, defmethod, defop,
00027   defopt, defspec, deftp, deftypecv, deftypefn, deftypefun, deftypeivar,
00028   deftypemethod, deftypeop, deftypevar, deftypevr, defun, defvar, defvr,
00029   detailmenu, direntry, display, documentdescription, enumerate,
00030   example, floatenv, flushleft, flushright, format, ftable, group,
00031   ifclear, ifdocbook, ifhtml, ifinfo, ifnotdocbook, ifnothtml, ifnotinfo,
00032   ifnotplaintext, ifnottex, ifnotxml, ifplaintext, ifset, iftex, ifxml,
00033   itemize, lisp, menu, multitable, quotation, rawdocbook, rawhtml, rawtex,
00034   rawxml, smalldisplay, smallexample, smallformat, smalllisp, verbatim,
00035   table, tex, vtable, titlepage, bad_type
00036 };
00037 
00038 typedef struct istack_elt
00039 {
00040   struct istack_elt *next;
00041   char *item_function;
00042   char *filename;
00043   int line_number;
00044   int filling_enabled;
00045   int indented_fill;
00046   int insertion;
00047   int inhibited;
00048   int in_fixed_width_font;
00049 } INSERTION_ELT;
00050 
00051 extern int insertion_level;
00052 extern INSERTION_ELT *insertion_stack;
00053 extern int in_menu;
00054 extern int in_detailmenu;
00055 extern int had_menu_commentary;
00056 extern int in_paragraph;
00057 
00058 extern int headitem_flag;
00059 extern int after_headitem;
00060 
00061 extern void init_insertion_stack (void);
00062 extern void command_name_condition (void);
00063 extern void cm_ifdocbook (void), cm_ifnotdocbook(void), cm_docbook (int arg);
00064 extern void cm_ifhtml (void), cm_ifnothtml(void), cm_html (int arg);
00065 extern void cm_ifinfo (void), cm_ifnotinfo (void);
00066 extern void cm_ifplaintext (void), cm_ifnotplaintext(void);
00067 extern void cm_iftex (void), cm_ifnottex (void), cm_tex (void);
00068 extern void cm_ifxml (void), cm_ifnotxml (void), cm_xml (int arg);
00069 extern void handle_verbatim_environment (int find_end_verbatim);
00070 extern void begin_insertion (enum insertion_type type);
00071 extern void pop_insertion (void);
00072 extern void discard_insertions (int specials_ok);
00073 
00074 extern int is_in_insertion_of_type (int type);
00075 extern int command_needs_braces (char *cmd);
00076 
00077 extern enum insertion_type find_type_from_name (char *name);
00078 #endif /* !INSERTION_H */