6

I'm using classicthesis for my master degree dissertation and I'm having very hard time to make table of content more pleasing. What I have right now is this:

enter image description here

and what I'm trying to achieve is a basic simple toc (something like the image below)

enter image description here

To be more precise, I don't want any all caps, bold face on chapter title and finally, proportional font size (contrary of what is now).

Any guidelines or starting point for someone who is not a master of renewing commands?

P.S. I like the title of the page (allcaps surrounded by lines) and the font of toc and I prefer not to change them.

P.P.S. I'm using classicthesis with the following options:

\usepackage[linedheaders,pdfspacing,dottedtoc]{classicthesis}
8
  • 3
    If you use Classicthesis, you are not supposed to modify the proposed settings that are based on Tufte's recommendations. The question is: why are you using Classicthesis if you want to modify the ToC (and maybe more)?
    – pluton
    Oct 14 '13 at 16:02
  • 2
    @pluton, your point is fairly valid. The point is I like classicthesis and I like to use it but I find that toc drastically ugly (I might be wrong knowing that I'm not a typesetting master/artist. But as a user, I have personal preferences).
    – Pouya
    Oct 14 '13 at 16:09
  • I think classicthesis relies on tocloft for typesetting the table of contents. Perhaps you can customize it. Try to change \cftchapfont, etc. (I really can't try it right now)
    – henrique
    Oct 14 '13 at 17:01
  • @henrique, thank you so much for actually answering the quation. In fact I'm working on it. I had some success by using \renewcommand{\cftchapfont}. The problem is now everything is all lower-cased. But thanks again.
    – Pouya
    Oct 14 '13 at 17:08
  • 1
    @Pouya, classicthesis redefines \chapter in a way that if sets the toc entry (\chapter's optional argument) in \spacedlowsmallcaps, which, among other (typographically beautiful) things, issues \MakeTextLowercase. Try to redefine it to \renewcommand\Chap[2][]{\oldchap[#1]{#2}}
    – henrique
    Oct 15 '13 at 0:25
4

classicthesis relies on the tocloft package to typeset the table of contents. tocloft provides several macros to control the appearance of the entries; you should start by changing them. As suggested by Ruben, e.g.:

\renewcommand{\cftchapfont}{\sffamily\bfseries}
\renewcommand{\cftchappagefont}{\sffamily\bfseries}
\renewcommand{\cftchapaftersnum}{.}

But this won't suffice to remove the small caps formatting from chapter entries because classicthesis redefines \chapter adding its own \spacedlowsmallcaps (which involves a \MakeTextLowercase) to its very contents-line, by issuing something like (I simplified it a lot):

\let\oldchap=\chapter
...
\oldchap[\spacedlowsmallcaps{#1}]{#2}

So, in order to solve this, all you have to do is to redefine it by renewcommand its local chapter command, \Chap:

\renewcommand\Chap[2][]{\oldchap[#1]{#2}}

Here's a MWE:

\documentclass{scrreprt}
\usepackage{classicthesis,mwe}
\usepackage[titles]{tocloft}
\renewcommand{\cftchapfont}{\sffamily\bfseries}
\renewcommand{\cftchappagefont}{\sffamily\bfseries}
\renewcommand{\cftchapaftersnum}{.}
\renewcommand\Chap[2][]{\oldchap[#1]{#2}}

\begin{document}

\tableofcontents

\chapter{A chapter}
\lipsum
\section{A section}
\lipsum
\subsection{A subsection}
\lipsum
\subsubsection{A subsubsection}
\lipsum
\chapter{Another chapter}
\lipsum
\section{Another section}
\lipsum
\subsection{Another subsection}
\lipsum
\subsubsection{Another subsubsection}
\lipsum
\end{document}

mwe

2

Basically you only need to switch a few fonts. As the comments say, this can be achived through tocloft by adding

\renewcommand{\cftchapfont}{\sffamily\bfseries}
\renewcommand{\cftchappagefont}{\sffamily\bfseries}

to your preamble (and loading the tocloft package, trivially). Now you want that dot (like in the second pic). Unfortunatelly \renewcommand{\cftchapaftersnum}{.} does not work for me. So here is the equivalent approach using titletoc:

\titlecontents{chapter}[1.5em]{\vspace{.75em}\sffamily\bfseries}%
{\contentslabel[\hfill\thecontentslabel.\hspace{.5em}]{3em}}
{}{\hfill\contentspage}[\vspace{.5em}]

Finally there is the lower-casing-issue, which can be eliminated by adding the "nochapters" option to the package-setup, i.e. \usepackage[linedheaders,pdfspacing,dottedtoc,nochapters]{classicthesis}. The other way would be to select a font that supports the bold sans-serif and lower case situation:

%\renewcommand*{\sfdefault}{pag}
%\renewcommand*{\sfdefault}{phv}
%\renewcommand*{\sfdefault}{pbk}
%\renewcommand*{\sfdefault}{pnc}

Uncomment the one you like best. The "drawback" of using the nochapters option is a minimally changed layout, as far as i can see. Furtermore the fontfamilies mentioned above do not look nice in that context. So i suggest to go with the option-option and not with the fonts.

Edit

You can easily solve the latter problem by adding

\let\Chap\oldchap

to the preamble without activating the nochapters-option.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.