Display Table of Contents for a Second Document in LaTeX

The problem:

I want to show the proposed table of contents for my PhD thesis in my research proposal. I also want it to look ‘neat’.

Other, explored solutions:

I tried creating a separate document, then including only the contents page in the proposal. However, I could only get the contents page on a new page. (This looks silly - it leaves a large blank space under the Chapter heading). Other problems:

  • page numbers weren’t quite right

Solution:

  1. Create a second table of contents:

     \usepackage{tocloft}
     \makeatletter
     \newcommand\tableofcontentsA{
         \@starttoc{toca}
     }
     \makeatother
    
  2. Populate the new ToC:

     \addcontentsline{toca}{chapter}{Introduction}
         \addcontentsline{toca}{section}{Motivation}
         \addcontentsline{toca}{section}{Research Questions}
         \addcontentsline{toca}{section}{Summary}
     \addcontentsline{toca}{chapter}{Literature Review}
     ... etc ...
    
  3. Remove the title from the contents. This has been done in the definition of toca in (1). Another approach is to renew the contentsname parameter, removing it’s contents.

     \renewcommand\contentsname{}
    
  4. Single-space to save room:

     \begin{singlespace}
      ...  
     \end{singlespace}
    
  5. Print the ToC. Use two-columns (it didn’t fit on a single page otherwise). To make things prettier, use ragged edges (default balances), and then unbalance by n lines:

     \begin{multicols}{2}
     \raggedcolumns
     \addtocounter{unbalance}{5}
     \tableofcontentsA
     \end{multicols}
    

My Minimal, Working Example

Secondary, Multi-Column LaTeX Table of Contents (multi-column-toc.tex) download
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
\documentclass{report}

\usepackage{multicol} % Multicolum support
\usepackage{tocloft}  % ToC tuning
\usepackage{setspace}  % Single spacing

\makeatletter
\newcommand\tableofcontentsA{
    \@starttoc{toca}
}
\makeatother
\begin{document}

\chapter{Provisional Thesis Structure}

% Disable page-numbers in the ToC for these section types. 
% NOTE:: To be neat, these should be enabled again using \cftpagenumberson{chapter} etc. 
\cftpagenumbersoff{chapter}
\cftpagenumbersoff{section}
\cftpagenumbersoff{subsection}

% Now populate the ToC. 
\addcontentsline{toca}{chapter}{Introduction}
    \addcontentsline{toca}{section}{Motivation}
    \addcontentsline{toca}{section}{Research Questions}
    \addcontentsline{toca}{section}{Summary}
\addcontentsline{toca}{chapter}{Literature Review}
    \addcontentsline{toca}{section}{Background}

\renewcommand\contentsname{}
\begin{singlespace}
    \begin{multicols}{2}
        \raggedcolumns
        \addtocounter{unbalance}{2}
        \tableofcontentsA
    \end{multicols}
\end{singlespace}

\end{document}