m4_dnl M4 / HTML macro package - table of contents module m4_dnl Copyright 1997-2003 Perette Barella. m4_dnl All rights reserved. m4_dnl vim:ts=8:sw=8 _REVISION(``$Id: toc3.m4,v 1.5 2008/08/18 03:22:46 perette Exp $'') __STYLESHEET(DIR_TOP/Include/m4toc.css) m4_dnl Initialize chapter look & feel m4_dnl These should not need to be edited; changes should be made m4_dnl through the appropriate stylesheets. m4_define(``__CHAPTER_NUM'', 0) m4_define(``_TOC_HEADER'', ``

Contents

'') m4_define(``_TOC_BEGIN'', ``'') m4_define(``_CHAPTER_FORMAT'', `` __CHAPTER_NUM. __CHAPTER_NAME '') m4_define(``_CHAPTER_TOCFORMAT'', `` __CHAPTER_NUM. __CHAPTER_NAME '') m4_define(``_CHAPTER_TOC'', `` _TOC_CHAPTER _CHAPTER_TOCFORMAT '') m4_define(``_APPENDIX_FORMAT'', `` __CHAPTER_NAME '') m4_define(``_APPENDIX_TOCFORMAT'', `` __CHAPTER_NUM. __CHAPTER_NAME '') m4_dnl Settings for the in-line chapter heading. m4_define(``_CHAPTER_HEADER'', ``

_CHAPTER_FORMAT

'') m4_dnl Initialize sections look & feel m4_define(``__SECTION_NUM'', 0) m4_define(``_TOC_BEGIN_SECTIONS'', ``'') m4_define(``_SECTION_FORMAT'', `` __CHAPTER_NUM.__SECTION_NUM. __SECTION_NAME '') m4_define(``_SECTION_TOCFORMAT'', `` __CHAPTER_NUM.__SECTION_NUM. __SECTION_NAME '') m4_define(``_SECTION_TOC'', `` _TOC_SECTION _SECTION_TOCFORMAT '') m4_dnl Settings for the in-line chapter heading. m4_define(``_SECTION_HEADER'', ``

_SECTION_FORMAT

'') m4_dnl Initialize subsections look & feel m4_define(``__SUBSECT_NUM'', 0) m4_define(``_TOC_BEGIN_SUBSECTIONS'', ``'') m4_define(``_SUBSECT_FORMAT'', `` __CHAPTER_NUM.__SECTION_NUM.__SUBSECT_NUM. __SUBSECT_NAME '') m4_define(``_SUBSECT_TOCFORMAT'', `` __CHAPTER_NUM.__SECTION_NUM.__SUBSECT_NUM. __SUBSECT_NAME '') m4_define(``_SUBSECT_TOC'', `` _TOC_SUBSECTION _SUBSECT_TOCFORMAT '') m4_dnl Settings for the in-line chapter heading. m4_define(``_SUBSECT_HEADER'', ``

_SUBSECT_FORMAT

'') m4_dnl Initialize other parts of look & feel m4_define(``_DOCTITLE'', `` m4_divert(DIV_INTRO)

$1

m4_divert(DIV_CONTENT) '') m4_define(``_TOC_ON_OWN_PAGE'', `` m4_define(``_TOC_HEADER'', ``

Contents

'') '') m4_define(``TOC_CHAPTERS_ONLY'', `` _STYLE(`` UL.toc UL { display: none }'') '') m4_define(``TOC_NO_SUBSECTIONS'', `` _STYLE(`` UL.toc UL UL { display: none }'') '') m4_define(``_UNNUMBERED_SECTIONS'', `` _UNNUMBERED_SUBSECTIONS m4_define(``_SECTION_FORMAT'', ``__SECTION_NAME'') m4_define(``_SECTION_TOCFORMAT'', ``__SECTION_NAME'') '') m4_define(``_UNNUMBERED_SUBSECTIONS'', `` m4_define(``_SUBSECT_FORMAT'', ``__SUBSECT_NAME'') m4_define(``_SUBSECT_TOCFORMAT'', ``__SUBSECT_NAME'') '') m4_dnl Macro to start a new chapter, creating an inline title m4_dnl and an entry in the table of contents. The TOC entry will link m4_dnl to the in-line heading. Section counting is reset by a new chapter. m4_define(``_CHAPTER'', ``m4_pushdef(``__DIVERTS'', m4_divnum)m4_divert(DIV_TOC) m4_define(``__CHAPTER_NAME'', ``$1'') m4_define(``__CHAPTER_NUM'',m4_incr(__CHAPTER_NUM)) m4_ifelse(__SUBSECT_NUM,0,,``_TOC_END_SUBSECTIONS'') m4_ifelse(__SECTION_NUM,0,,``_TOC_END_SECTIONS'') m4_define(``__SECTION_NUM'',0) m4_define(``__SUBSECT_NUM'',0) m4_define(``__CHAPTER_TAG'', ``m4_ifelse(``$2'',,``chap_''__CHAPTER_NUM,``$2'')'') m4_define(``__POINT'', ``__PAGEURL#__CHAPTER_TAG'') m4_define(``__POINTNAME'', ``__PAGETITLE: __CHAPTER_NAME'') m4_ifelse(__CHAPTER_NUM,1,`` _TOC_HEADER _TOC_BEGIN m4_m4wrap(`` m4_divert(DIV_TOC) m4_ifelse(__SUBSECT_NUM,0,,``_TOC_END_SUBSECTIONS'') m4_ifelse(__SECTION_NUM,0,,``_TOC_END_SECTIONS'') _TOC_END'') '') _CHAPTER_TOC m4_divert(__DIVERTS) m4_popdef(``__DIVERTS'') _CHAPTER_HEADER'') m4_dnl An appendix is the same as a chapter, but without numbers. m4_dnl Swap out the format macros and just call _CHAPTER. m4_define(``_APPENDIX'', `` m4_pushdef(``_CHAPTER_FORMAT'', ``_APPENDIX_FORMAT'') m4_pushdef(``_CHAPTER_TOCFORMAT'', ``_APPENDIX_TOCFORMAT'') _CHAPTER(``$@'') m4_popdef(``_CHAPTER_FORMAT'') m4_popdef(``_CHAPTER_TOCFORMAT'') '') m4_dnl Macro to start a new section. m4_dnl Subsection counting is reset by a new section. m4_define(``_SECTION'', ``m4_divert(DIV_TOC) m4_define(``__SECTION_NAME'', ``$1'') m4_define(``__SECTION_NUM'',m4_incr(__SECTION_NUM)) m4_ifelse(__SUBSECT_NUM,0,,``_TOC_END_SUBSECTIONS'') m4_define(``__SUBSECT_NUM'',0) m4_define(``__SECTION_TAG'', ``m4_ifelse(``$2'',, ``sect_''__CHAPTER_NUM``.''__SECTION_NUM,``$2'')'') m4_define(``__POINT'', ``__PAGEURL#__SECTION_TAG'') m4_define(``__POINTNAME'', ``__PAGETITLE: __CHAPTER_NAME: __SECTION_NAME'') m4_ifelse(__SECTION_NUM,1,``_TOC_BEGIN_SECTIONS'') _SECTION_TOC m4_divert(DIV_CONTENT) _SECTION_HEADER'') m4_dnl Macro to start a new subsection. m4_define(``_SUBSECTION'', ``m4_divert(DIV_TOC) m4_define(``__SUBSECT_NAME'', ``$1'') m4_define(``__SUBSECT_NUM'',m4_incr(__SUBSECT_NUM)) m4_define(``__SUBSECT_TAG'', ``m4_ifelse(``$2'',, ``subsect_''__CHAPTER_NUM``.''__SECTION_NUM``.''__SUBSECT_NUM,``$2'')'') m4_define(``__POINT'', ``__PAGEURL#__SUBSECT_TAG'') m4_define(``__POINTNAME'', ``__PAGETITLE: __CHAPTER_NAME: __SECTION_NAME: __SUBSECT_NAME'') m4_ifelse(__SUBSECT_NUM,1,``_TOC_BEGIN_SUBSECTIONS'') _SUBSECT_TOC m4_divert(DIV_CONTENT) _SUBSECT_HEADER'')