summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/minitoc/minitoc.bug
blob: 0e8467b1750e4ccdc6669bbac7865f95adacfb94 (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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
%%%%%%%%%%%%%%%%%% minitoc.bug #43 2005/09/16
There is a list of problems and frequently asked questions about
minitoc.sty. If your version is < 43, please upgrade.

(1)  How to avoid a page break near the rules before and after
     the mini-table?
     > This problem seemed solved since version #8,
     > but version #12 adds better fixes.
     > You may have to make some final tuning with
     > \enlargethispage. See the LaTeX manual (Lamport 1994).

(2)  How about implementing others layouts for the minitoc?
     > Suggestions are welcome. See the \mtcsetformat command.

(3)  \\ in a contents line makes an error.
     > Use \protect\linebreak

(4)  If you reorder chapters, havoc follows... minitocs going in wrong
     chapters.
     > the best way seems to make one run with the mtcoff
     > package in place of the minitoc package, then restore
     > the minitoc package and re-execute LaTeX three times
     > (yes, it is time consuming...). The mtcoff package
     > cleans the auxiliary files from spurious commands
     > added by minitoc.
     > A more radical solution is to delete the files .aux,
     > .lof and .lot relative to the document, then re-execute
     > LaTeX three times.

(5)  Extensions for the names of auxiliary files
     > If you have an operating system which tolerates only
     > short file name extensions (of 3 characters, like MS-DOS),
     > No modification is needed: all is automatic!
     > From version #28, the extensions are auto-configured.
     > If you insist to use 3 characters extensions, even on
     > operating systems allowing more, just use the package
     > option `shortext'. Then you will get first the
     > auto-configuration messages, then a message saying that
     > you will use short extensions.

(6) Playing with the chapter number.
     > Do not cheat with the ``chapter'' counter, i.e. do not write
     > ugly things like
     >     \setcounter{chapter}{6}.
     > The mechanism would break. It is better to add \chapter commands,
     > to create empty (but numbered in a legal way) chapters.
     > Since version #10, minitoc.sty works with appendices.
     > Version #19 allows to begin with a chapter other that
     > number 1. And look at the section ``Special Entries for
     > TOC, LOF, LOT, Bibliography and Index''.

(7) Supported document classes.
     > The minitoc package is restricted to document classes which
     > define chapters in the standard way, like `book' and `report',
     > or sections in the standard way, like `article'.
     > There are ``parttocs'' if the document class defines
     > the \part command.

(8) Compatibility with LaTeX versions.
     > Some users have failed to make minitoc to work. They got
     > a message like:
     >   Undefined command ... \@inputcheck ...
     >   Your version of latex.tex is obsolete.
     >   Trying to continue..
     > or:
     >   Undefined command ... \reset@font ...
     >   Your version of latex.tex is very obsolete.
     >   Trying to continue... crossing fingers.
     > The \reset@font command has been added to latex.tex
     > on 29 September 1991 and the \@inputcheck command 
     > on 18 March 1992 and this version of latex.tex has been
     > released on 25 March 1992. If you have this message, you
     > have an old version of latex.tex. Get a recent one from
     > the archives and regenerate a latex format via initex.

(9) Other mini-tables
     > Some demanding users want to have minilof, minilot and
     > minibbl. First, minibbl is an other problem, strongly
     > related to the BibTeX's dealing with .aux files. Look
     > at the chapterbib, bibunits, multibib, and bibtopic packages
     > (and others, perhaps).
     > To make `minilof' (minilot is the same problem), we could apply
     > the same method as for minitoc, but we need to add marks
     > in the .lof (or .lot) file. It should be possible to do from
     > minitoc.sty, but long to test. Version #13 implements basic
     > minilofs and minilots. Minibbls are not the aim of this package
     > file.

(10) Why so many auxiliary files?
     > This package creates a lot of auxiliary files and some users
     > have argued that it is too many. A deep redesign would be
     > necessary to avoid that. Using only one big auxiliary file
     > (or one for all minitocs, one for all minilofs, ...)
     > would make the reading of such file very slow, and it must
     > be read for each \minixxx macro!
     > Moreover, this would make the checkfiles option impractical
     > to implement.
     > Note that the many files *.mtc*, etc., may be
     > deleted after the LaTeX run. They are rebuilt by the
     > \dominitoc command (and siblings).
     > Moreover, since version #35, empty minitocs (and co.) can
     > be automatically detected and skipped. It would not be
     > easy to do with one big auxiliary file.
     > But, since version #38, minitoc is able to detect and
     > skip empty minitoc files (and co.) to avoid ugly titles
     > with just two thin rules.
     >
     > These files contain the mini-tables extracted from the .toc,
     > .lof, and .lot files. They are no more useful after the LaTeX
     > run. If you run LaTeX via a script or a ``makefile'', it may
     > be useful to add to it a cleaning feature (which should be
     > optional, to allow debugging). These files are named
     >       <document>.[p|m|s][tc|lf|lt]<N>      (long suffixes)
     > or
     >       <document>.[P|M|S|G|F|H|U|T|V]<N>   (short suffixes)
     > where <N> is a number. Note that a <document}.mtc auxiliary
     > file is also created as a scratch file).
     >
     > As an example, you can look at the rubber script (written
     > in Python) by Emmanuel Beffara} (http://rubber.sourceforge.net/
     > or http://www.pps.jussieu.fr/~beffara/soft/rubber/ to find
     > rubber).

