1. Giannis

• Add \setcounter{tocdepth}{0} to your preamble. The tocdepth counter controls the level of headings added to TOC (0: chapter, 1: section, etc.).

2. Hi Tom, Excellent article on TOC.
One question I have is, is there a way to suppress the toc title, i.e. ‘Contents’ as I am already using a fancyhead

\fancyhead[RO,RE]{\includegraphics[width=1.5cm]{logo.pdf}}

• Hi Ciaran,

The easiest way would be to redefine the title and leave it empty3:

\renewcommand*{\contentsname}{}

Best, Tom

3. Romain

Hi Tom,

I’m using hyperref for my TOC. The issue I have is that the link is only on the chapter title and not the whole line. Because I also would like that if I click on page number, then I’m directed to that page.

Rom

• Hi Romain,

There is an package option which does exactly that. See the hyperref documentation for more details.

\documentclass[11pt]{article}
\usepackage{blindtext}
\begin{document}
\tableofcontents
\blinddocument
\end{document}
4. Igor

Hi Tom, I need to obtain this on my LOF in the pdf file:

I’m sorry if became a little confuse but I’m brazilian.

Thanks

• Hi Igor,

You’ll have to be a little more specific what your question is about, e.g. no line-breaks in long captions. Please also give a minimal example to illustrate the problem.

Thanks, Tom.

I think he wants the word “Figure 1.1: A study” instead of “1.1 A study” which I am also trying to do but not yet successful.

• tom

Thanks for the comment. Adding the following two lines does exactly what were looking for:

\usepackage{tocloft}
\renewcommand{\cftfigfont}{Figure }

See here for a few more customizations.

Best, Tom

5. Hi Tom, I found your blog when I was looking for any answers about how not enumerate the page of lof/lot/loc? \pagestyle{empty}, \thispagestyle{empty} didn’t work as well.
Thanks

• Hey Ricky,

Try the following:

\documentclass[11pt]{report}

\begin{document}
\pagenumbering{gobble}
\tableofcontents

\listoffigures

\listoftables
\clearpage

\pagenumbering{arabic}
\chapter{Test chapter}
\section{Test section}

\end{document}
6. James

Hi Tom,

I am trying to follow your example above. I want the LOF and LOT entries in the TOC to be sections. As it is below.. I get two LOF and LOT entries in the TOC (one as a section, one as a chapter) yet the hyperlink on the section entry is wrong??? Thanks

\usepackage{tocloft}
\newlength\mylena
\settowidth\mylena{Figure}
\newlength\mylenb
\settowidth\mylenb{Table}
\renewcommand\cftfigpresnum{Figure }
\renewcommand\cfttabpresnum{Table }

\tableofcontents
\cleardoublepage

\clearpage %\cleardoublepage %for openright
\listoffigures
\clearpage %\cleardoublepage %for openright
\listoftables
\clearpage %\cleardoublepage %for openright
• Hi James,

Thanks for this question. You can use a little trick, by adding phantomsection before addcontentsline, the links are set properly.

Best, Tom

\documentclass[11pt]{report}
\usepackage{tocloft}
\usepackage{hyperref}

\begin{document}

\tableofcontents
\cleardoublepage

\clearpage %\cleardoublepage %for openright
\phantomsection
\listoffigures
\clearpage %\cleardoublepage %for openright
\phantomsection
\listoftables
\clearpage %\cleardoublepage %for openright

\end{document}
7. James

Great thanks Tom. I now have an issue with the sectioning…. The chapters are labeled correctly e.g Chapter 1, Chapter 2…
But the sections are also labelled section 1, section 2 … not section 1.1, 1.2

Weirdly the subsections are labelled 1.1 and the figures/tables are also labelled 1.1,1.2 etc

Would really appreciate any help

\usepackage[nottoc]{tocbibind}    % Potentially important for sectioning

\renewcommand\thesection{\arabic{section}}  % very important for structure ?
\pagenumbering{roman}
\doublespacing
\baselineskip=15.5pt

\tableofcontents
\cleardoublepage

