From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/tocbibind/README | 106 +++ macros/latex/contrib/tocbibind/tocbibind.dtx | 1183 ++++++++++++++++++++++++++ macros/latex/contrib/tocbibind/tocbibind.ins | 73 ++ macros/latex/contrib/tocbibind/tocbibind.pdf | Bin 0 -> 310641 bytes 4 files changed, 1362 insertions(+) create mode 100644 macros/latex/contrib/tocbibind/README create mode 100644 macros/latex/contrib/tocbibind/tocbibind.dtx create mode 100644 macros/latex/contrib/tocbibind/tocbibind.ins create mode 100644 macros/latex/contrib/tocbibind/tocbibind.pdf (limited to 'macros/latex/contrib/tocbibind') diff --git a/macros/latex/contrib/tocbibind/README b/macros/latex/contrib/tocbibind/README new file mode 100644 index 0000000000..b7e4a41ac2 --- /dev/null +++ b/macros/latex/contrib/tocbibind/README @@ -0,0 +1,106 @@ +_____________________ +The TOCBIBIND package + + The tocbibind package can be used to add the ToC and/or bibliography +and/or the index etc., to the Table of Contents listing. + +______________ +Change History + +Version 1.5k (2010/10/13) +- Remove a superfluous message from the console output: + "The document has [section|chapter] divisions" + +Version 1.5j (2009/12/28) +- Internal changes: \phantomsection is no longer needed + for hyperref support + +Version 1.5i (2009/09/04) +- New maintainer (Will Robertson) + +Changes in version 1.5h (2004/05/10) +- Changed license from LPPL v1.0 to v1.3 + +Changes in version 1.5g (2003/03/13) +- Fixed Bibliography page headings in twocolumn book class + +Changes in version 1.5f (2003/02/04) +- Fixed Index heading \MakeUppercase problem + +Changes in version 1.5e (2003/01/22) +- Improved harmony with the chapterbib and natbib packages + +Changes in version 1.5d (2002/04/09) +- Fixed problem with \tocchapter in non-chaptered documents + +Changes in version 1.5c (2002/03/11) +- Fixed problem with \tocetcmark + +Changes in version 1.5b (2001/11/10) +- Improved interface for new pagestyles + +Changes in version 1.5 (2001/04/17) +- Removed requirement for the stdclsdv package +- Fixed problem when used with the hyperref package + +Changes in version 1.4a (2000/03/05) +- Improved flexibility of single line numbered chapters +- Examples of handling additional kinds of List of... +- Replaced command \toc@file by \tocfile + +Changes in version 1.4: (2000/03/04) +- Disabled LaTeX feature (bug 3126) of change in Index title height +- Added commands for single line numbered chapter headings +- Added numbered List of... headings + +Changes in version 1.3a: (1999/09/12) +- Fixed index numbering, options, and headings +- Improved (warning) reporting + +Changes in version 1.2: (1999/01/17) +- Operates with the tocloft package +- Supports numbered bibliography and index headings + +First public release: version 1.0 (1998/10/24) + +----------------------------------------------------------------- + Author: Peter Wilson, Herries Press + Maintainer: Will Robertson (will dot robertson at latex-project dot org) + Copyright 1998--2004 Peter R. Wilson + Copyright 2009 Will Robertson + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either + version 1.3c of this license or (at your option) any + later version: + + This work has the LPPL maintenance status "maintained". + The Current Maintainer of this work is Will Robertson. + + This work consists of the files: +README (this file) +tocbibind.dtx +tocbibind.ins + and the derived files: +tocbibind.sty + + The distribution consists of the following files: +README (this file) +tocbibind.dtx +tocbibind.ins +tocbibind.pdf (user manual) + +----------------------------------------------------------------- + + To install the package: +- run: latex tocbibind.ins (which will generate tocbibind.sty) +- Move tocbibind.sty to a location where LaTeX will find it + (typically in a local texmf tree at tex/latex/***) and refresh the + file database. See the FAQ on CTAN at help/uk-tex-faq or + http://www.tug.ac.uk/faq for more information on this. + + To process the manual: +- run: latex tocbibind.dtx +- For an index, run: makeindex -s gind.ist tocbibind +- run: latex tocbibind.dtx +- Print tocbibind.dvi for a hardcopy of the package manual diff --git a/macros/latex/contrib/tocbibind/tocbibind.dtx b/macros/latex/contrib/tocbibind/tocbibind.dtx new file mode 100644 index 0000000000..1570545523 --- /dev/null +++ b/macros/latex/contrib/tocbibind/tocbibind.dtx @@ -0,0 +1,1183 @@ +% \iffalse meta-comment +% tocbibind.dtx +% Author: Peter Wilson, Herries Press +% Maintainer: Will Robertson (will dot robertson at latex-project dot org) +% Copyright 1998--2004 Peter R. Wilson +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any +% later version: +% +% This work has the LPPL maintenance status "maintained". +% The Current Maintainer of this work is Will Robertson. +% +% This work consists of the files listed in the README file. +% +% +%<*driver> +\documentclass{ltxdoc} +\EnableCrossrefs +\CodelineIndex +\setcounter{StandardModuleDepth}{1} +\begin{document} + \DocInput{tocbibind.dtx} +\end{document} +% +% +% \fi +% +% \CheckSum{464} +% +% \DoNotIndex{\',\.,\@M,\@@input,\@addtoreset,\@arabic,\@badmath} +% \DoNotIndex{\@centercr,\@cite} +% \DoNotIndex{\@dotsep,\@empty,\@float,\@gobble,\@gobbletwo,\@ignoretrue} +% \DoNotIndex{\@input,\@ixpt,\@m} +% \DoNotIndex{\@minus,\@mkboth,\@ne,\@nil,\@nomath,\@plus,\@set@topoint} +% \DoNotIndex{\@tempboxa,\@tempcnta,\@tempdima,\@tempdimb} +% \DoNotIndex{\@tempswafalse,\@tempswatrue,\@viipt,\@viiipt,\@vipt} +% \DoNotIndex{\@vpt,\@warning,\@xiipt,\@xipt,\@xivpt,\@xpt,\@xviipt} +% \DoNotIndex{\@xxpt,\@xxvpt,\\,\ ,\addpenalty,\addtolength,\addvspace} +% \DoNotIndex{\advance,\Alph,\alph} +% \DoNotIndex{\arabic,\ast,\begin,\begingroup,\bfseries,\bgroup,\box} +% \DoNotIndex{\bullet} +% \DoNotIndex{\cdot,\cite,\CodelineIndex,\cr,\day,\DeclareOption} +% \DoNotIndex{\def,\DisableCrossrefs,\divide,\DocInput,\documentclass} +% \DoNotIndex{\DoNotIndex,\egroup,\ifdim,\else,\fi,\em,\endtrivlist} +% \DoNotIndex{\EnableCrossrefs,\end,\end@dblfloat,\end@float,\endgroup} +% \DoNotIndex{\endlist,\everycr,\everypar,\ExecuteOptions,\expandafter} +% \DoNotIndex{\fbox} +% \DoNotIndex{\filedate,\filename,\fileversion,\fontsize,\framebox,\gdef} +% \DoNotIndex{\global,\halign,\hangindent,\hbox,\hfil,\hfill,\hrule} +% \DoNotIndex{\hsize,\hskip,\hspace,\hss,\if@tempswa,\ifcase,\or,\fi,\fi} +% \DoNotIndex{\ifhmode,\ifvmode,\ifnum,\iftrue,\ifx,\fi,\fi,\fi,\fi,\fi} +% \DoNotIndex{\input} +% \DoNotIndex{\jobname,\kern,\leavevmode,\let,\leftmark} +% \DoNotIndex{\list,\llap,\long,\m@ne,\m@th,\mark,\markboth,\markright} +% \DoNotIndex{\month,\newcommand,\newcounter,\newenvironment} +% \DoNotIndex{\NeedsTeXFormat,\newdimen} +% \DoNotIndex{\newlength,\newpage,\nobreak,\noindent,\null,\number} +% \DoNotIndex{\numberline,\OldMakeindex,\OnlyDescription,\p@} +% \DoNotIndex{\pagestyle,\par,\paragraph,\paragraphmark,\parfillskip} +% \DoNotIndex{\penalty,\PrintChanges,\PrintIndex,\ProcessOptions} +% \DoNotIndex{\protect,\ProvidesClass,\raggedbottom,\raggedright} +% \DoNotIndex{\refstepcounter,\relax,\renewcommand,\reset@font} +% \DoNotIndex{\rightmargin,\rightmark,\rightskip,\rlap,\rmfamily,\roman} +% \DoNotIndex{\roman,\secdef,\selectfont,\setbox,\setcounter,\setlength} +% \DoNotIndex{\settowidth,\sfcode,\skip,\sloppy,\slshape,\space} +% \DoNotIndex{\symbol,\the,\trivlist,\typeout,\tw@,\undefined,\uppercase} +% \DoNotIndex{\usecounter,\usefont,\usepackage,\vfil,\vfill,\viiipt} +% \DoNotIndex{\viipt,\vipt,\vskip,\vspace} +% \DoNotIndex{\wd,\xiipt,\year,\z@} +% +% \changes{v1.0}{1998/10/24}{First public release} +% \changes{v1.1}{1998/11/15}{Added the proc class and extra support for unknown classes} +% \changes{v1.2}{1999/01/17}{Using the stdclsdv package} +% \changes{v1.2}{1999/01/17}{Made compatible with the tocloft package} +% \changes{v1.3}{1999/08/22}{Fixed index numbering, options, headings} +% \changes{v1.3a}{1999/09/12}{Added PackageNote commands} +% \changes{v1.4}{2000/03/04}{Fixed shift of Index title} +% \changes{v1.4}{2000/03/04}{Added support for numbered Listof headings} +% \changes{v1.4a}{2000/03/04}{Added delimeter for simple chapters} +% \changes{v1.5}{2001/04/17}{Fixed \cs{addcontentsline} problem with hyperref package} +% \changes{v1.5}{2001/04/17}{Removed requirement for the stdclsdv package} +% \changes{v1.5a}{2001/08/07}{Made \cs{restorechapter} safer} +% \changes{v1.5b}{2001/11/10}{Fiddled with page styling} +% \changes{v1.5c}{2002/03/11}{Fixed \cs{@mkboth}} +% \changes{v1.5d}{2002/04/09}{Fixed \cs{tocchapter} for article classes} +% \changes{v1.5e}{2003/01/22}{Changed thebibliography} +% \changes{v1.5f}{2003/02/04}{Changed theindex} +% \changes{v1.5h}{2004/05/10}{Changed license from LPPL v1.0 to v1.3} +% \changes{v1.5i}{2009/09/04}{New maintainer (Will Robertson)} +% \changes{v1.5k}{2010/10/13}{Remove a message in the console output} +% +% \def\dtxfile{tocbibind.dtx} +% \def\fileversion{v1.4a} \def\filedate{2000/03/05} +% \def\fileversion{v1.5} \def\filedate{2001/04/17} +% \def\fileversion{v1.5a} \def\filedate{2001/08/07} +% \def\fileversion{v1.5b} \def\filedate{2001/11/10} +% \def\fileversion{v1.5c} \def\filedate{2002/03/11} +% \def\fileversion{v1.5d} \def\filedate{2002/04/09} +% \def\fileversion{v1.5e} \def\filedate{2003/01/22} +% \def\fileversion{v1.5f} \def\filedate{2003/02/04} +% \def\fileversion{v1.5g} \def\filedate{2003/03/13} +% \def\fileversion{v1.5h} \def\filedate{2004/05/10} +% \def\fileversion{v1.5i} \def\filedate{2009/09/04} +% \def\fileversion{v1.5j} \def\filedate{2009/12/28} +% \def\fileversion{v1.5k} \def\filedate{2010/10/13} +% \newcommand*{\Lpack}[1]{\textsf {#1}} ^^A typeset a package +% \newcommand*{\Lopt}[1]{\textsf {#1}} ^^A typeset an option +% \newcommand*{\file}[1]{\texttt {#1}} ^^A typeset a file +% \newcommand*{\Lcount}[1]{\textsl {\small#1}} ^^A typeset a counter +% \newcommand*{\pstyle}[1]{\textsl {#1}} ^^A typeset a pagestyle +% \newcommand*{\Lenv}[1]{\texttt {#1}} ^^A typeset an environment +% +% \title{The \Lpack{tocbibind} package\thanks{This +% file (\texttt{\dtxfile}) has version number \fileversion, last revised +% \filedate.}} +% +% \author{ +% Author: Peter Wilson, Herries Press\\ +% Maintainer: Will Robertson\\ +% \texttt{will dot robertson at latex-project dot org} +% } +% \date{\filedate} +% \maketitle +% \begin{abstract} +% The \Lpack{tocbibind} package can be used to add document elements +% like a bibliography or an index to the Table of Contents. The package +% is designed to work with the four standard \Lpack{book}, \Lpack{report}, +% \Lpack{article} and \Lpack{proc} classes, and to a limited extent with the +% \Lpack{ltxdoc} class. Results with other classes may be +% problematical. The package has been tested with the \Lpack{tocloft} +% package, but has not been tested with other packages +% that change the definitions of the |\chapter*| or |\section*| commands. +% +% \end{abstract} +% \tableofcontents +% +% \StopEventually{} +% +% +% +% \section{Introduction} +% +% Questions about adding the bibliography to the Table of Contents +% seem to pop up fairly regularly on the +% \texttt{comp.text.tex} newsgroup. +% +% The \Lpack{tocbibind} package provides a solution for +% automatically inserting references to a bibliography or an index, +% or other headed document elements into the Table of Contents. +% (\Lpack{tocbibind} is meant to be shorthand for `Table of Contents, +% Bibliography, Index, etc'). +% Portions of the package were developed as part of a class +% and package bundle for typesetting ISO standards~\cite{PRW96i}. +% This manual is typeset according to the conventions of the +% \LaTeX{} \textsc{docstrip} utility which enables the automatic +% extraction of the \LaTeX{} macro source files~\cite{GOOSSENS94}. +% +% Section~\ref{sec:usc} describes the usage of the package. +% Commented source code for the package is in Section~\ref{sec:code}. +% +% \section{The \Lpack{tocbibind} package} \label{sec:usc} +% +% The \Lpack{tocbibind} package enables the titles of the +% Table of Contents, the List of Figures, the List of Tables, the +% Bibliography and the Index all to be added to the Table of Contents. +% By default, all of these document elements, if they exist, will be +% incorporated into the Table of Contents (ToC for short). +% Package options are available to switch off any of these inclusions. +% \begin{itemize} +% \item \Lopt{notbib} Disables the inclusion of the Bibliography. +% \item \Lopt{notindex} Disables the inclusion of the Index (inclusion +% of the Index of an \Lpack{ltxdoc} class document is permanantly +% disabled). +% \item \Lopt{nottoc} Disables the inclusion of the ToC. +% \item \Lopt{notlot} Disables the inclusion of the List of Tables. +% \item \Lopt{notlof} Disables the inclusion of the List of Figures. +% \item \Lopt{chapter} Use chapter-level headings, if possible. +% \item \Lopt{section} Use section-level headings, if possible. +% \item \Lopt{numbib} Number the Bibliography heading (default is no number). +% \item \Lopt{numindex} Number the Index heading (default is no number). +% \item \Lopt{other} Use a non-traditional heading command. This option +% effectively requires the use of the |\tocotherhead| command. +% \item \Lopt{none} Disables everything. +% \end{itemize} +% +% The package is designed to work with the standard \LaTeX{} +% document classes \Lpack{book}, \Lpack{report}, \Lpack{article}, \Lpack{proc} +% and \Lpack{ltxdoc} class (which is based to a large extent on +% the \Lpack{article} class). +% In the \Lpack{article}, \Lpack{proc} and \Lpack{ltxdoc} classes \LaTeX{} +% uses the |\section*| heading +% style for the bibliography etc., while for the other two classes +% it uses the |\chapter*| heading style. \Lpack{tocbibind} honours +% these conventions. However, if the package is used with another +% class (perhaps with a class for typesetting theses which has +% different conventions), then the +% \Lopt{chapter} or \Lopt{section} options can be used to select the +% appropriate style (but the class must define |\chapter*| and +% |\@makeschapterhead|, or |\section*| respectively). +% +% The standard classes, except for \Lpack{ltxdoc}, have a feature whereby the +% height of the title for an index is at a different height than +% any other in a document (latex bug~3126). The \Lpack{tocbibind} package +% disables this feature. +% The disablement has the side effect that +% the |\columnseprule| and |\columnsep| lengths can be +% set via |\setlength| to alter the column seperation and the thickness +% of a rule between the two columns in the index. +% The effect of using the \Lopt{none} option is to limit any changes to +% the single one of disabling this standard feature. +% +% \DescribeMacro{\tocotherhead} +% In the standard \LaTeX{} classes the bibliography and index headings +% are either both defined in terms of the |\chapter*| command or in +% terms of the |\section*| command. +% The package assumes that any class, other than the standard classes +% already mentioned, will either use code from the standard classes for +% implementing the bibliography and other headings, or will use very +% similar code. Some classes (and maybe packages) change the names of +% the heading commands. One example that I am aware of uses |\clause| +% instead of |\section|, |\sclause| instead of |\subsection| and so on. +% If your document's headings are defined like this and the same +% heading level is used for the bibliography, etc., then you can use +% the \Lopt{other} option and +% the |\tocotherhead{|\meta{headingname}|}| command to cater for this. +% If your document uses |\clause| then put |\tocotherhead{clause}| +% in the preamble after loading the package. The package then assumes +% that the bibliography heading is defined in terms of |\clause*|. +% +% If you use the |\tocotherhead| command, then it overrides any +% \Lopt{chapter} or \Lopt{section} option. +% +% \DescribeMacro{\tocbibname} +% The package attempts to pick up the name for the Bibliography from +% the class definition. (Note that the \Lpack{article} class and +% its derivatives stores +% the name text in the |\refname| whilst the \Lpack{book} and \Lpack{report} +% classes +% store the name in |\bibname|). This package uses |\tocbibname| +% to store the name of the bibliography. +% +% \changes{v1.2}{1999/01/17}{Replaced toc\ldots name commands by the set\ldots commands.} +% \DescribeMacro{\setindexname} +% \DescribeMacro{\settocname} +% \DescribeMacro{\setlotname} +% \DescribeMacro{\setlofname} +% \DescribeMacro{\settocbibname} +% These commands set the heading texts for the index, +% ToC, list of tables and list of figures. When used with the three +% standard classes, the heading text is picked up from the |\indexname|, +% |\contentsname|, |\listtablename| and |\listfigurename| commands +% respectively. The heading texts can be changed by changing the standard +% commands, or by using |\setindexname{|\meta{name}|}|, and similarly for +% the other headings. Thus, the following two lines of code have the +% same effect: +% \begin{verbatim} +% \renewcommand{\listfigurename}{Figures} +% \setlofname{Figures} +% \end{verbatim} +% \textit{Note that these commands replace the } |\toc...name| +% \textit{commands that were in version 1.1.} +% +% +% \subsection{Numbering the List of Figures, etc.} +% +% Some authors like, or are required, to number the Listof headings. +% Some commands are provided to simplify doing this. +% +% \DescribeMacro{\simplechapter} +% \DescribeMacro{\simplechapterdelim} +% \DescribeMacro{\restorechapter} +% In chaptered documents, the Listof headings are effectively typeset as +% |\chapter*{}|. The natural way to get numbered headings would be to +% typeset them as |\chapter{}| but this has the potential disadvantage +% that the word `Chapter', or equivalent, would be written before the +% heading, which is probably not what is required. The +% |\simplechapter[|\meta{name}|]| +% command modifies any subsequent |\chapter| commands so that the result +% looks like that of |\chapter*| except that the chapter number is put +% on the same line as the title and the value of |\simplechapterdelim| +% is typeset immediately after the number. By default, |\simplechapterdelim| +% is empty. +% If the optional \meta{name} argument +% is present, the \meta{name} is typeset before the number. For example: +% \begin{verbatim} +% \renewcommand{\simplechapterdelim}{:} +% \simplechapter[Chap] +% \end{verbatim} +% will result in |\chapter{First chapter}| being typeset like: \\ +% \quad \textbf{Chap 1: First chapter}. \\ +% The |\restorechapter| command resets +% any subsequent |\chapter| commands to their default behaviour. +% +% \DescribeMacro{\tocchapter} +% \DescribeMacro{\tocsection} +% Internally, the Listof commands in the \Lpack{tocbibind} package use +% |\toc@chapter| for typesetting +% the Listof headings in chaptered documents and |\toc@section| for +% non-chaptered documents. The |\tocchapter| command modifies the +% |\toc@chapter| command to use a `simple chapter' heading. The |\tocsection| +% command modifies |\toc@section| to typeset using |\section| instead of +% |\section*|. +% +% For example, to get a numbered List of Figures heading in a chaptered +% document, put the following in the preamble: +% \begin{verbatim} +% \renewcommand{\listoffigures}{\begingroup +% \tocchapter +% \tocfile{\listfigurename}{lof} +% \endgroup} +% \end{verbatim} +% while to get a numbered List of Tables in a non-chaptered document: +% \begin{verbatim} +% \renewcommand{\listoftables}{\begingroup +% \tocsection +% \tocfile{\listtablename}{lot} +% \endgroup} +% \end{verbatim} +% More generally, to number the Table of Contents in a (non-)chaptered document +% you can do: +% \begin{verbatim} +% \renewcommand{\tableofcontents}{\begingroup +% \tocsection +% \tocchapter +% \tocfile{\contentsname}{toc} +% \endgroup} +% \end{verbatim} +% The |\begingroup| |\endgroup| pairing keeps the changes local. +% +% \subsection{Page styles} +% +% The package, by default, supports the standard |empty|, |plain|, and +% |headings| page styles. Other page styles, for example ones you specify +% yourself via the \Lpack{fancyhdr} package, are indirectly supported. +% +% As an example, assume that you are using the \Lpack{fancyhdr} package +% and you use a |fancy| pagestyle in a \Lpack{book/report} class +% document like: +% \begin{verbatim} +% \pagestyle{fancy} +% \renewcommand{\chaptermark}[1]{\markboth{\thechapter.\ #1}{}} +% \end{verbatim} +% then you will find that the chapter titles in headers are in normalcase +% but the ToC, etc., headers are still in uppercase. +% +% \DescribeMacro{\tocetcmark} +% In this package, the marks for the ToC, LoF\ldots headers are specified +% via the command |\tocetcmark|\marg{head}. To match the |fancy| pagestyle +% this must be redefined, like: +% \begin{verbatim} +% \pagestyle{fancy} +% \renewcommand{\chaptermark}[1]{\markboth{\thechapter.\ #1}{}} +% \renewcommand{\tocetcmark}[1]{\markboth{#1}{}} +% \end{verbatim} +% which will give normalcase headers for the ToC, LoF\ldots. As these +% are not normally numbered, it would be a misjudgement to try and +% get a non-existent chapter number into the header. +% +% Documents with sections, but not chapters, can be treated in a similar +% manner by redefining |\tocetcmark| appropriately. +% +% +% +% \subsection{Package Defined Listof...} +% +% There are packages, such as \Lpack{listings} and \Lpack{ccaption}, that +% provide new Listof lists. These can be handled by the \Lpack{tocbibind} +% package in a similar manner to the usual Listofs. Two examples are given +% below. +% +% The \Lpack{listings} package version 0.2 provides a |\lstlistoflistings| +% command to print a list of listings. The header name for this list +% is in |\lstlistingname| and the listing file has the extension |lol|. +% This can be treated just like the |\listoffigure|, etc., commands. +% To add the List of Listings header to the ToC do: +% \begin{verbatim} +% \renewcommand{\lstlistoflistings}{\begingroup +% \tocfile{\lstlistingname}{lol} +% \endgroup} +% \end{verbatim} +% and to number the Listof heading do: +% \begin{verbatim} +% \renewcommand{\lstlistoflistings}{\begingroup +% \tocsection +% \tocchapter +% \tocfile{\lstlistingname}{lol} +% \endgroup} +% \end{verbatim} +% +% The \Lpack{ccaption} package enables authors to define new kinds of +% floats (together with their captions) and Listof for each new kind of float. +% The command to define a new float is essentially +% |\newfloatlist{|\meta{fenv}|}{|\meta{ext}|}{|\meta{listname}|}{|\meta{capname}|}|, +% where \meta{fenv} is the name of the new float environment and \meta{ext} +% is the file extension for the listof file. The typesetting of the +% Listof listing is called by the command +% |\listoffenv|, where |fenv| is the name \meta{fenv}. +% For example, a new float environment for diagrams could be +% defined via \\ +% |\newfloatlist{diagram}{dia}{List of Diagrams}{Diagram}|, and the Listof +% called for by \\ +% |\listofdiagram| +% +% In this case, to add the `List of Diagrams' to the ToC it is +% necessary to define a +% new listof command, and use this in place of the |\listoffenv|. +% For the diagram example this could be (unnumbered): +% \begin{verbatim} +% \newcommand{\listofdia}{\begingroup +% \tocfile{List of Diagrams}{dia} +% \endgroup} +% \end{verbatim} +% and correspondingly for a numbered version: +% \begin{verbatim} +% \newcommand{\listofdia}{\begingroup +% \tocsection +% \tocchapter +% \tocfile{List of Diagrams}{dia} +% \endgroup} +% \end{verbatim} +% and then use |\listofdia| instead of |\listofdiagram|. +% +% +% +% \subsection{Abstracts} +% +% On rare occasions a publisher may want an abstract listed in the +% ToC. This package does not provide for that, partly because +% it is easier to do than the other headings. Just proceed along +% the lines below, where \texttt{section} might have to be +% \texttt{chapter}, and if you are using the \Lpack{hyperref} package +% you have to use the |\phantomsection| macro. +% \begin{verbatim} +% \begin{abstract} +% % \phantomsection % required if using hyperref +% \addcontentsline{toc}{section}{\abstractname} +% ... rest of the abstract +% \end{verbatim} +% +% +% +% \section{The package code} \label{sec:code} +% +% Announce the name and version of the package, which requires +% \LaTeXe. +% \changes{v1.5}{2001/04/17}{Deleted requirement for stdclsdv package} +% \begin{macrocode} +%<*usc> +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{tocbibind}[2010/10/13 v1.5k extra ToC listings] +% \end{macrocode} +% +% \begin{macro}{\PRWPackageNote} +% \begin{macro}{\PRWPackageNoteNoLine} +% These two commands write a package Note to the terminal and log file. +% Use as |\PRWPackageNote{|\meta{package name}|}{|\meta{note text}|}|. +% The NoLine version does not show the line number. The commands are +% intermediate between the kernel |\PackageWarning| and |\PackageInfo| +% commands. I have provided them as other packages (of mine) may also +% incorporate them. The code is based on \file{lterror.dtx}. +% \changes{v1.3a}{1999/09/12}{Provided PRWPackageNote and PRWPackageNoteNoLine +% commands} +% \begin{macrocode} +\providecommand{\PRWPackageNote}[2]{% + \GenericWarning{% + (#1)\@spaces\@spaces\@spaces\@spaces + }{% + Package #1 Note: #2% + }% +} +\providecommand{\PRWPackageNoteNoLine}[2]{% + \PRWPackageNote{#1}{#2\@gobble}% +} + +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\@bibquit} +% \begin{macro}{\if@bibchapter} +% We need to know what sectional divisions are supported. +% \changes{v1.5}{2001/04/17}{Major surgery to code for checking divisions} +% \begin{macrocode} +\newcommand{\@bibquit}{} +\newif\if@bibchapter +\@ifundefined{chapter}{% + \@bibchapterfalse + \@ifundefined{section}{% + \PackageWarning{tocbibind}% + {I don't recognize any sectional divisions.\MessageBreak + I hope you have used the `other' option\MessageBreak + otherwise I'll ignore the package} + \renewcommand{\@bibquit}{\endinput} + }{\PackageInfo{tocbibind}{The document has section divisions}} + }{\@bibchaptertrue + \PackageInfo{tocbibind}{The document has chapter divisions}} + +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\if@inltxdoc} +% This is used as a flag for the \Lpack{ltxdoc} class. This has a +% particular kind of index that I am not going to mess with. +% \begin{macrocode} +\newif\if@inltxdoc +\@ifclassloaded{ltxdoc}{\@inltxdoctrue}{\@inltxdocfalse} + +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\if@dotocbib} +% \begin{macro}{\if@dotocind} +% \begin{macro}{\if@dotoctoc} +% \begin{macro}{\if@dotoclot} +% \begin{macro}{\if@dotoclof} +% A set of booleans for deciding what is to go into the ToC. By +% default add everything. +% \begin{macrocode} +\newif\if@dotocbib\@dotocbibtrue +\newif\if@dotocind\@dotocindtrue +\newif\if@dotoctoc\@dotoctoctrue +\newif\if@dotoclot\@dotoclottrue +\newif\if@dotoclof\@dotocloftrue + +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\if@donumbib} +% \begin{macro}{\if@donumindex} +% A set of booleans for deciding whether or not to produce numbered +% headings (default is to do unnumbered headings). +% \begin{macrocode} +\newif\if@donumbib\@donumbibfalse +\newif\if@donumindex\@donumindexfalse +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\if@dot@cb@bsection} +% If TRUE, use a section heading for the bibliography no matter what +% the main document divisions are. +% \changes{v1.5e}{2003/01/22}{Added \cs{if@dot@cb@bsection}} +% \begin{macrocode} +\newif\if@dot@cb@bsection\@dot@cb@bsectionfalse + +% \end{macrocode} +% \end{macro} +% +% Now we can do the options. Most of them are easy. +% \begin{macrocode} +\DeclareOption{section}{\@bibchapterfalse} +\DeclareOption{notbib}{\@dotocbibfalse} +\DeclareOption{notindex}{\@dotocindfalse} +\DeclareOption{nottoc}{\@dotoctocfalse} +\DeclareOption{notlot}{\@dotoclotfalse} +\DeclareOption{notlof}{\@dotocloffalse} +\DeclareOption{numbib}{\@donumbibtrue} +\DeclareOption{numindex}{\@donumindextrue} + +% \end{macrocode} +% The \Lopt{chapter} option needs to check whether or not the chapter +% heading commands are defined. If they are not, then go with the +% section level headings. +% \begin{macrocode} +\DeclareOption{chapter}{% + \if@bibchapter\else + \PackageWarning{tocbibind}% + {Chapters are undefined, using section instead} + \fi} + +% \end{macrocode} +% +% The \Lopt{other} option makes |\@bibquit| a no-op and cancels any +% chapter based processing. +% \changes{v1.3}{1999/08/22}{Added the `other' option} +% \begin{macrocode} +\DeclareOption{other}{\renewcommand{\@bibquit}{} + \@bibchapterfalse} +% \end{macrocode} +% +% The \Lopt{none} option turns everything off. +% \changes{v1.}{2000/03/04}{Added the `none' option} +% \begin{macrocode} +\DeclareOption{none}{% + \@dotocbibfalse + \@dotocindfalse + \@dotoctocfalse + \@dotoclotfalse + \@dotocloffalse + \@donumbibfalse + \@donumindexfalse +} +% \end{macrocode} +% +% Process the options now, and then quit if necessary. +% \changes{v1.3}{1999/08/22}{Now quit after option processing} +% \begin{macrocode} +\ProcessOptions\relax +\@bibquit + +% \end{macrocode} +% +% Issue a note about the heading style being used. +% \changes{v1.3a}{1999/09/12}{Replaced PackageWarning here by PRWPackageNoteNoLine} +% \begin{macrocode} +\if@bibchapter + \PRWPackageNoteNoLine{tocbibind}{Using chapter style headings, unless overridden} +\else + \PRWPackageNoteNoLine{tocbibind}{Using section or other style headings} +\fi +% \end{macrocode} +% +% Ensure that the index is not processed if it is an \Lpack{ltxdoc} class. +% \begin{macrocode} +\if@inltxdoc \@dotocindfalse \fi + +% \end{macrocode} +% +% \begin{macro}{\@tocextra} +% \begin{macro}{\tocotherhead} +% |\@tocextra| is the internal command to store the heading command name. +% |\tocotherhead{|\meta{name}|}| is the user command to set the +% heading command \meta{name} (without the backslash). +% The default is section. +% \changes{v1.3}{1999/08/22}{Renamed tocextrahead command as tocotherhead} +% \begin{macrocode} +\newcommand{\@tocextra}{section} +\newcommand{\tocotherhead}[1]{\renewcommand{\@tocextra}{#1}} + +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\tocetcmark} +% \begin{macro}{\prw@mkboth} +% \begin{macro}{\toc@section} +% \begin{macro}{\toc@headstar} +% Utility macros, as the code that they represent gets +% used several times over. They deal with marking for page headers +% (code taken from \file{classes.dtx}), +% and adding starred sectional headings to the ToC. +% +% |\tocetcmark|\marg{text} is the default mark code as called by +% sectional headings. +% \changes{v1.5b}{2001/11/10}{Added \cs{tocetcmark}} +% \changes{v1.5c}{2002/03/11}{Changed \cs{@markboth} to \cs{@mkboth} in \cs{tocetcmark}} +% \begin{macrocode} +\newcommand{\tocetcmark}[1]{% + \@mkboth{\MakeUppercase{#1}}{\MakeUppercase{#1}}} +% \end{macrocode} +% +% |\prw@mkboth|\marg{text} is used later for the ToC headings. +% \changes{v1.5b}{2001/11/10}{Defined \cs{prw@mkboth} in terms of +% \cs{tocetcmark}} +% \begin{macrocode} +\newcommand{\prw@mkboth}[1]{\tocetcmark{#1}} +% \end{macrocode} +% +% |\toc@section{|\meta{sec}|}{|\meta{text}|}| is a generalised version +% of |\sec*{|\meta{text}|}| which also makes an entry of \meta{text} into +% the ToC, where \meta{sec} is the name of a sectional division (with no +% backslash). |\toc@headstar{|\meta{sec}|}{|\meta{text}|}| is similar except +% that it makes no entry into the ToC. +% \changes{v1.5}{2001/04/17}{Added \cs{phantomsection} to \cs{toc@section} +% and \cs{toc@chapter}} +% \changes{v1.5j}{2009/12/28}{Removed \cs{phantomsection}} +% \begin{macrocode} +\newcommand{\toc@section}[2]{% + \@nameuse{#1}*{#2\prw@mkboth{#2}} + \addcontentsline{toc}{#1}{#2}} +\newcommand{\toc@headstar}[2]{% + \@nameuse{#1}*{{#2}}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\toc@chapter} +% |\toc@chapter{|\meta{text}|}| is equivalent to |\chapter*{|\meta{text}|}| +% except that it makes an entry into the ToC. +% +% Until version 1.5f the chapter part of the code was |\chapter*{#1\prw@mkboth{#1}}|. +% On 2003/03/12 James Szinger\footnote{\texttt{szinger@lanl.gov}} wrote that +% this failed for a bibliography in a two column book; the page headings +% for the previous chapter continued through the bibliography! James +% suggested that the mark +% part should be moved outside the chapter part (as is now done). I have +% no idea why there should have been this problem. As part of looking at +% it I even replaced the \cs{toc@chapter} as used in the |thebibliography| +% environment with the standard book class definition, which failed as +% well. +% +% \changes{v1.5g}{2003/03/13}{Minor, but vital, change to \cs{toc@chapter}} +% \changes{v1.5j}{2009/12/28}{Removed \cs{phantomsection}} +% \begin{macrocode} +\newcommand{\toc@chapter}[1]{% + \chapter*{#1}\prw@mkboth{#1} + \addcontentsline{toc}{chapter}{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\tocbibname} +% This holds the text for the Bibliography heading. We try and +% get the text from the class (either |\bibname| or |\refname|). +% \begin{macrocode} +\ifx\bibname\undefined + \ifx\refname\undefined + \newcommand{\tocbibname}{References} + \else + \newcommand{\tocbibname}{\refname} + \fi +\else + \newcommand{\tocbibname}{\bibname} +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\setindexname} +% \begin{macro}{\settocname} +% \begin{macro}{\setlotname} +% \begin{macro}{\setlofname} +% \begin{macro}{\settocbibname} +% The remaining heading texts are simpler as we only need to check +% if their respective names are defined in the class. Note that these +% commands in version 1.2 have been changed from version 1.1 in order to +% integrate with the \Lpack{tocloft} package (which operates with +% the |\contentsname| etc commands). +% \begin{macrocode} +\providecommand{\indexname}{Index} +\newcommand{\setindexname}[1]{\renewcommand{\indexname}{#1}} +\providecommand{\contentsname}{Contents} +\newcommand{\settocname}[1]{\renewcommand{\contentsname}{#1}} +\providecommand{\listtablename}{List of Tables} +\newcommand{\setlotname}[1]{\renewcommand{\listtablename}{#1}} +\providecommand{\listfigurename}{List of Figures} +\newcommand{\setlofname}[1]{\renewcommand{\listfigurename}{#1}} +\newcommand{\settocbibname}[1]{\renewcommand{\tocbibname}{#1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% The rest is just hacking the various environments and commands +% from \file{classes.dtx}. +% +% Following a suggestion by Donald Arseneau (CTT, `Re: memoir, natbib, and +% chapterbib', 9 Jan 2003), use |\bibsection| as a hook into +% |thebibliography| for the style of the heading. +% +% \begin{macro}{\t@cb@bchapsection} +% \begin{macro}{\t@cb@bsection} +% Internal macros holding the heading for |thebibliography|. +% \changes{v1.5e}{2003/01/13}{Added \cs{t@cb@bchapsec} and \cs{t@cb@bsection}} +% \begin{macrocode} +\newcommand{\t@cb@bchapsec}{% + \if@bibchapter + \if@donumbib + \chapter{\tocbibname}% + \else + \toc@chapter{\tocbibname}% + \fi + \else + \if@donumbib + \@nameuse{\@tocextra}{\tocbibname}% + \else + \toc@section{\@tocextra}{\tocbibname}% + \fi + \fi} +\newcommand{\t@cb@bsection}{% + \if@donumbib + \@nameuse{\@tocextra}{\tocbibname}% + \else + \toc@section{\@tocextra}{\tocbibname}% + \fi} + +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% +% Redefine \Lenv{thebibliography}, but only if requested. Take care that +% the \Lpack{natbib} package has not already modified the environment, noting +% that \Lpack{natbib} defines and uses |\bibsection|. +% \changes{v1.5e}{2003/01/13}{Major changes in redefining the thebibliography environment} +% \begin{macrocode} +\if@dotocbib +% \end{macrocode} +% +% \begin{macrocode} + \@ifpackageloaded{natbib}{}{% natbib not loaded +% \end{macrocode} +% The natbib package has not been used (yet), so go ahead and change +% the environment. +% \begin{macro}{\bibsection} +% Macro holding heading for |thebibliography|. +% \changes{v1.5e}{2003/01/13}{Added \cs{bibsection}} +% \begin{macrocode} + \newcommand{\bibsection}{\t@cb@bchapsec} +% \end{macrocode} +% \end{macro} +% \begin{environment}{thebibliography} +% \changes{v1.5e}{2003/01/13}{Changed thebibliography to use \cs{bibsection}} +% \begin{macrocode} + \renewenvironment{thebibliography}[1]{% + \bibsection + \begin{thebibitemlist}{#1}}{\end{thebibitemlist}}} +% \end{macrocode} +% \end{environment} +% +% +% \begin{environment}{thebibitemlist} +% Just as a matter of style, I have extracted the list making code +% from the definition of the \Lenv{thebibliography}. It might also +% make it easier for someone to change the list environment. +% The code is a straight copy from \file{classes.dtx}. +% \begin{macrocode} + \newenvironment{thebibitemlist}[1]{ + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} + +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{\sectionbib} +% The \Lpack{chapterbib} package defines a macro |\sectionbib| +% which, if its |sectionbib| option is used, it calls at the beginning +% of the document to fiddle with +% the |thebibliography| environment (but it doesn't work when it +% is renewed as above). We need to disable the macro because we do +% our own fiddling +% \changes{v1.5e}{2003/01/22}{Killed \cs{sectionbib} from the chapterbib +% package} +% \begin{macrocode} + \@ifpackagewith{chapterbib}{sectionbib}% + {\renewcommand{\sectionbib}[2]{}}% + {} + +% \end{macrocode} +% \end{macro} +% This is the end of |\if@dotocbib|. +% \begin{macrocode} +\fi + +% \end{macrocode} +% +% At the end of the preamble we have to check if the \Lpack{natbib} +% and/or \Lpack{chapterbib} packages have been loaded after the +% \Lpack{tocbibind} package. If this is the case, we have to make sure +% that we have control with respect to their |sectionbib| options. +% \changes{v1.5e}{2003/01/22}{Added code to cater for natbib and chapterbib +% packages} +% \begin{macrocode} +\AtBeginDocument{% + \@ifpackagewith{natbib}{sectionbib}{\@dot@cb@bsectiontrue}{} +% \end{macrocode} +% If the \Lpack{chapterbib} package was loaded before \Lpack{tocbibind} +% we have already killed |\sectionbib|. If \Lpack{chapterbib} has been +% loaded afterwards +% we must kill |\sectionbib| now before it gets used. +% \begin{macrocode} + \@ifpackagewith{chapterbib}{sectionbib}% + {\@dot@cb@bsectiontrue + \@ifundefined{sectionbib}{}{\def\sectionbib#1#2{}}}% + {} + +% \end{macrocode} +% Lastly, use our definition of |\bibsection| for the |thebibliography| +% environment. +% \begin{macrocode} + \if@dotocbib + \if@dot@cb@bsection + \renewcommand{\bibsection}{\t@cb@bsection}% + \else + \renewcommand{\bibsection}{\t@cb@bchapsec}% + \fi + \fi +% \end{macrocode} +% This is the end of |\AtBeginDocument| +% \begin{macrocode} +} + +% \end{macrocode} +% +% \begin{environment}{theindex} +% In an earlier version of this +% package, for reasons that I didn't +% understand, I had to add/remove some vertical space around the Index heading +% to make its height match other chapter/section headings. In an unrelated +% thread on the \texttt{comp.text.tex} newsgroup, +% Donald Arseneau pointed out that +% that this effect was a known feature of the standard classes and +% recorded as latex bug~3126, and was caused by misplaced topskips. The +% following removes this feature for all except the \Lpack{doc} class. +% \changes{v1.4}{2000/03/04}{Fixed index head spacing for all standard classes} +% +% The first bit of code is a copy from \file{classes.dtx}. +% \begin{macrocode} +\if@inltxdoc\else + \renewenvironment{theindex}% + {\if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi +% \end{macrocode} +% This next bit is where we make the package changes. Note that in the +% default definition the values for |\columnseprule| and |\columnsep| +% were set at this point to be |0pt| and |35pt| respectively. They +% are not set in this definition so that they can be adjusted by the +% user, if necessary, before starting the environment. +% \changes{v1.3}{1999/08/22}{Assorted changes for the index} +% \changes{v1.5}{2001/04/17}{Added \cs{phantomsection} to the theindex environment} +% \changes{v1.5f}{2003/02/04}{Replaced \cs{MakeUppercase} code from theindex environment} +% \changes{v1.5j}{2009/12/28}{Removed \cs{phantomsection}} +% \begin{macrocode} + \if@bibchapter + \if@donumindex + \refstepcounter{chapter} + \twocolumn[\vspace*{2\topskip}% + \@makechapterhead{\indexname}]% + \addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}\indexname} + \chaptermark{\indexname} + \else + \if@dotocind + \twocolumn[\vspace*{2\topskip}% + \@makeschapterhead{\indexname}]% + \prw@mkboth{\indexname} + \addcontentsline{toc}{chapter}{\indexname} + \else + \twocolumn[\vspace*{2\topskip}% + \@makeschapterhead{\indexname}]% + \prw@mkboth{\indexname} + \fi + \fi + \else + \if@donumindex + \twocolumn[\vspace*{-1.5\topskip}% + \@nameuse{\@tocextra}{\indexname}]% + \csname \@tocextra mark\endcsname{\indexname} + \else + \if@dotocind + \twocolumn[\vspace*{-1.5\topskip}% + \toc@headstar{\@tocextra}{\indexname}]% + \prw@mkboth{\indexname} + \addcontentsline{toc}{\@tocextra}{\indexname} + \else + \twocolumn[\vspace*{-1.5\topskip}% + \toc@headstar{\@tocextra}{\indexname}]% + \prw@mkboth{\indexname} + \fi + \fi + \fi +% \end{macrocode} +% Now we are back to the original code. +% \begin{macrocode} + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem} + {\if@restonecol\onecolumn\else\clearpage\fi} +\fi + +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{\toc@start} +% \begin{macro}{\toc@finish} +% These two macros deal with the start and finish of the |\tableofcontents| +% and friends by adjusting the column settings if need be. +% \begin{macrocode} +\newcommand{\toc@start}{% + \if@bibchapter + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \fi} + +\newcommand{\toc@finish}{% + \if@bibchapter + \if@restonecol\twocolumn\fi + \fi} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\tocfile} +% The code for |\tableofcontents|, |\listoftables| and |\listoffigures| +% is virtually identical in each case, except for the heading text. +% |\tocfile| embodies the common code. This is virtually a parameterized copy +% from \file{classes.dtx}, except that it handles the differences between +% the \Lpack{article} class and the other two, and incorporates the +% code for additions to the ToC. It is a useful hook if any other +% package wants to extend \Lpack{tocbibind} for other kinds of listings. +% +% The command is |\tocfile{|\meta{head-text}|}{|\meta{file-extension}|}|, +% where \meta{head-text} is the heading (e.g., List of Figures) +% and \meta{file-extension} is the file extension (e.g., \file{lof}). +% \begin{macrocode} +\newcommand{\tocfile}[2]{% + \toc@start +% \end{macrocode} +% The next bit is for the heading changes. +% \begin{macrocode} + \if@bibchapter + \toc@chapter{#1} + \else + \toc@section{\@tocextra}{#1} + \fi +% \end{macrocode} +% And finish up with a parameterized call to start the listing and tidy up. +% \begin{macrocode} + \@starttoc{#2} + \toc@finish} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\tableofcontents} +% If requested, we redefine this command, using |\tocfile| to do +% all the work for us. +% \begin{macrocode} +\if@dotoctoc + \renewcommand{\tableofcontents}{% + \tocfile{\contentsname}{toc} + } +\fi + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\listoftables} +% This is almost identical to the code for |\tableofcontents| +% \begin{macrocode} +\if@dotoclot + \renewcommand{\listoftables}{% + \tocfile{\listtablename}{lot} + } +\fi + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\listoffigures} +% This is almost identical to the code for |\tableofcontents| +% \begin{macrocode} +\if@dotoclof + \renewcommand{\listoffigures}{% + \tocfile{\listfigurename}{lof} + } +\fi + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\simplechapter} +% \begin{macro}{\restorechapter} +% \begin{macro}{\simplechapterdelim} +% The |\simplechapter| command modifies the |\@makechapterhead| command to +% result in an appearance akin to |\@makeschapterhead|, and is based on the +% latter. The |\restorechapter| command restores everything back to its +% original state. The value of |\simplechapterdelim| is appended to the +% chapter number before the title text. +% \changes{v1.4}{2000/03/04}{Added \cs{simplechapter} and \cs{restorechapter} +% commands} +% \changes{v1.4a}{2000/03/05}{Added \cs{simplechapterdelim} command} +% \changes{v1.5a}{2000/08/07}{Added undefined test to \cs{restorechapter}} +% \begin{macrocode} +\newcommand{\simplechapter}[1][\@empty]{% + \let\@tbiold@makechapterhead\@makechapterhead + \renewcommand{\@makechapterhead}[1]{% + \vspace*{50\p@}% + {\parindent \z@ \raggedright + \normalfont + \interlinepenalty\@M + \Huge\bfseries #1\space\thechapter\simplechapterdelim\space + ##1\par\nobreak + \vskip 40\p@ + }} +} +\newcommand{\restorechapter}{% + \@ifundefined{@tbiold@makechapterhead}{}% + {\let\@makechapterhead\@tbiold@makechapterhead} +} +\newcommand{\simplechapterdelim}{} + +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\tocchapter} +% \begin{macro}{\tocsection} +% These two commands modify the |\toc@chapter| and |\toc@section| commands +% to make numbered Listof headings. +% \changes{v1.4}{2000/03/04}{Added \cs{tocchapter} and \cs{tocsection} +% commands} +% \changes{v1.5d}{2002/04/09}{Provided \cs{@makechapterhead} in \cs{tocchapter}} +% \begin{macrocode} +\newcommand{\tocchapter}{% + \providecommand{\@makechapterhead}{} + \simplechapter + \renewcommand{\toc@chapter}[1]{\chapter{##1}} +} +\newcommand{\tocsection}{% + \renewcommand{\toc@section}[2]{\@nameuse{##1}{##2}} +} + +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% +% The end of this package. +% \begin{macrocode} +% +% \end{macrocode} +% +% +% \bibliographystyle{alpha} +% +% \begin{thebibliography}{GMS94} +% +% \bibitem[GMS94]{GOOSSENS94} +% Michel Goossens, Frank Mittelbach, and Alexander Samarin. +% \newblock {\em The LaTeX Companion}. +% \newblock Addison-Wesley Publishing Company, 1994. +% +% \bibitem[Wil96]{PRW96i} +% Peter~R. Wilson. +% \newblock {\em {LaTeX for standards: The LaTeX package files user manual}}. +% \newblock NIST Report NISTIR, June 1996. +% +% \end{thebibliography} +% +% +% \Finale +% \PrintIndex +% +\endinput + +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} + + diff --git a/macros/latex/contrib/tocbibind/tocbibind.ins b/macros/latex/contrib/tocbibind/tocbibind.ins new file mode 100644 index 0000000000..e73e6af8eb --- /dev/null +++ b/macros/latex/contrib/tocbibind/tocbibind.ins @@ -0,0 +1,73 @@ +%% tocbibind.ins +%% Author: Peter Wilson, Herries Press +%% Maintainer: Will Robertson (will dot robertson at latex-project dot org) +%% Copyright 1998--2004 Peter R. Wilson +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any +%% later version: +%% +%% This work has the LPPL maintenance status "maintained". +%% The Current Maintainer of this work is Will Robertson. +%% +%% This work consists of the files listed in the README file. +%% +%% This file will generate fast loadable files and documentation +%% driver files from the doc files in this work when run through +%% LaTeX. +%% +%% +%% --------------- start of docstrip commands ------------------ +%% +\def\batchfile{tocbibind.ins} +\input docstrip.tex +\preamble + +----------------------------------------------------------------- + Author: Peter Wilson, Herries Press + Maintainer: Will Robertson (will dot robertson at latex-project dot org) + Copyright 1998--2004 Peter R. Wilson + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either + version 1.3c of this license or (at your option) any + later version: + + This work has the LPPL maintenance status "maintained". + The Current Maintainer of this work is Will Robertson. + + This work consists of the files listed in the README file. +----------------------------------------------------------------- + +\endpreamble + +\askforoverwritefalse +\keepsilent + +%%% \Msg{*** Generating the driver file ***} +%%% \generate{\file{tocbibind.drv}{\from{tocbibind.dtx}{driver}}} + +\Msg{*** Generating the LaTeX2e package files ***} + +\generate{\file{tocbibind.sty}{\from{tocbibind.dtx}{usc}}} + +\Msg{***********************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* file(s) into a directory searched by TeX:} +\Msg{*} +\Msg{* \space\space tocbibind.sty} +\Msg{*} +\Msg{*} +\Msg{* To produce the documentation run the files ending with} +\Msg{* `.dtx' through LaTeX.} +\Msg{* Process any name.idx file by:} +\Msg{* \space\space\space\space makeindex -s gind.ist name} +\Msg{* Process any name.glo file by:} +\Msg{* \space\space\space\space makeindex -s gglo.ist -o name.gls name.glo} +\Msg{*} +\Msg{* Happy TeXing} +\Msg{***********************************************************} + +\endinput diff --git a/macros/latex/contrib/tocbibind/tocbibind.pdf b/macros/latex/contrib/tocbibind/tocbibind.pdf new file mode 100644 index 0000000000..02d2646b28 Binary files /dev/null and b/macros/latex/contrib/tocbibind/tocbibind.pdf differ -- cgit v1.2.3