diff options
Diffstat (limited to 'makeinfo/sectioning.h')
-rw-r--r-- | makeinfo/sectioning.h | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/makeinfo/sectioning.h b/makeinfo/sectioning.h new file mode 100644 index 0000000..30b4451 --- /dev/null +++ b/makeinfo/sectioning.h @@ -0,0 +1,102 @@ +/* sectioning.h -- all related stuff @chapter, @section... @contents + $Id: sectioning.h,v 1.8 2007/07/01 21:20:33 karl Exp $ + + Copyright (C) 1999, 2003, 2007 Free Software Foundation, Inc. + + This program 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. + + This program 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 this program. If not, see <http://www.gnu.org/licenses/>. + + Written by Karl Heinz Marbaise <kama@hippo.fido.de>. */ + +#ifndef SECTIONING_H +#define SECTIONING_H + +/* Sectioning. */ + +/* Level 4. */ +extern void cm_chapter (void), + cm_unnumbered (void), + cm_appendix (void), + cm_top (void); + +/* Level 3. */ +extern void cm_section (void), + cm_unnumberedsec (void), + cm_appendixsec (void); + +/* Level 2. */ +extern void cm_subsection (void), + cm_unnumberedsubsec (void), + cm_appendixsubsec (void); + +/* Level 1. */ +extern void cm_subsubsection (void), + cm_unnumberedsubsubsec (void), + cm_appendixsubsubsec (void); + +/* Headings. */ +extern void cm_heading (void), + cm_chapheading (void), + cm_subheading (void), + cm_subsubheading (void), + cm_majorheading (void); + +extern void cm_raisesections (void), + cm_lowersections (void), + cm_ideprecated (int arg, int start, int end); + +extern void + sectioning_underscore (char *cmd), + insert_and_underscore (int level, char *cmd); + +/* needed in node.c */ +extern int set_top_section_level (int level); + +extern void sectioning_html (int level, char *cmd); +extern int what_section (char *text, char **secname); +extern char *current_chapter_number (void), + *current_sectioning_number (void), + *current_sectioning_name (void); + +/* The argument of @settitle, used for HTML. */ +extern char *title; + + +/* Here is a structure which associates sectioning commands with + an integer that reflects the depth of the current section. */ +typedef struct +{ + char *name; + int level; /* I can't replace the levels with defines + because it is changed during run */ + int num; /* ENUM_SECT_NO means no enumeration... + ENUM_SECT_YES means enumerated version + ENUM_SECT_APP appendix (Character enumerated + at first position */ + int toc; /* TOC_NO means do not enter in toc; + TOC_YES means enter it in toc */ +} section_alist_type; + +extern section_alist_type section_alist[]; + +/* enumerate sections */ +#define ENUM_SECT_NO 0 +#define ENUM_SECT_YES 1 +#define ENUM_SECT_APP 2 + +/* make entries into toc no/yes */ +#define TOC_NO 0 +#define TOC_YES 1 + + +#endif /* not SECTIONING_H */ |