%-*-tex-*- \ifundefined{writestatus} \input status \relax \fi % \chcode{toc} \def\cqu{\line{}\vfill\vbox{\hsize 3.2in \rightskip=0pt \leftskip=0pt \centerline{\sheadfont List of Figures} \bigskip \makefiglist\bigskip This is given by \par \def\2{\char'173}\def\3{\char'175} % lazy \tt \1centerline\2\1sheadfont List of Figures\3\par \1bigskip\par \1makefiglist\par } } \chapterhead{toc}{TABLES\cr of CONTENTS\cr and FIGURES} \vskip -2.8ex \intex\ is able to generate tables of contents, figures, and tables automatically. It also has general capabilities to create files that can be used to generate other lists that involve page numbers. \shead{toccomlist}{Command List} \beginthreecolumn \ext|\chtoc| \ext|\chtocout| \ext|\dssshtoc| \ext|\dssshtocout| \ext|\figtoc| \ext|\figtocout| \ext|\inputfigfiles| \ext|\inputtblfiles| \ext|\inputtocfiles| \ext|\intdssshtoc| \ext|\intssshtoc| \ext|\makefiglist| \ext|\maketbllist| \ext|\maketoclist| \ext|\newtocfile| \ext|\openlistfile| \ext|\prtoc| \ext|\prtocout| \ext|\shtoc| \ext|\shtocout| \ext|\sshtoc| \ext|\ssshtoc| \ext|\ssshtocout| \ext|\tbltoc| \ext|\tbltocout| \ext|\tocbox| \ext|\tocfill| \ext|\writelistfile| \endthreecolumn \shead{toclists}{Making Lists of Contents, Figures, Tables} The distinguishing feature of |list| files in \intex\ is that they contain a combination of commands, section or figure numbers, and page numbers. \intex\ creates these files by the command \@|\openlistfile{}| and gives them the name |\jobname.|. This command effectively initializes the building process for the particular list. || must be one to three characters. The file extensions for tables of contents, figures, and tables are |.toc|, |.fig|, and |.tbl|. The command |\writelistfile| is used to actually put information into the file and the |\makelist| is used to bring it back in. Currently |\maketoclist|, |\makefiglist|, and |\maketbllist| are defined. These files will contain a list of commands, in the correct order for eventually making the actual list. A typical command, in this case generated by the |\chead| at the beginning of the chapter would be |\chtoc{}{}{}| Actually the |\chead| command does this in two steps. The actual form executed inside the |\chead| is the command |\chtocout|. This is defaulted in {\tt inrsdef.tex} to be |\def\chtocout{\string\chtoc}|. A modification of the definition of |\chtocout| will change the initial command string that is written to the |.toc| file. Theoretically, a different string could be written for each chapter if required. This same facility exists for all the |.toc| output forms. \intex\ has already defined all of the |\toc| commands listed in Section \ref{toccomlist}. However, all of these commands may be redefined for different formats. For instance \intex\ has defined |\dssstoc| and |\ssstoc| to be effectively null. This means that subsubsections and diminished subsections will not be automatically listed in the table of contents although the |\ssstoc| and |\dssstoc| commands are in the |.toc| file. If a |.toc| file is open, whether or not |autonumbering| is on, the |\chead|, |\shead|, |\sshead|, |\ssshead|, |\dssshead|, and |\preludehead| commands write to the |.toc| file. The |\figure| command writes a |\figtoc| command to the |.fig| file and the |\table| command writes a |\tbltoc| command to the |.tbl| file. Creating, writing, and inputting a new list file is not terribly difficult but uses moderately advanced macro techniques. Most of the recipe is given in the description of |\writelistfile| below. The rest can be determined by examination of |\makefiglist| and |\inputfigfiles|. \shead{toccomforms}{Command Forms} \beginblockmode \ext\@|\chtoc{}{}{<page number>}| \nbr This creates a chapter entry in the table of contents as given in the table of contents for this book. \mbr \ext\@|\chtocout| \nbr Its default definition is |\def\chtocout{\string\chtoc}| and is the command executed in a |\chead| while producing a |.toc| entry. \mbr \ext\@|\dssshtoc{<number>}{<title>}{<page number>}| \nbr This would create table of contents entry for a diminished section heading. Although |\dssshtoc| commands are written to the |\jobname.toc| file, they are defined as null in \intex. If you want them to appear in a table of contents place the command |\let\dssshtoc = \intdssshtoc| in the file just before the |\maketoclist| is called. \@|\intdssshtoc| is |\dssshtoc| in disguise. \mbr \ext\@|\dssshtocout| \nbr Its default definition is |\def\dssshtocout{\string\dssshtoc}| and is the command executed in a |\dssshead| while producing a |.toc| entry. \mbr \ext\@|\figtoc{<number>}{<title>}{<page number>}| \nbr This would create table of figures entry for a figure. \intex\ makes it identical to |\shtoc| \mbr \ext\@|\figtocout| \nbr Its default definition is |\def\figtocout{\string\figtoc}| and is the command executed in a |\figureform| or |\figureinsert| while producing a |.toc| entry. \mbr \ext\@|\inputfigfiles| \nbr This is a token list, including the |\inputwithcheck| of the files that are used to make the figure list. \intex\ default is |\inputwithcheck{\jobname.fig}|. |\the\inputfigfiles| will actually cause the token list to be executed, {\it ie} in the default case the |\jobname.fig| will be read in. \mbr \ext\@|\inputtblfiles| \nbr This is a token list, including the |\inputwithcheck| of the files that are used to make the table list. \intex\ default is |\inputwithcheck{\jobname.tbl}|. |\the\inputtblfiles| will actually cause the token list to be executed, {\it ie} in the default case the |\jobname.tbl| will be read in. \mbr \ext\@|\inputtocfiles| \nbr This is a token list, including the |\inputwithcheck| of the files that are used to make the figure list. \intex\ default is |\inputwithcheck{\newtocfile}|. If a |\jobname.toc| file is open, |\newtocfile| becomes the {\bf previous} version. If it is not, it is the most recent version. \mbr \ext\@|\makefiglist| \nbr This executes |\the\inputfigfiles| which inserts the list of |\figtoc| commands into the text. All required |\beginlist ... \endlist| commands should be put around it. \mbr \ext\@|\maketbllist| \nbr This executes |\the\inputtblfiles| which inserts the list of |\tbltoc| commands into the text. All required |\beginlist ... \endlist| commands should be put around it. \mbr \ext\@|\maketoclist| \nbr This inserts the list of |\<type>toc| commands into the text by executing |\the\inputtocfiles|. All required |\beginlist ... \endlist| commands should be put around it. \mbr \ext\@|\newtocfile| \nbr If a |\jobname.toc| file is open, |\newtocfile| becomes the {\bf previous} version. If it is not, it is the most recent version. This allows for the table of contents to contain a reference to itself. \mbr \ext\@|\prtoc{<title>}{<page number>}| \nbr This is the command form written into the |.toc| file by |\preludeheader|. The output format may be seen by looking at the {\it Preface} listing in the Table of Contents for this book. \mbr \ext\@|\prtocout| \nbr Its default definition is |\def\prtocout{\string\prtoc}| and is the command executed in a |\preludehead| while producing a |.toc| entry. \mbr \ext\@|\shtoc{<number>}{<title>}{<page number>}| \nbr \ext\@|\sshtoc{<number>}{<title>}{<page number>}| \nbr \ext\@|\ssshtoc{<number>}{<title>}{<page number>}| \nbr These three commands are written by the |\shead|, |\sshead| and |\ssshead| to the |\jobname.toc| file. Examples of the default \intex\ format for |\shtoc| may be seen in the Table of Contents. Although |\ssshtoc| commands are written to the |\jobname.toc| file, they are defined as null in \intex. If you want them to appear in a table of contents place the command |\let\ssshtoc = \intssshtoc| in the file just before the |\maketoclist| is called. \@|\intssshtoc| is |\ssshtoc| in disguise. \mbr \ext\@|\shtocout| \nbr \ext\@|\sshtocout| \nbr \ext\@|\ssshtocout| \nbr These three commands are executed by the |\shead|, |\sshead| and |\ssshead| when writing to the |\jobname.toc| file. The defaults are defined in {\tt inrsdef.tex} as \begintt \def\shtocout{\string\shtoc} \def\sshtocout{\string\sshtoc} \def\ssshtocout{\string\ssshtoc} \endtt \mbr \ext\@|\tbltoc<number>}{<title>}{<page number>}| \nbr This would create table of figures entry for a figure. \intex\ makes it identical to |\shtoc| \mbr \ext\@|\tbltocout| \nbr Its default definition is |\def\tbltocout{\string\tbltoc}| and is the command executed in a |\tableinsert| or |\tableform| while producing a |.toc| entry. \mbr \ext\@|\tocbox{<indent>}{<number>}{<title>}{<pagenumber>}| \nbr This is the general form for producing an entry for a table of contents list. |<indent>| is a dimension and is the indentation from the left margin; |<number>| is the number form; |<title>| is the title of the item; and |<pagenumber>| is where it occurred. There is no interitem spacing as part of the definition. Thus $$ \tocbox{4em}{3.7.9}{This is an incredibly long title to show you what happens when there is more than one line}{375} $$ was produced by \begintt \tocbox{4em}{3.7.9}{This is an incredibly long title to show you what happens when there is more than one line}{375} \endtt \mbr \ext\@|\tocfill| \nbr This creates the dots across the page in the |\..toc| macros. It is useful for designing stylistically consistent new ones. \mbr \ext\@|\writelistfile{<file extension}{\string\..toc}{<number>}{<arg>}| \nbr This is the basic command for writing to a |list| file. The |\string| allows the |\..toc| to be written into the file without ever being executed. |{<number>}| is expanded before it is written out while |{<arg>}| is not. |\writelistfile| adds one more argument, namely |{<page number>}|, to this command before actually writing it to the file. The complete command written is \begintt \..toc{<number>}{<arg>}{<page number>} \endtt An example for the first chapter of this book is \begintt \chtoc {Chapter 1}{\tex \cr and\cr INRS\tex }{1} \endtt Note that |\tex| is not expanded. An examination of any of the |list| files created by \intex\ will show some more examples. This command should be used whenever a write to a |list| file is required. It is used by \intex\ in all of the section and chapter heads, along with |\figure| and |\table|. \endblockmode \ejectpage \done