Add compiled versions of the examples along with our useful files
[drexel-thesis.git] / tocloft.sty
1 %%
2 %% This is file `tocloft.sty',
3 %% generated with the docstrip utility.
4 %%
5 %% The original source files were:
6 %%
7 %% tocloft.dtx  (with options: `usc')
8 %% 
9 %%   Author: Peter Wilson, Herries Press
10 %%   Maintainer: Will Robertson (will dot robertson at latex-project dot org)
11 %%   Maintainer: Will Robertson (will dot robertson at latex-project dot org)
12 %%   Copyright 1998-2003 Peter R. Wilson
13 %%   Copyright 2009 Will Robertson
14 %% 
15 %%   This work may be distributed and/or modified under the
16 %%   conditions of the LaTeX Project Public License, either
17 %%   version 1.3c of this license or (at your option) any
18 %%   later version: <http://www.latex-project.org/lppl.txt>
19 %% 
20 %%   This work has the LPPL maintenance status "maintained".
21 %%   The Current Maintainer of this work is Will Robertson.
22 %% 
23 %%   This work consists of the files listed in the README file.
24 %% 
25 \NeedsTeXFormat{LaTeX2e}
26 \ProvidesPackage{tocloft}[2010/10/13 v2.3e parameterised ToC, etc., typesetting]
27 \newcommand{\@cftquit}{}
28 \newif\if@cfthaschapter
29 \newif\if@cftkoma
30   \@cftkomafalse
31 \@ifclassloaded{scrartcl}{\@cftkomatrue}{}
32 \@ifclassloaded{scrreprt}{\@cftkomatrue}{}
33 \@ifclassloaded{scrbook}{\@cftkomatrue}{}
34
35 \@ifundefined{chapter}{%
36   \@cfthaschapterfalse
37   \@ifundefined{section}{%
38     \PackageWarning{tocloft}%
39       {I don't recognize any sectional divisions so I'll do nothing}
40     \renewcommand{\@cftquit}{\endinput}
41     }{\PackageInfo{tocloft}{The document has section divisions}}
42   }{\@cfthaschaptertrue
43     \PackageInfo{tocloft}{The document has chapter divisions}}
44 \@cftquit
45 \newif\if@cfttocbibind
46 \AtBeginDocument{%
47   \@ifpackageloaded{tocbibind}{\@cfttocbibindtrue}{\@cfttocbibindfalse}
48   \if@cfttocbibind
49     \@ifpackagelater{tocbibind}{1998/11/16}{}{%
50       \PackageWarning{tocloft}{%
51 You are using a version of the tocbibind package\MessageBreak
52 that is not compatible with tocloft.\MessageBreak
53 The results may be surprising.\MessageBreak
54 Consider installing the current version of tocbibind.}}
55   \fi
56 }
57 \newif\if@cftnctoc\@cftnctocfalse
58 \DeclareOption{titles}{\@cftnctoctrue}
59   %% \ProcessOptions\relax
60 \newif\if@cftsubfigopt\@cftsubfigoptfalse
61 \DeclareOption{subfigure}{\@cftsubfigopttrue}
62
63 \ProcessOptions\relax
64
65 \newcommand{\tocloftpagestyle}[1]{%
66   \def\@cftpagestyle{\thispagestyle{#1}}}
67 \tocloftpagestyle{plain}
68
69 \newcommand{\cftmarktoc}{%
70   \@mkboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}
71 \newcommand{\cftmarklof}{%
72   \@mkboth{\MakeUppercase\listfigurename}{\MakeUppercase\listfigurename}}
73 \newcommand{\cftmarklot}{%
74   \@mkboth{\MakeUppercase\listtablename}{\MakeUppercase\listtablename}}
75 \if@cftkoma
76   \renewcommand{\cftmarktoc}{%
77     \@mkboth{\contentsname}{\contentsname}}
78   \renewcommand{\cftmarklof}{%
79     \@mkboth{\listfigurename}{\listfigurename}}
80   \renewcommand{\cftmarklot}{%
81     \@mkboth{\listtablename}{\listtablename}}
82 \fi
83 \providecommand{\@cfttocstart}{%
84   \if@cfthaschapter
85     \if@twocolumn
86       \@restonecoltrue\onecolumn
87     \else
88       \@restonecolfalse
89     \fi
90   \fi}
91 \providecommand{\@cfttocfinish}{%
92   \if@cfthaschapter
93     \if@restonecol\twocolumn\fi
94   \fi}
95 \providecommand{\phantomsection}{}
96
97 \newcommand{\@cftdobibtoc}{%
98   \if@dotoctoc
99     \if@bibchapter
100       \phantomsection
101       \addcontentsline{toc}{chapter}{\contentsname}
102     \else
103       \phantomsection
104       \addcontentsline{toc}{\@tocextra}{\contentsname}
105     \fi
106   \fi}
107
108 \newlength{\cftparskip}
109 \setlength{\cftparskip}{0pt}
110
111 \AtBeginDocument{%
112 \if@cftnctoc\else
113   \renewcommand{\tableofcontents}{%
114     \@cfttocstart
115     \par
116     \begingroup
117       \parindent\z@ \parskip\cftparskip
118       \@cftmaketoctitle
119       \if@cfttocbibind
120         \@cftdobibtoc
121       \fi
122       \@starttoc{toc}%
123     \endgroup
124     \@cfttocfinish}
125 \fi
126 }
127 \newcommand{\@cftmaketoctitle}{%
128   \addpenalty\@secpenalty
129   \if@cfthaschapter
130     \vspace*{\cftbeforetoctitleskip}
131   \else
132     \vspace{\cftbeforetoctitleskip}
133   \fi
134   \@cftpagestyle
135   {\interlinepenalty\@M
136   {\cfttoctitlefont\contentsname}{\cftaftertoctitle}
137   \cftmarktoc
138   \par\nobreak
139   \vskip \cftaftertoctitleskip
140   \@afterheading}}
141 \newlength{\cftbeforetoctitleskip}
142 \newlength{\cftaftertoctitleskip}
143 \if@cfthaschapter
144   \setlength{\cftbeforetoctitleskip}{50pt}
145   \setlength{\cftaftertoctitleskip}{40pt}
146 \else
147   \setlength{\cftbeforetoctitleskip}{3.5ex \@plus 1ex \@minus .2ex}
148   \setlength{\cftaftertoctitleskip}{2.3ex \@plus.2ex}
149 \fi
150 \if@cfthaschapter
151   \newcommand{\cfttoctitlefont}{\normalfont\Huge\bfseries}
152   \if@cftkoma\renewcommand{\cfttoctitlefont}{\size@chapter\sectfont}\fi
153 \else
154   \newcommand{\cfttoctitlefont}{\normalfont\Large\bfseries}
155   \if@cftkoma\renewcommand{\cfttoctitlefont}{\size@section\sectfont}\fi
156 \fi
157 \newcommand{\cftaftertoctitle}{}
158 \newcommand{\cftsetpnumwidth}[1]{\renewcommand{\@pnumwidth}{#1}}
159 \newcommand{\cftsetrmarg}[1]{\renewcommand{\@tocrmarg}{#1}}
160 \providecommand{\cftdot}{.}
161 \providecommand{\cftdotfill}[1]{%
162   \leaders\hbox{$\m@th\mkern #1 mu\hbox{\cftdot}\mkern #1 mu$}\hfill}
163 \providecommand{\cftdotsep}{4.5}
164 \newcommand{\cftnodots}{10000}
165 \newcommand{\cftparfillskip}{\parfillskip=0pt plus1fil}
166 \renewcommand{\numberline}[1]{%
167   \hb@xt@\@tempdima{\@cftbsnum #1\@cftasnum\hfil}\@cftasnumb}
168 \newcommand{\@cftbsnum}{}
169 \newcommand{\@cftasnum}{}
170 \newcommand{\@cftasnumb}{}
171 \newif\if@cftdopart
172 \newif\if@cfthaspart
173 \@ifundefined{part}{\@cfthaspartfalse}{\@cfthasparttrue}
174 \if@cfthaspart
175 \renewcommand*{\l@part}[2]{%
176   \@cftdopartfalse
177   \ifnum \c@tocdepth >-2\relax
178     \if@cfthaschapter
179       \@cftdoparttrue
180     \fi
181     \ifnum \c@tocdepth >\m@ne
182       \if@cfthaschapter\else
183         \@cftdoparttrue
184       \fi
185     \fi
186   \fi
187   \if@cftdopart
188     \if@cfthaschapter
189       \addpenalty{-\@highpenalty}%
190     \else
191       \addpenalty\@secpenalty
192     \fi
193     \addvspace{\cftbeforepartskip}%
194     \begingroup
195       {\leftskip \cftpartindent\relax
196        \rightskip \@tocrmarg
197        \parfillskip -\rightskip
198        \parindent \cftpartindent\relax\@afterindenttrue
199        \interlinepenalty\@M
200        \leavevmode
201        \@tempdima \cftpartnumwidth\relax
202        \let\@cftbsnum \cftpartpresnum
203        \let\@cftasnum \cftpartaftersnum
204        \let\@cftasnumb \cftpartaftersnumb
205        \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
206        {\cftpartfont \cftpartpresnum #1}%
207        \cftpartfillnum{#2}}
208       \nobreak
209       \if@cfthaschapter
210         \global\@nobreaktrue
211         \everypar{\global\@nobreakfalse\everypar{}}%
212       \else
213         \if@compatibility
214           \global\@nobreaktrue
215           \everypar{\global\@nobreakfalse\everypar{}}%
216         \fi
217       \fi
218     \endgroup
219   \fi}
220 \fi
221 \if@cfthaspart
222   \newlength{\cftbeforepartskip}
223     \setlength{\cftbeforepartskip}{2.25em \@plus\p@}
224   \newlength{\cftpartnumwidth}
225     \setlength{\cftpartnumwidth}{0em}
226   \newcommand{\cftpartfont}{\large\bfseries}
227   \newcommand{\cftpartpresnum}{}
228   \newcommand{\cftpartaftersnum}{}
229   \newcommand{\cftpartaftersnumb}{}
230   \newcommand{\cftpartleader}{\large\bfseries\cftdotfill{\cftpartdotsep}}
231   \newcommand{\cftpartdotsep}{\cftnodots}
232   \newcommand{\cftpartpagefont}{\large\bfseries}
233   \newcommand{\cftpartafterpnum}{}
234   \newlength{\cftpartindent}
235     \setlength{\cftpartindent}{0em}
236   \newcommand{\cftpartfillnum}[1]{%
237     {\cftpartleader}%
238     {\hb@xt@\@pnumwidth{\hss {\cftpartpagefont #1}}}\cftpartafterpnum\par}
239   \if@cftkoma
240     \setlength{\cftpartnumwidth}{2em}
241     \renewcommand{\cftpartfont}{\sectfont\large}
242     \renewcommand{\cftpartpagefont}{\sectfont\large}
243   \fi
244 \fi
245
246 \if@cfthaschapter
247 \renewcommand*{\l@chapter}[2]{%
248   \ifnum \c@tocdepth >\m@ne
249     \addpenalty{-\@highpenalty}%
250     \vskip \cftbeforechapskip
251     {\leftskip \cftchapindent\relax
252      \rightskip \@tocrmarg
253      \parfillskip -\rightskip
254      \parindent \cftchapindent\relax\@afterindenttrue
255      \interlinepenalty\@M
256      \leavevmode
257      \@tempdima \cftchapnumwidth\relax
258      \let\@cftbsnum \cftchappresnum
259      \let\@cftasnum \cftchapaftersnum
260      \let\@cftasnumb \cftchapaftersnumb
261      \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
262      {\cftchapfont #1}\nobreak
263      \cftchapfillnum{#2}}%
264   \fi}%
265 \fi
266 \if@cfthaschapter
267   \newlength{\cftbeforechapskip}
268     \setlength{\cftbeforechapskip}{1.0em \@plus\p@}
269   \newlength{\cftchapindent}
270     \setlength{\cftchapindent}{0em}
271   \newlength{\cftchapnumwidth}
272     \setlength{\cftchapnumwidth}{1.5em}
273   \newcommand{\cftchapfont}{\bfseries}
274   \newcommand{\cftchappresnum}{}
275   \newcommand{\cftchapaftersnum}{}
276   \newcommand{\cftchapaftersnumb}{}
277   \newcommand{\cftchapleader}{\bfseries\cftdotfill{\cftchapdotsep}}
278   \newcommand{\cftchapdotsep}{\cftnodots}
279   \newcommand{\cftchappagefont}{\bfseries}
280   \newcommand{\cftchapafterpnum}{}
281   \newcommand{\cftchapfillnum}[1]{%
282     {\cftchapleader}\nobreak
283     \hb@xt@\@pnumwidth{\hfil\cftchappagefont #1}\cftchapafterpnum\par}
284   \if@cftkoma
285     \renewcommand{\cftchapfont}{\sectfont}
286   \fi
287 \fi
288
289 \renewcommand*{\l@section}[2]{%
290   \ifnum \c@tocdepth >\z@
291     \if@cfthaschapter
292       \vskip \cftbeforesecskip
293     \else
294       \addpenalty\@secpenalty
295       \addvspace{\cftbeforesecskip}
296     \fi
297     {\leftskip \cftsecindent\relax
298      \rightskip \@tocrmarg
299      \parfillskip -\rightskip
300      \parindent \cftsecindent\relax\@afterindenttrue
301      \interlinepenalty\@M
302      \leavevmode
303      \@tempdima \cftsecnumwidth\relax
304      \let\@cftbsnum \cftsecpresnum
305      \let\@cftasnum \cftsecaftersnum
306      \let\@cftasnumb \cftsecaftersnumb
307      \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
308      {\cftsecfont #1}\nobreak
309      \cftsecfillnum{#2}}%
310   \fi}
311 \newlength{\cftbeforesecskip}
312 \newlength{\cftsecindent}
313 \newlength{\cftsecnumwidth}
314 \newcommand{\cftsecpresnum}{}
315 \newcommand{\cftsecaftersnum}{}
316 \newcommand{\cftsecaftersnumb}{}
317 \if@cfthaschapter
318   \setlength{\cftbeforesecskip}{\z@ \@plus.2\p@}
319   \setlength{\cftsecindent}{1.5em}
320   \setlength{\cftsecnumwidth}{2.3em}
321   \newcommand{\cftsecfont}{\normalfont}
322   \newcommand{\cftsecleader}{\normalfont\cftdotfill{\cftsecdotsep}}
323   \newcommand{\cftsecdotsep}{\cftdotsep}
324   \newcommand{\cftsecpagefont}{\normalfont}
325 \else
326   \setlength{\cftbeforesecskip}{1.0em \@plus\p@}
327   \setlength{\cftsecindent}{0em}
328   \setlength{\cftsecnumwidth}{1.5em}
329   \newcommand{\cftsecfont}{\bfseries}
330   \newcommand{\cftsecleader}{\bfseries\cftdotfill{\cftsecdotsep}}
331   \newcommand{\cftsecdotsep}{\cftnodots}
332   \newcommand{\cftsecpagefont}{\bfseries}
333 \fi
334 \newcommand{\cftsecafterpnum}{}
335 \newcommand{\cftsecfillnum}[1]{%
336   {\cftsecleader}\nobreak
337   \hb@xt@\@pnumwidth{\hfil\cftsecpagefont #1}\cftsecafterpnum\par}
338
339 \renewcommand*{\l@subsection}[2]{%
340   \ifnum \c@tocdepth >\@ne
341     \vskip \cftbeforesubsecskip
342     {\leftskip \cftsubsecindent\relax
343      \rightskip \@tocrmarg
344      \parfillskip -\rightskip
345      \parindent \cftsubsecindent\relax\@afterindenttrue
346      \interlinepenalty\@M
347      \leavevmode
348      \@tempdima \cftsubsecnumwidth\relax
349      \let\@cftbsnum \cftsubsecpresnum
350      \let\@cftasnum \cftsubsecaftersnum
351      \let\@cftasnumb \cftsubsecaftersnumb
352      \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
353      {\cftsubsecfont #1}\nobreak
354      \cftsubsecfillnum{#2}}%
355   \fi}
356 \newlength{\cftbeforesubsecskip}
357   \setlength{\cftbeforesubsecskip}{\z@ \@plus.2\p@}
358 \newlength{\cftsubsecindent}
359 \newlength{\cftsubsecnumwidth}
360 \if@cfthaschapter
361   \setlength{\cftsubsecindent}{3.8em}
362   \setlength{\cftsubsecnumwidth}{3.2em}
363 \else
364   \setlength{\cftsubsecindent}{1.5em}
365   \setlength{\cftsubsecnumwidth}{2.3em}
366 \fi
367 \newcommand{\cftsubsecfont}{\normalfont}
368 \newcommand{\cftsubsecpresnum}{}
369 \newcommand{\cftsubsecaftersnum}{}
370 \newcommand{\cftsubsecaftersnumb}{}
371 \newcommand{\cftsubsecleader}{\normalfont\cftdotfill{\cftsubsecdotsep}}
372 \newcommand{\cftsubsecdotsep}{\cftdotsep}
373 \newcommand{\cftsubsecpagefont}{\normalfont}
374 \newcommand{\cftsubsecafterpnum}{}
375 \newcommand{\cftsubsecfillnum}[1]{%
376   {\cftsubsecleader}\nobreak
377   \hb@xt@\@pnumwidth{\hfil\cftsubsecpagefont #1}\cftsubsecafterpnum\par}
378
379 \renewcommand*{\l@subsubsection}[2]{%
380   \ifnum \c@tocdepth >\tw@
381     \vskip \cftbeforesubsubsecskip
382     {\leftskip \cftsubsubsecindent\relax
383      \rightskip \@tocrmarg
384      \parfillskip -\rightskip
385      \parindent \cftsubsubsecindent\relax\@afterindenttrue
386      \interlinepenalty\@M
387      \leavevmode
388      \@tempdima \cftsubsubsecnumwidth\relax
389      \let\@cftbsnum \cftsubsubsecpresnum
390      \let\@cftasnum \cftsubsubsecaftersnum
391      \let\@cftasnumb \cftsubsubsecaftersnumb
392      \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
393      {\cftsubsubsecfont #1}\nobreak
394      \cftsubsubsecfillnum{#2}}%
395   \fi}
396 \newlength{\cftbeforesubsubsecskip}
397   \setlength{\cftbeforesubsubsecskip}{\z@ \@plus.2\p@}
398 \newlength{\cftsubsubsecindent}
399 \newlength{\cftsubsubsecnumwidth}
400 \if@cfthaschapter
401   \setlength{\cftsubsubsecindent}{7.0em}
402   \setlength{\cftsubsubsecnumwidth}{4.1em}
403 \else
404   \setlength{\cftsubsubsecindent}{3.8em}
405   \setlength{\cftsubsubsecnumwidth}{3.2em}
406 \fi
407 \newcommand{\cftsubsubsecfont}{\normalfont}
408 \newcommand{\cftsubsubsecpresnum}{}
409 \newcommand{\cftsubsubsecaftersnum}{}
410 \newcommand{\cftsubsubsecaftersnumb}{}
411 \newcommand{\cftsubsubsecleader}{\normalfont\cftdotfill{\cftsubsubsecdotsep}}
412 \newcommand{\cftsubsubsecdotsep}{\cftdotsep}
413 \newcommand{\cftsubsubsecpagefont}{\normalfont}
414 \newcommand{\cftsubsubsecafterpnum}{}
415 \newcommand{\cftsubsubsecfillnum}[1]{%
416   {\cftsubsubsecleader}\nobreak
417   \hb@xt@\@pnumwidth{\hfil\cftsubsubsecpagefont #1}\cftsubsubsecafterpnum\par}
418
419 \renewcommand*{\l@paragraph}[2]{%
420   \ifnum \c@tocdepth >3\relax
421     \vskip \cftbeforeparaskip
422     {\leftskip \cftparaindent\relax
423      \rightskip \@tocrmarg
424      \parfillskip -\rightskip
425      \parindent \cftparaindent\relax\@afterindenttrue
426      \interlinepenalty\@M
427      \leavevmode
428      \@tempdima \cftparanumwidth\relax
429      \let\@cftbsnum \cftparapresnum
430      \let\@cftasnum \cftparaaftersnum
431      \let\@cftasnumb \cftparaaftersnumb
432      \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
433      {\cftparafont #1}\nobreak
434      \cftparafillnum{#2}}%
435   \fi}
436 \newlength{\cftbeforeparaskip}
437   \setlength{\cftbeforeparaskip}{\z@ \@plus.2\p@}
438 \newlength{\cftparaindent}
439 \newlength{\cftparanumwidth}
440 \if@cfthaschapter
441   \setlength{\cftparaindent}{10em}
442   \setlength{\cftparanumwidth}{5em}
443 \else
444   \setlength{\cftparaindent}{7.0em}
445   \setlength{\cftparanumwidth}{4.1em}
446 \fi
447 \newcommand{\cftparafont}{\normalfont}
448 \newcommand{\cftparapresnum}{}
449 \newcommand{\cftparaaftersnum}{}
450 \newcommand{\cftparaaftersnumb}{}
451 \newcommand{\cftparaleader}{\normalfont\cftdotfill{\cftparadotsep}}
452 \newcommand{\cftparadotsep}{\cftdotsep}
453 \newcommand{\cftparapagefont}{\normalfont}
454 \newcommand{\cftparaafterpnum}{}
455 \newcommand{\cftparafillnum}[1]{%
456   {\cftparaleader}\nobreak
457   \hb@xt@\@pnumwidth{\hfil\cftparapagefont #1}\cftparaafterpnum\par}
458
459 \renewcommand*{\l@subparagraph}[2]{%
460   \ifnum \c@tocdepth >4\relax
461     \vskip \cftbeforesubparaskip
462     {\leftskip \cftsubparaindent\relax
463      \rightskip \@tocrmarg
464      \parfillskip -\rightskip
465      \parindent \cftsubparaindent\relax\@afterindenttrue
466      \interlinepenalty\@M
467      \leavevmode
468      \@tempdima \cftsubparanumwidth\relax
469      \let\@cftbsnum \cftsubparapresnum
470      \let\@cftasnum \cftsubparaaftersnum
471      \let\@cftasnumb \cftsubparaaftersnumb
472      \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
473      {\cftsubparafont #1}\nobreak
474      \cftsubparafillnum{#2}}%
475   \fi}
476 \newlength{\cftbeforesubparaskip}
477   \setlength{\cftbeforesubparaskip}{\z@ \@plus.2\p@}
478 \newlength{\cftsubparaindent}
479 \newlength{\cftsubparanumwidth}
480 \if@cfthaschapter
481   \setlength{\cftsubparaindent}{12em}
482   \setlength{\cftsubparanumwidth}{6em}
483 \else
484   \setlength{\cftsubparaindent}{10em}
485   \setlength{\cftsubparanumwidth}{5em}
486 \fi
487 \newcommand{\cftsubparafont}{\normalfont}
488 \newcommand{\cftsubparapresnum}{}
489 \newcommand{\cftsubparaaftersnum}{}
490 \newcommand{\cftsubparaaftersnumb}{}
491 \newcommand{\cftsubparaleader}{\normalfont\cftdotfill{\cftsubparadotsep}}
492 \newcommand{\cftsubparadotsep}{\cftdotsep}
493 \newcommand{\cftsubparapagefont}{\normalfont}
494 \newcommand{\cftsubparaafterpnum}{}
495 \newcommand{\cftsubparafillnum}[1]{%
496   {\cftsubparaleader}\nobreak
497   \hb@xt@\@pnumwidth{\hfil\cftsubparapagefont #1}\cftsubparaafterpnum\par}
498
499 \newcommand{\@cftdobiblof}{%
500   \if@dotoclof
501     \if@bibchapter
502       \phantomsection
503       \addcontentsline{toc}{chapter}{\listfigurename}
504     \else
505       \phantomsection
506       \addcontentsline{toc}{\@tocextra}{\listfigurename}
507     \fi
508   \fi}
509
510 \AtBeginDocument{%
511 \if@cftnctoc\else
512 \renewcommand{\listoffigures}{%
513   \@cfttocstart
514   \par
515   \begingroup
516     \parindent\z@ \parskip\cftparskip
517     \@cftmakeloftitle
518     \if@cfttocbibind
519       \@cftdobiblof
520     \fi
521     \@starttoc{lof}%
522   \endgroup
523   \@cfttocfinish}%
524 \fi
525 }
526
527 \newcommand{\@cftmakeloftitle}{%
528   \addpenalty\@secpenalty
529   \if@cfthaschapter
530     \vspace*{\cftbeforeloftitleskip}
531   \else
532     \vspace{\cftbeforeloftitleskip}
533   \fi
534   \@cftpagestyle
535   {\interlinepenalty\@M
536   {\cftloftitlefont\listfigurename}{\cftafterloftitle}
537   \cftmarklof
538   \par\nobreak
539   \vskip \cftafterloftitleskip
540   \@afterheading}}
541
542 \newlength{\cftbeforeloftitleskip}
543 \newlength{\cftafterloftitleskip}
544 \if@cfthaschapter
545   \setlength{\cftbeforeloftitleskip}{50pt}
546   \setlength{\cftafterloftitleskip}{40pt}
547 \else
548   \setlength{\cftbeforeloftitleskip}{3.5ex \@plus 1ex \@minus .2ex}
549   \setlength{\cftafterloftitleskip}{2.3ex \@plus.2ex}
550 \fi
551 \if@cfthaschapter
552   \newcommand{\cftloftitlefont}{\normalfont\Huge\bfseries}
553   \if@cftkoma\renewcommand{\cftloftitlefont}{\size@chapter\sectfont}\fi
554 \else
555   \newcommand{\cftloftitlefont}{\normalfont\Large\bfseries}
556   \if@cftkoma\renewcommand{\cftloftitlefont}{\size@section\sectfont}\fi
557 \fi
558 \newcommand{\cftafterloftitle}{}
559
560 \renewcommand*{\l@figure}[2]{%
561   \ifnum \c@lofdepth >\z@
562     \vskip \cftbeforefigskip
563     {\leftskip \cftfigindent\relax
564      \rightskip \@tocrmarg
565      \parfillskip -\rightskip
566      \parindent \cftfigindent\relax\@afterindenttrue
567      \interlinepenalty\@M
568      \leavevmode
569      \@tempdima \cftfignumwidth\relax
570      \let\@cftbsnum \cftfigpresnum
571      \let\@cftasnum \cftfigaftersnum
572      \let\@cftasnumb \cftfigaftersnumb
573      \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
574      {\cftfigfont #1}\nobreak
575      \cftfigfillnum{#2}}%
576    \fi
577   }
578 \newlength{\cftbeforefigskip}
579   \setlength{\cftbeforefigskip}{\z@ \@plus.2\p@}
580 \newlength{\cftfigindent}
581   \setlength{\cftfigindent}{1.5em}
582 \newlength{\cftfignumwidth}
583   \setlength{\cftfignumwidth}{2.3em}
584 \newcommand{\cftfigfont}{\normalfont}
585 \newcommand{\cftfigpresnum}{}
586 \newcommand{\cftfigaftersnum}{}
587 \newcommand{\cftfigaftersnumb}{}
588 \newcommand{\cftfigleader}{\normalfont\cftdotfill{\cftfigdotsep}}
589 \newcommand{\cftfigdotsep}{\cftdotsep}
590 \newcommand{\cftfigpagefont}{\normalfont}
591 \newcommand{\cftfigafterpnum}{}
592 \newcommand{\cftfigfillnum}[1]{%
593   {\cftfigleader}\nobreak
594   \hb@xt@\@pnumwidth{\hfil\cftfigpagefont #1}\cftfigafterpnum\par}
595
596 \if@cftsubfigopt\else
597   \newcounter{lofdepth}\setcounter{lofdepth}{1}
598   \newcounter{lotdepth}\setcounter{lotdepth}{1}
599 \fi
600
601 \newcommand{\@cftdobiblot}{%
602   \if@dotoclot
603     \if@bibchapter
604       \phantomsection
605       \addcontentsline{toc}{chapter}{\listtablename}
606     \else
607       \phantomsection
608       \addcontentsline{toc}{\@tocextra}{\listtablename}
609     \fi
610   \fi}
611
612 \AtBeginDocument{%
613 \if@cftnctoc\else
614 \renewcommand{\listoftables}{%
615   \@cfttocstart
616   \par
617   \begingroup
618     \parindent\z@ \parskip\cftparskip
619     \@cftmakelottitle
620     \if@cfttocbibind
621       \@cftdobiblot
622     \fi
623     \@starttoc{lot}%
624   \endgroup
625   \@cfttocfinish}%
626 \fi
627 }
628
629 \newcommand{\@cftmakelottitle}{%
630   \addpenalty\@secpenalty
631   \if@cfthaschapter
632     \vspace*{\cftbeforelottitleskip}
633   \else
634     \vspace{\cftbeforelottitleskip}
635   \fi
636   \@cftpagestyle
637   {\interlinepenalty\@M
638   {\cftlottitlefont\listtablename}{\cftafterlottitle}
639   \cftmarklot
640   \par\nobreak
641   \vskip \cftafterlottitleskip
642   \@afterheading}}
643
644 \newlength{\cftbeforelottitleskip}
645 \newlength{\cftafterlottitleskip}
646 \if@cfthaschapter
647   \setlength{\cftbeforelottitleskip}{50pt}
648   \setlength{\cftafterlottitleskip}{40pt}
649 \else
650   \setlength{\cftbeforelottitleskip}{3.5ex \@plus 1ex \@minus .2ex}
651   \setlength{\cftafterlottitleskip}{2.3ex \@plus.2ex}
652 \fi
653 \if@cfthaschapter
654   \newcommand{\cftlottitlefont}{\normalfont\Huge\bfseries}
655   \if@cftkoma\renewcommand{\cftlottitlefont}{\size@chapter\sectfont}\fi
656 \else
657   \newcommand{\cftlottitlefont}{\normalfont\Large\bfseries}
658   \if@cftkoma\renewcommand{\cftlottitlefont}{\size@section\sectfont}\fi
659 \fi
660 \newcommand{\cftafterlottitle}{}
661
662 \renewcommand*{\l@table}[2]{%
663   \ifnum\c@lotdepth >\z@
664     \vskip \cftbeforetabskip
665     {\leftskip \cfttabindent\relax
666      \rightskip \@tocrmarg
667      \parfillskip -\rightskip
668      \parindent \cfttabindent\relax\@afterindenttrue
669      \interlinepenalty\@M
670      \leavevmode
671      \@tempdima \cfttabnumwidth\relax
672      \let\@cftbsnum \cfttabpresnum
673      \let\@cftasnum \cfttabaftersnum
674      \let\@cftasnumb \cfttabaftersnumb
675      \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
676      {\cfttabfont #1}\nobreak
677      \cfttabfillnum{#2}}%
678    \fi
679   }
680 \newlength{\cftbeforetabskip}
681   \setlength{\cftbeforetabskip}{\z@ \@plus.2\p@}
682 \newlength{\cfttabindent}
683   \setlength{\cfttabindent}{1.5em}
684 \newlength{\cfttabnumwidth}
685   \setlength{\cfttabnumwidth}{2.3em}
686 \newcommand{\cfttabfont}{\normalfont}
687 \newcommand{\cfttabpresnum}{}
688 \newcommand{\cfttabaftersnum}{}
689 \newcommand{\cfttabaftersnumb}{}
690 \newcommand{\cfttableader}{\normalfont\cftdotfill{\cfttabdotsep}}
691 \newcommand{\cfttabdotsep}{\cftdotsep}
692 \newcommand{\cfttabpagefont}{\normalfont}
693 \newcommand{\cfttabafterpnum}{}
694 \newcommand{\cfttabfillnum}[1]{%
695   {\cfttableader}\nobreak
696   \hb@xt@\@pnumwidth{\hfil\cfttabpagefont #1}\cfttabafterpnum\par}
697
698 \newcommand{\@cftl@subfig}{%
699 \renewcommand*{\l@subfigure}[2]{%
700   \ifnum \c@lofdepth > \toclevel@subfigure
701     \vskip \cftbeforesubfigskip
702     {\leftskip \cftsubfigindent\relax
703      \rightskip \@tocrmarg
704      \parfillskip -\rightskip
705      \parindent \cftsubfigindent\relax\@afterindenttrue
706      \interlinepenalty\@M
707      \leavevmode
708      \@tempdima \cftsubfignumwidth\relax
709      \let\@cftbsnum \cftsubfigpresnum
710      \let\@cftasnum \cftsubfigaftersnum
711      \let\@cftasnumb \cftsubfigaftersnumb
712      \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
713      {\cftsubfigfont ##1}\nobreak
714      \cftsubfigfillnum{##2}}%
715   \fi
716   }%
717 }
718
719 \newcommand{\@cftsetsubfig}{%
720 \newlength{\cftbeforesubfigskip}
721   \setlength{\cftbeforesubfigskip}{\z@ \@plus.2\p@}
722 \newlength{\cftsubfigindent}
723   \setlength{\cftsubfigindent}{3.8em}
724 \newlength{\cftsubfignumwidth}
725   \setlength{\cftsubfignumwidth}{2.5em}
726 \newcommand{\cftsubfigfont}{\normalfont}
727 \newcommand{\cftsubfigpresnum}{}
728 \newcommand{\cftsubfigaftersnum}{}
729 \newcommand{\cftsubfigaftersnumb}{}
730 \newcommand{\cftsubfigleader}{\normalfont\cftdotfill{\cftsubtabdotsep}}
731 \newcommand{\cftsubfigdotsep}{\cftdotsep}
732 \newcommand{\cftsubfigpagefont}{\normalfont}
733 \newcommand{\cftsubfigafterpnum}{}
734 \providecommand{\toclevel@subfigure}{1}
735 \newcommand{\cftsubfigfillnum}[1]{%
736   {\cftsubfigleader}\nobreak
737   \hb@xt@\@pnumwidth{\hfil\cftsubfigpagefont ##1}\cftsubfigafterpnum\par}
738 }
739
740 \newcommand{\@cftl@subtab}{%
741 \renewcommand*{\l@subtable}[2]{%
742   \ifnum \c@lotdepth > \toclevel@subtable
743     \vskip \cftbeforesubtabskip
744     {\leftskip \cftsubtabindent\relax
745      \rightskip \@tocrmarg
746      \parfillskip -\rightskip
747      \parindent \cftsubtabindent\relax\@afterindenttrue
748      \interlinepenalty\@M
749      \leavevmode
750      \@tempdima \cftsubtabnumwidth\relax
751      \let\@cftbsnum \cftsubtabpresnum
752      \let\@cftasnum \cftsubtabaftersnum
753      \let\@cftasnumb \cftsubtabaftersnumb
754      \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
755      {\cftsubtabfont ##1}\nobreak
756      \cftsubtabfillnum{##2}}%
757   \fi
758   }%
759 }
760 \newcommand{\@cftsetsubtab}{%
761 \newlength{\cftbeforesubtabskip}
762   \setlength{\cftbeforesubtabskip}{\z@ \@plus.2\p@}
763 \newlength{\cftsubtabindent}
764   \setlength{\cftsubtabindent}{3.8em}
765 \newlength{\cftsubtabnumwidth}
766   \setlength{\cftsubtabnumwidth}{2.5em}
767 \newcommand{\cftsubtabfont}{\normalfont}
768 \newcommand{\cftsubtabpresnum}{}
769 \newcommand{\cftsubtabaftersnum}{}
770 \newcommand{\cftsubtabaftersnumb}{}
771 \newcommand{\cftsubtableader}{\normalfont\cftdotfill{\cftsubtabdotsep}}
772 \newcommand{\cftsubtabdotsep}{\cftdotsep}
773 \newcommand{\cftsubtabpagefont}{\normalfont}
774 \newcommand{\cftsubtabafterpnum}{}
775 \providecommand{\toclevel@subtable}{1}
776 \newcommand{\cftsubtabfillnum}[1]{%
777   {\cftsubtableader}\nobreak
778   \hb@xt@\@pnumwidth{\hfil\cftsubtabpagefont ##1}\cftsubtabafterpnum\par}
779 }
780
781
782 \if@cftsubfigopt
783   \@cftsetsubfig\@cftsetsubtab
784   \AtBeginDocument{\@cftl@subfig\@cftl@subtab}
785 \fi
786 %%  \AtBeginDocument{\if@cftsubfigopt
787 %%    \@cftsetsubfig\@cftsetsubtab
788 %%    \@cftl@subfig\@cftl@subtab
789 %%  \fi}
790
791 \newcommand{\newlistentry}[4][\@empty]{%
792   \@ifundefined{c@#2}{%    check & set the counter
793     \ifx \@empty#1\relax
794       \newcounter{#2}
795     \else
796       \@ifundefined{c@#1}{\PackageWarning{tocloft}%
797                           {#1 has no counter for use as a `within'}
798         \newcounter{#2}}%
799       {\newcounter{#2}[#1]%
800        \expandafter\edef\csname the#2\endcsname{%
801          \expandafter\noexpand\csname the#1\endcsname.\noexpand\arabic{#2}}}
802     \fi
803     \setcounter{#2}{0}
804   }
805   {\PackageError{tocloft}{#2 has been previously defined}{\@eha}}
806
807   \@namedef{l@#2}##1##2{%
808     \ifnum \@nameuse{c@#3depth} > #4\relax
809       \vskip \@nameuse{cftbefore#2skip}
810       {\leftskip \@nameuse{cft#2indent}\relax
811        \rightskip \@tocrmarg
812        \parfillskip -\rightskip
813        \parindent \@nameuse{cft#2indent}\relax\@afterindenttrue
814        \interlinepenalty\@M
815        \leavevmode
816        \@tempdima \@nameuse{cft#2numwidth}\relax
817        \expandafter\let\expandafter\@cftbsnum\csname cft#2presnum\endcsname
818        \expandafter\let\expandafter\@cftasnum\csname cft#2aftersnum\endcsname
819        \expandafter\let\expandafter\@cftasnumb\csname cft#2aftersnumb\endcsname
820        \advance\leftskip\@tempdima \null\nobreak\hskip -\leftskip
821        {\@nameuse{cft#2font}##1}\nobreak
822        \@nameuse{cft#2fillnum}{##2}}%
823     \fi
824   }  % end of \l@#2
825
826   \expandafter\newlength\csname cftbefore#2skip\endcsname
827     \setlength{\@nameuse{cftbefore#2skip}}{\z@ \@plus .2\p@}
828   \expandafter\newlength\csname cft#2indent\endcsname
829   \expandafter\newlength\csname cft#2numwidth\endcsname
830   \ifcase #4\relax  % 0
831     \setlength{\@nameuse{cft#2indent}}{0em}
832     \setlength{\@nameuse{cft#2numwidth}}{1.5em}
833   \or               % 1
834     \setlength{\@nameuse{cft#2indent}}{1.5em}
835     \setlength{\@nameuse{cft#2numwidth}}{2.3em}
836   \or               % 2
837     \setlength{\@nameuse{cft#2indent}}{3.8em}
838     \setlength{\@nameuse{cft#2numwidth}}{3.2em}
839   \or               % 3
840     \setlength{\@nameuse{cft#2indent}}{7.0em}
841     \setlength{\@nameuse{cft#2numwidth}}{4.1em}
842   \else             % anything else
843     \setlength{\@nameuse{cft#2indent}}{10.0em}
844     \setlength{\@nameuse{cft#2numwidth}}{5.0em}
845   \fi
846   \@namedef{cft#2font}{\normalfont}
847   \@namedef{cft#2presnum}{}
848   \@namedef{cft#2aftersnum}{}
849   \@namedef{cft#2aftersnumb}{}
850   \@namedef{cft#2dotsep}{\cftdotsep}
851   \@namedef{cft#2leader}{\normalfont\cftdotfill{\@nameuse{cft#2dotsep}}}
852   \@namedef{cft#2pagefont}{\normalfont}
853   \@namedef{cft#2afterpnum}{}
854   \@namedef{toclevel@#2}{#4}
855   \@namedef{cft#2fillnum}##1{%
856     {\@nameuse{cft#2leader}}\nobreak
857     \hb@xt@\@pnumwidth{\hfil\@nameuse{cft#2pagefont}##1}\@nameuse{cft#2afterpnum}\par}
858 } % end \newlistentry
859
860 \newcommand{\newlistof}[4][\@empty]{%
861   \ifx \@empty#1\relax
862     \newlistentry{#2}{#3}{0}
863   \else
864     \newlistentry[#1]{#2}{#3}{0}
865   \fi
866
867   \@namedef{ext@#3}{#3}
868   \newcounter{#3depth}
869   \setcounter{#3depth}{1}
870
871   \if@cftkoma
872     \@namedef{cftmark#3}{%
873       \@mkboth{#4}{#4}}
874   \else
875     \@namedef{cftmark#3}{%
876       \@mkboth{\MakeUppercase{#4}}{\MakeUppercase{#4}}}
877   \fi
878  \if@cftnctoc
879   \@namedef{listof#2}{%
880     \@cfttocstart
881     \if@cfthaschapter
882       \chapter*{#4}
883     \else
884       \section*{#4}
885     \fi
886     \@nameuse{cftmark#3}
887     \@starttoc{#3}%
888     \@cfttocfinish}
889  \else
890   \@namedef{listof#2}{%
891     \@cfttocstart
892     \par
893     \begingroup
894       \parindent\z@ \parskip\cftparskip
895       \@nameuse{@cftmake#3title}
896       \@starttoc{#3}%
897     \endgroup
898     \@cfttocfinish}
899  \fi
900
901   \@namedef{@cftmake#3title}{%
902     \addpenalty\@secpenalty
903     \if@cfthaschapter
904       \vspace*{\@nameuse{cftbefore#3titleskip}}
905     \else
906       \vspace{\@nameuse{cftbefore#3titleskip}}
907     \fi
908     \@cftpagestyle
909     {\interlinepenalty\@M
910     {\@nameuse{cft#3titlefont}#4}{\@nameuse{cftafter#3title}}
911     \@nameuse{cftmark#3}
912     \par\nobreak
913     \vskip \@nameuse{cftafter#3titleskip}
914     \@afterheading}}
915
916    \expandafter\newlength\csname cftbefore#3titleskip\endcsname
917    \expandafter\newlength\csname cftafter#3titleskip\endcsname
918    \if@cfthaschapter
919       \setlength{\@nameuse{cftbefore#3titleskip}}{50pt}
920       \setlength{\@nameuse{cftafter#3titleskip}}{40pt}
921       \if@cftkoma
922         \@namedef{cft#3titlefont}{\size@chapter\sectfont}
923       \else
924         \@namedef{cft#3titlefont}{\normalfont\Huge\bfseries}
925       \fi
926     \else
927       \setlength{\@nameuse{cftbefore#3titleskip}}{3.5ex \@plus 1ex \@minus .2ex}
928       \setlength{\@nameuse{cftafter#3titleskip}}{2.3ex \@plus .2ex}
929       \if@cftkoma
930         \@namedef{cft#3titlefont}{\size@section\sectfont}
931       \else
932         \@namedef{cft#3titlefont}{\normalfont\Huge\bfseries}
933       \fi
934     \fi
935     \@namedef{cftafter#3title}{}
936 } % end \newlistof
937
938 \newcommand{\cftsetindents}[3]{%
939   \def\@cftemp{#1}
940   \ifx\@cftemp\cftchapname
941     \@cftsetindents{chap}{#2}{#3}
942   \else
943     \ifx\@cftemp\cftsecname \@cftsetindents{sec}{#2}{#3}
944     \else
945       \ifx\@cftemp\cftsubsecname \@cftsetindents{subsec}{#2}{#3}
946       \else
947         \ifx\@cftemp\cftsubsubsecname \@cftsetindents{subsubsec}{#2}{#3}
948         \else
949           \ifx\@cftemp\cftparaname \@cftsetindents{para}{#2}{#3}
950           \else
951             \ifx\@cftemp\cftsubparaname \@cftsetindents{subpara}{#2}{#3}
952             \else
953               \ifx\@cftemp\cftfigname \@cftsetindents{fig}{#2}{#3}
954               \else
955                 \ifx\@cftemp\cftsubfigname \@cftsetindents{subfig}{#2}{#3}
956                 \else
957                   \ifx\@cftemp\cfttabname \@cftsetindents{tab}{#2}{#3}
958                   \else
959                     \ifx\@cftemp\cftsubtabname \@cftsetindents{subtab}{#2}{#3}
960                     \else
961                       \@cftsetindents{#1}{#2}{#3}
962                     \fi
963                   \fi
964                 \fi
965               \fi
966             \fi
967           \fi
968         \fi
969       \fi
970     \fi
971   \fi
972 }
973
974 \newcommand{\@cftsetindents}[3]{%
975   \setlength{\@nameuse{cft#1indent}}{#2}
976   \setlength{\@nameuse{cft#1numwidth}}{#3}
977 }
978
979 \newcommand{\@cftpnumoff}[1]{%
980   \@namedef{cft#1fillnum}##1{%
981     \cftparfillskip\@nameuse{cft#1afterpnum}\par}}
982
983 \newcommand*{\cftchapname}{chapter}
984 \newcommand*{\cftsecname}{section}
985 \newcommand*{\cftsubsecname}{subsection}
986 \newcommand*{\cftsubsubsecname}{subsubsection}
987 \newcommand*{\cftparaname}{paragraph}
988 \newcommand*{\cftsubparaname}{subparagraph}
989 \newcommand*{\cftfigname}{figure}
990 \newcommand*{\cftsubfigname}{subfigure}
991 \newcommand*{\cfttabname}{table}
992 \newcommand*{\cftsubtabname}{subtable}
993
994 \DeclareRobustCommand{\cftpagenumbersoff}[1]{%
995   \def\@cftemp{#1}
996   \ifx\@cftemp\cftchapname
997     \@cftpnumoff{chap}
998   \else
999     \ifx\@cftemp\cftsecname \@cftpnumoff{sec}
1000     \else
1001       \ifx\@cftemp\cftsubsecname \@cftpnumoff{subsec}
1002       \else
1003         \ifx\@cftemp\cftsubsubsecname \@cftpnumoff{subsubsec}
1004         \else
1005           \ifx\@cftemp\cftparaname \@cftpnumoff{para}
1006           \else
1007             \ifx\@cftemp\cftsubparaname \@cftpnumoff{subpara}
1008             \else
1009               \ifx\@cftemp\cftfigname \@cftpnumoff{fig}
1010               \else
1011                 \ifx\@cftemp\cftsubfigname \@cftpnumoff{subfig}
1012                 \else
1013                   \ifx\@cftemp\cfttabname \@cftpnumoff{tab}
1014                   \else
1015                     \ifx\@cftemp\cftsubtabname \@cftpnumoff{subtab}
1016                     \else
1017                       \@cftpnumoff{#1}
1018                     \fi
1019                   \fi
1020                 \fi
1021               \fi
1022             \fi
1023           \fi
1024         \fi
1025       \fi
1026     \fi
1027   \fi
1028 }
1029
1030 \DeclareRobustCommand{\cftpagenumberson}[1]{%
1031   \def\@cftemp{#1}
1032   \ifx\@cftemp\cftchapname
1033     \@cftpnumon{chap}
1034   \else
1035     \ifx\@cftemp\cftsecname \@cftpnumon{sec}
1036     \else
1037       \ifx\@cftemp\cftsubsecname \@cftpnumon{subsec}
1038       \else
1039         \ifx\@cftemp\cftsubsubsecname \@cftpnumon{subsubsec}
1040         \else
1041           \ifx\@cftemp\cftparaname \@cftpnumon{para}
1042           \else
1043             \ifx\@cftemp\cftsubparaname \@cftpnumon{subpara}
1044             \else
1045               \ifx\@cftemp\cftfigname \@cftpnumon{fig}
1046               \else
1047                 \ifx\@cftemp\cftsubfigname \@cftpnumon{subfig}
1048                 \else
1049                   \ifx\@cftemp\cfttabname \@cftpnumon{tab}
1050                   \else
1051                     \ifx\@cftemp\cftsubtabname \@cftpnumon{subtab}
1052                     \else
1053                       \@cftpnumon{#1}
1054                     \fi
1055                   \fi
1056                 \fi
1057               \fi
1058             \fi
1059           \fi
1060         \fi
1061       \fi
1062     \fi
1063   \fi
1064 }
1065
1066 \newcommand{\@cftpnumon}[1]{%
1067   \@namedef{cft#1fillnum}##1{%
1068     {\@nameuse{cft#1leader}}\nobreak
1069     \hb@xt@\@pnumwidth{\hfil\@nameuse{cft#1pagefont}##1}\@nameuse{cft#1afterpnum}\par}}
1070
1071 \newcommand{\cftchapterprecis}[1]{%
1072   \cftchapterprecishere{#1}
1073   \cftchapterprecistoc{#1}}
1074 \newcommand{\cftchapterprecishere}[1]{%
1075   \vspace*{-2\baselineskip}
1076   \begin{quote}\textit{#1}\end{quote}}
1077 \newcommand{\cftchapterprecistoc}[1]{\addtocontents{toc}{%
1078   {\leftskip \cftchapindent\relax
1079    \advance\leftskip \cftchapnumwidth\relax
1080    \rightskip \@tocrmarg\relax
1081    \textit{#1}\protect\par}}}
1082
1083 \newcommand{\cftlocalchange}[3]{%
1084   \addtocontents{#1}{\protect\cftsetpnumwidth{#2} \protect\cftsetrmarg{#3}}}
1085 \newcommand{\cftaddtitleline}[4]{\addtocontents{#1}{%
1086   \protect\contentsline{#2}{#3}{#4}}}
1087 \newcommand{\cftaddnumtitleline}[5]{\addtocontents{#1}{%
1088     \protect\contentsline{#2}{\protect\numberline{#3}#4}{#5}}}
1089 \AtBeginDocument{%
1090   \@ifpackageloaded{hyperref}{%
1091     \renewcommand{\cftaddtitleline}[4]{\addtocontents{#1}{%
1092       \protect\contentsline{#2}{#3}{#4}{\@currentHref}}}
1093     \renewcommand{\cftaddnumtitleline}[5]{\addtocontents{#1}{%
1094       \protect\contentsline{#2}{\protect\numberline{#3}#4}{#5}{\@currentHref}}}
1095   }{}
1096 }
1097
1098 \endinput
1099 %%
1100 %% End of file `tocloft.sty'.