\listoffigures
\cleardoublepage

\listoftables
\cleardoublepage

\baselineskip=20pt
\pagenumbering{arabic}
\renewcommand{\chaptermark}[1]{\markboth{\chaptername\ \thechapter:\ #1}{}}
\renewcommand{\sectionmark}[1]{\markright{\S\thesection\ #1}}

\renewcommand\thesection{\arabic{chapter}}
• Hi James,

It’s the second line of your code where you define sections to be labeled with just the section number instead of chapter and section. Also, delete the last line. I’m not sure why you change it there. Commenting it out should fix the problem. Alternatively, you could replace it with:

\renewcommand\thesection{\thechapter.\arabic{section}}

Also, please provide a full minimal working example next time. It’s much easier to reproduce your issue that way.

Cheers, Tom.

8. Pierre-Philippe Combes

Hi Tom,
Very useful post!
I’ve an extra question. I have a pretty long table of contents that fits on one page and a few lines more on a second page. But spaces between each item are pretty large.
Is there a way to reduce them, or an instruction to tell tex to fit the table of contents in one page only?
Thank you very much.
Pierre-Philippe

• tom

Hi Pierre-Philippe,

If it’s only a few lines, you might use the spacing package:

%Preamble
\usepackage{setspace}

%Document
\begin{spacing}{0.9}
\tableofcontents
\end{spacing}

Possibly a more satisfying alternative is to use the tocloft package and play with, for example, the space before each chapter entry.

%Preamble
\usepackage{tocloft}
\setlength\cftbeforechapskip{6pt}

Even if there was a way, I wouldn’t recommend forcing TeX to fit the ToC on a single page. What if you decide to add two more chapters a few weeks later…?

HTH, Tom

9. J.D.

Hi, Tom,

I’m a bit new to this and have had trouble applying these ideas to my table of contents — perhaps because mine is un-numbered? I’m using the book (AMS) document class and have tocloft, and as of now, the “part” and “chapter” entries in the table of contents are set to the same indentation level. I want to make things more obvious and have the “part” entries not indented, but the “chapter” entries intended a bit. Is there any way to do this? I’ve tried throwing some things into the Preamble that I thought might work, but I keep getting error messages about “}” not being there, or there being too many.

If you have any ideas, it would be greatly appreciated!
Thanks!
~J.D.

• tom

Hi J.D.,

Thanks for your comment. It seems the ams document classes are not compatible with tocloft. But what you can do is manually redefine how ToC entries are typeset. Here is a MWE to change the chapter indentation:

\documentclass{amsbook}
\makeatletter
\renewcommand{\l@chapter}{\@tocline{0}{3pt plus2pt}{10pt}{1.5pc}{}}
%@tocline arguments
%#1: sectioning level (chapter=0)
%#2: vertical space before the entry
%#3: indent of the entry (default 0pt)
%#4: space for number
%#5: style commands (e.g., font type/size)
\makeatother
\begin{document}
\tableofcontents
\part{First}
\chapter{First chapter}\section{Some section}
\chapter{Second chapter}\section{Some section}
\part{Second}
\chapter{First chapter}\section{Some section}
\chapter{Second chapter}\section{Some section}
\end{document}

Hope this helps,
Tom

10. Hi Tom,
Please I’m using the Memor Class and i want that my table of figures be like this : Figure 1.2, Figure 1.3 … and not only 1.2, 1.3
Thank you

• tom

Here is an example:

\documentclass[11pt]{memoir}
\renewcommand{\cftfigurefont}{Figure }
\begin{document}
\listoffigures
\chapter{Some chapter}
\section{Some section}
\begin{figure}[ht]
\centering
\rule{0.4\linewidth}{0.4\linewidth}
\caption{Some caption}\label{fig:def}
\end{figure}
\end{document}

Please consider the memoir class documentation for more details.

• tom

This doesn’t require the tocloft package. The tocloft command is \cftfigfont. Memoir provides a lot of flexibility by implementing commands that are provided by packages for the standard classes. Just give the code I posted a try…

you are asking me to change the class. But that will change the whole format of my thesis which I have compiled according to my university guidelines. Currently I am using a class “ThesisMtech” which I have modified according to my need. I am just not able to get this “Figure 1.1″ in place of “1.1” in list of figures and list of tables. Have been trying this for 15 days now. Kindly provide some solution. I can attach my class file if you want. Thank you.

• tom

For some reason I thought you were using the memoir class. I wonder if using tocloft and change the lof/lot style according to your needs might work.

Please prepare a minimal working example and a pointer to where I can get the ThesisMtech class file (ideally the one you modified) and I’ll see what I can do.

Best, Tom

12. ranjana

I want to resize heading “List of figure” and “List of tables”, default output using \listoffigure
is large list of figure written at the header, I want to align in left side with underline in normal font size. How to do that?

• tom

Hi Ranjana,

Here’s a minimal working example, which uses the tocloft package:

\documentclass{article}
\usepackage{tocloft}
\renewcommand{\cftloftitlefont}{\normalfont\normalsize\bfseries\underline}

\begin{document}
\listoffigures
\end{document}
• Clement

Hi Tom,
whenever I use figure inserting format like below:

\begin{figure}[h]
\centering
\includegraphics[scale = .85]{Dog.png}
\caption{My dog}
\label{fig:Dog1.png }
\end{figure}

and I also use the: \lstinputlisting{fish.m} for importing Matlab codes, there is always a problem; program will not execute, but if I use this format:

\begin{center}
\includegraphics[scale = .85]{Dog.png}
\end{center}
$Figure 3.1: My dog] it will run and show my Matlab codes and the diagrams. The problem now is that when I try to use the listoffigures or listoftables command to generate my list of figures and list of table respectively, it can not display the list of figures, probably, since the caption command is not used in the \begin{center} \includegraphics[scale = .85]{Bush1.png} \end{center} \[Figure\: 3.1:\: A \:basic \:(SIR)\: model \:flow\: chart$

when inserting my my figures.
so what do I do to enable diaplay my list of figures and tables.

• tom

You are right, the figure number will only be generated when it is wrapped in a floating environment (i.e. \begin{figure}...\end{figure}) and has a \caption.

I wasn’t able to reproduce the issue with a Matlab input file (*.m). Could you provide a complete minimal working example. That would make it much easier for me to help.

Thanks, Tom

13. Ferhat

First of all thank you for your sharings.

On my report class document content of figures are like here:

Figure 1.1 BWM Car……………………..5
Figure 1.2 Ferrari Car……………………7

But I want a suffix at the end of each number. I want like this:

Figure 1.1. BWM Car……………………..5
Figure 1.2. Ferrari Car……………………7

*see the dot (.) after 1.1

Also this dot (.) should be on each figure explanation. I will be happy if you can help me.

Here is my all document temaplate: http://pastebin.com/UttcnKpY

• tom

All you have to do is add this line to your preamble. It redefines the figure number.

\renewcommand{\thefigure}{\arabic{chapter}.\arabic{figure}.}

HTH, Tom

14. Leon

Hi Tom.
Thanks for the article, but I have a question.

My paper have a lot of figures in the same chapter. When I compile the LateX, however, I get Figure number overlaping its title.

I want to increase the spacing between the Figure number and the Figure title. Do you know how I do that?

• tom

The following line of code will add extra space between the number and the caption text through the tocloft package.

\usepackage{tocloft}
\setlength{\cftfignumwidth}{4em}

Best, Tom

15. Zakaria CHOUQAR

Lemme ask you dear Tom; I have this annoying problem with table of contents: I’m a beginner in Latex. When I add \tableofcontents command, Latex encounters issues with compiling. And I get “Undefined Control Sequence”.. Do I need a use package here or where lies exactly the problem?? Thank you.

• tom

You don’t need to load a package to use \tableofcontents. Thus, the issue is with something else. However, I won’t be able to help without your code. Could you post a minimal working example here.

Thanks, Tom.

16. Salva

Ok, resolved.
I think it’s possible with minitoc package.

Thanks.

17. tom