%%%%%%%%%%%%%%%%%% 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 > .[p|m|s][tc|lf|lt] (long suffixes) > or > .[P|M|S|G|F|H|U|T|V] (short suffixes) > where is a number. Note that a 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.