(11) How to do minitocs (minilofs and minilots) at levels other
     than chapter?
     > Here also, some redesign was needed. From version #15,
     > here are parttocs, partlofs and partlots for the part
     > level in book- or report-like documents, secttocs, sectlofs
     > and sectlots for the section level in article-like documents.

(12) Compatibily with LaTeX2.09.
     > The more recent version of latex-2e adds a \protect
     > command before \contentsline in the .toc, .lof and .lof
     > files. Minitoc version #17 attempts to be compatible
     > with latex-2e and latex-2.09. This will be the LAST
     > version usable with latex-2.09. Versions #18 and later are
     > latex-2e specific, and no more compatible with LaTeX2.09,
     > which is obsolete.

(13) Documents resetting the chapter number at each part.
     > From version #23, works with document classes resetting
     > chapter (or section) number at each part.

(14) The minitocs have too much spaced lines.
     > From version #29, you can have tight minitocs with the
     > tight option, and with the k-tight option for the Koma-script
     > classes (since version #43).

(15) The secttocs are wrong.
     > Secttocs did not work: corrected (#38).

(16) How to remove the lines of dots between section titles and page numbers?
     > The lines of dots (leaders) are removed by the undotted option (#29).

(17) How to use the hyperref package with minitoc?
     > Since version #31, works with the hyperref package,
     > thanks to Heiko Oberdiek (oberdiek@ruf.uni-freiburg.de).
     > If one add the loading of the hyperref package to a document
     > yet using minitoc, you will get error message about spurious
     > closing braces. Just let finish the LaTeX run, then re-LaTeX
     > the document. There will be no problem if you remove the
     > loading of hyperref and add it again: the problem occurs
     > only when upgrading from  minitoc #30 to minitoc #31
     > (or higher) with a document already processed and adding
     > hyperref at the same time! It seems better to process the
     > document with minitoc #31 (or higher) without hyperref, then
     > with hyperref, because some internal commands written
     > into the auxiliary files have been modified. If used, the
     > hyperref package must be loaded BEFORE minitoc. Note that
     > minitoc.tex shows an example of the use of the hyperref
     > package with minitoc.

(18) {Problem while upgrading minitoc.
     > If upgrading from version #30 or lower to version #31 or higher,
     > you should delete the .aux, .toc, .lof, .lot of the document,
     > else the first LaTeX run with version #31 or higher will
     > produce a lot of errors (the next run should be ok).

(19) A local table of contents for the set of appendices.
     > Some users need a table of contents for the appendices,
     > but without putting the entries of it into the main table of
     > contents. The solution is to put the appendices in
     > a \part subdivision of the document and ask for a table
     > of contents at the \part level:
     >
     >    \doparttoc           % after \begin{document}
     >    . . .
     >    \appendix
     >    \part{Appendices}    % create a part level subdivision
     >    \parttoc             % create a local table of contents
     > To suppress the appendix part in the main toc
     >    \addtocontents{toc}{\protect\setcounter{tocdepth}{-1}}
     >    \chapter{First appendix}
     >    . . .
     > Add this at the end of appendices if there is something
     > after the appendices (like an index or a bibliography)
     > to put a bound to the contents of \parttoc:
     >    \addtocontents{toc}{\protect\partbegin}
     > See also (25).

(20) Use with the appendix package.
     > If you use the appendix package (by Peter R.~Wilson,
     > pandgwilson@earthlink.net), you will observe a serious
     > problem with minitocs in the appendices environment (and
     > after it): they do not match with their appendix. In fact,
     > the environnement opening \begin{appendices} hides a 
     > \addcontentsline command for a chapter or a section, putting
     > trouble in the numbering of minitocs or secttocs. Two solutions
     > are available. The first one is to add a \adjustmtc  or
     > \adjuststc command (depending if the appendices are at the
     > chapter or section level) after EACH \begin{appendices} command.
     > The other is to add the following commands in the
     > preamble after the loading of the appendix package:
     > \usepackage[...]{appendix} command:
     >              \let\oldappendices\appendices
     >              \def\appendices{\oldappendices\adjustmtc}
     > if appendices are at the chapter level, OR:
     >              \let\oldappendices\appendices
     >              \def\appendices{\oldappendices\adjuststc}
     > if appendices are at the section level.

(21) Use with the tocloft package.
     > The tocloft and minitoc packages have an unfortunate interaction,
     > discovered by Lyndon Dudding (lyndon.dudding@totalise.co.uk)
     > which fortunately can be fixed. In the normal course of events,
     > minitoc is used in a chaptered document it will typeset section
     > entries in the minitocs in bold font. If tocloft is used in
     > conjunction with minitoc, then the minitoc section entries are 
     > typeset in the normal font, except for the page numbers which are
     > in bold font, while the ToC section entries are all in normal font.
     > 
     > One cure, if you want the minitoc section entries to be all in
     > normal font is to put:
     >      \renewcommand{\mtcSfont}{\small\normalfont}
     > in the preamble.
     > 
     > Otherwise, the cure is the following incantation:
     >      \renewcommand{\cftsecfont}{\bfseries}
     >      \renewcommand{\cftsecleader}{\bfseries\cftdotfill{\cftdotsep}}
     >      \renewcommand{\cftsecpagefont}{\bfseries}
     > To have the section entries in both the ToC and the minitocs
     > in bold then put the incantation in the preamble. To have only the
     > minitoc section entries in bold while the ToC entries are in the
     > normal font, put the incantation between the \tableofcontents
     > command and the first \chapter command.


(22) Use with the memoir class.
     > The memoir class offers the functionnalities of the tocbibind and tocloft
     > packages, hence it has the same problems; see above the available
     > solutions.

(23) There are too many commands for fonts.
     > Since version #41, the commands \mtcsetfont and \mtcsettitlefont are
     > available. You do not need anymore to know \mtcSSSfont, \ptifont, etc.
     >
     > Since version \#42, the \mtcsettitle command is
     > available. You do not need anymore to know \mtctitle, \slttitle, etc.

(24) Compatibility with the AmS document classes.
     > The amsart.cls and amsproc.cls document classes are incompatible
     > with minitoc. The amsbook.cls document class requires the
     > insertion of commands if you want a list of figures and/or a
     > list of tables:
     > \listoffigures
     > \mtcaddchapter % added
     > \listoftables
     > \mtcaddchapter % added

(25) How to hide some entries from the main table of contents.
     > It is a problem similar to that of section~19.
     > An example is having a local table of contents for a chapter
     > (\minitoc) whose entries should not appear in the main table
     > of contents. Just use the ``mtchideinmaintoc'' environment:
     >
     >   \chapter{Title}
     >   \begin{mtchideinmaintoc}
     >   \minitoc
     >   \section{sub-title}
     >   ...
     >   \end{mtchideinmaintoc}
     >
     > This environment accepts an optional numeric argument, which is the
     > depth of hiding in the main toc (default: -1, complete hiding).
     >
     > Of course, the environments ``mtchideinmainlof'' and
     > ``mtchideinmainlot'' are also available.
(26) How to define your own .mld file?
     > First, you should not directly modify one of the distributed .mld files.
     > The simplest way to alter some title is to redefine the corresponding
     > command via \renewcommand or better via \mtcsettitle. If you really
     > want to have your own .mld file, you copy an existing .mld file into
     > one with a new name (not the name of a distributed .mld file). Then you
     > modify this new .mld file and you can use it via \mtcselectlanguage.
     > It is eventually possible to add the corresponding option in minitoc.sty,
     > but it would make it not portable, but you can always send me this new
     > .mld file.
(27) Use with the abstract package.
     > If the abstract package (by Peter R. Wilson),
     > is used with its `addtotoc' option, a ``Abstract'' entry is added
     > to the table of contents, as a starred chapter if the document class defines
     > \chapter, else as a starred section. This problem is detected by the
     > `hints' option and you should add a \mtcaddchapter[] or a \mtcaddsection[]
     > command after your `abstract' environment.
(28) Use with the sectsty package.
     > If the sectsty package (by Rowland McDonnell) is used,
     > it must be loaded BEFORE the minitoc package.
(29) Strange alignment in the minitocs: in minitocs, subsections titles are
     not aligned with sections, as they are in the main table of contents.

     > The entries of a table of contents are formatted via internal commands like
     > \l@part, \l@chapter, \l@section, etc. 
     >
     > The ``part'' and ``chapter'' levels (and ``section'' for an article) use
     > specific commands which are somewhat complex for a more elaborated formatting.
     > For the ``section'' (in the report and book classes) and lower levels,
     > these commands are (book class, book.cls) by default:
     >
     >    \newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
     >    \newcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
     >    \newcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
     >    \newcommand*\l@paragraph{\@dottedtocline{4}{10em}{5em}}
     >    \newcommand*\l@subparagraph{\@dottedtocline{5}{12em}{6em}}
     >
     > which will be applied in the main table of contents and in the minitocs. The
     > arguments of \@dottedtocline are
     > 1) the logical depth (which will be compared to tocdepth or minitocdepth).
     > 2) the indentation.
     > 3) the width reserved for the page number.
     >
     > In the standard book, report and article classes, the dimensions
     > (second and third arguments) are given in ``em'' units, and this unit
     > depends of the current font. In the main table of contents,
     > the section and subsection entries are witten in the SAME font, hence
     > usually the alignment is correct. But in the minitocs, the section entries
     > are written in a bold font while the subsection entries are written in
     > a non bold font (see the minitoc documentation), hence one ``em'' has
     > different sizes in these two fonts and the alignement is changed.
     >
     > There are several solutions:
     > - Redefine the \l@section ... \l@subparagraph commands
     >   to use font independent units (pt, mm, pc, etc.). This
     >   redefinition must be performed between \makeatletter 
     >   and \makeatother, because these commands have a @ in
     >   their names; you must use \renewcommand* to redefine
     >   these commands.
     > - Use the tocloft package to change the indentation, with
     >   font independent units.
     > - Use the same font for the section and subsection entries
     >   in the minitocs, using the \mtcsetfont command or
     >   redefining the \mtcSfont, \mtcSSfont, \mtcSSSfont,
     >   \mtcPfont and \mtcSPfont commands.