summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/ms/multitoc.sty
blob: 052c7e38948051a66845d98690107ee19152a448 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
%%
%% This is file `multitoc.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% multitoc.dtx  (with options: `package')
%% 
%% Copyright (c) [1998..1999] by Martin Schr"oder. All rights reserved.
%% 
%% This file is part of the MultiToc package
%% 
%% This program may be redistributed and/or modified under the terms
%% of the LaTeX Project Public License, either version 1.0 of this
%% license, or (at your option) any later version.
%% The latest version of this license is in
%%    CTAN:macros/latex/base/lppl.txt.
%% 
%% Happy users are requested to send me a postcard. :-)
%% 
%% The MultiToc package contains these files:
%% 
%%       multitoc.asc
%%       multitoc.dtx
%%       multitoc.dvi
%%       multitoc.ins
%%       multitoc.bug
%% 
%% Error Reports in case of UNCHANGED versions to
%% 
%%                         Martin Schr"oder
%%                         Cr"usemannallee 3
%%                         D-28213 Bremen
%%                         Martin.Schroeder@ACM.org
%% 
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{multitoc}
        [1999/06/08 v2.01 MultiToc Package (MS)]
%% \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         \~}
%%
%% \iffalse meta-comment
%% ===================================================================
%%  @LaTeX-style-file{
%%     author          = {Martin Schr\"oder},
%%     version         = "2.01",
%%     date            = "8 June 1999",
%%     filename        = "multitoc.sty",
%%     address         = {Martin Schr\"oder
%%                        Cr\"usemannallee 3
%%                        D-28213 Bremen
%%     telephone       = "+49-421-2239425",
%%     email           = "Martin.Schroeder@ACM.org",
%%     pgp-Key         = "2048 bit / KeyID 292814E5",
%%     pgp-fingerprint = "7E86 6EC8 97FA 2995 82C3  FEA5 2719 090E",
%%     docstring       = "LaTeX package which automatically sets only
%%                        the table of contents, list of figures and list
%%                        of tables in two or more columns.
%%                        The number of columns can be configured.
%%                        Uses the multicol package.
%%  }
%% ===================================================================
%% \fi
\RequirePackage{multicol}
\RequirePackage{ifthen}
\newcommand{\multicolumntoc}{2}
\newcommand{\multicolumnlot}{2}
\newcommand{\multicolumnlof}{2}
\newboolean{@multitoc@toc}
\newboolean{@multitoc@lot}
\newboolean{@multitoc@lof}
\DeclareOption{toc}{\setboolean{@multitoc@toc}{true}}
\DeclareOption{lot}{\setboolean{@multitoc@lot}{true}}
\DeclareOption{lof}{\setboolean{@multitoc@lof}{true}}
\ProcessOptions\relax
\let\@multitoc@starttoc\@starttoc
\renewcommand*{\@starttoc}[1]{%
   \ifthenelse{\boolean{@multitoc@toc}\and\equal{#1}{toc}}{%
      \begin{multicols}{\multicolumntoc}%
         \@multitoc@starttoc{#1}%
      \end{multicols}%
      }{}%
   \ifthenelse{\boolean{@multitoc@lot}\and\equal{#1}{lot}}{%
      \begin{multicols}{\multicolumnlot}%
         \@multitoc@starttoc{#1}%
      \end{multicols}%
      }{}%
   \ifthenelse{\boolean{@multitoc@lof}\and\equal{#1}{lof}}{%
      \begin{multicols}{\multicolumnlof}%
         \@multitoc@starttoc{#1}%
      \end{multicols}%
      }{}%
   }
\newcommand*{\protected@write@immediate}[3]{%
      \begingroup
       \let\thepage\relax
       #2%
       \let\protect\string
       \edef\reserved@a{\immediate\write#1{#3}}%
       \reserved@a
      \endgroup
      \if@nobreak\ifvmode\nobreak\fi\fi
   }
\newcommand*{\immediateaddtocontents}[2]{%
  \protected@write@immediate\@auxout
      {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble}%
      {\string\@writefile{#1}{#2}}}
\endinput
%%
%% End of file `multitoc.sty'.