[Tex/LaTex] How to change the chapter title bold in the table of content

boldclassicthesisfontstable of contentstocloft

I am using classicthesis package. I want to add boldface to the font of the chapter title in the table of content. In the FrontBackMatter/Contents file, I add the following code:

\renewcommand\cftchapfont{\bf}

but it does not change anything. How can I simply add boldface to the current font of the chapter titles in TOC? Thanks.

Best Answer

The documentation for classicthesis mentions:

IMPORTANT NOTE: Some things of this style might look unusual at first glance, many people feel so in the beginning. However, all things are intentionally designed to be as they are, especially these:

• No bold fonts are used. Italics or spaced small caps do the job quite well.

[...]

Therefore, please do not break the beauty of the style by changing these things unless you really know what you are doing! Please.

So, the package creator strongly discourages the use of bold fonts and begs not to do changes that break the style.

If you, however want to go against the author's advice, here's one way to do it:

\documentclass{scrbook}
\usepackage[linedheaders]{classicthesis}
\usepackage{lipsum}

\makeatletter
\newcommand\listheader{%
\ifthenelse{\boolean{@linedheaders}}%
    {% lines above and below, number right
    \titleformat{\chapter}[display]%             
        {\bfseries}{\raggedleft{\color{halfgray}\chapterNumber\thechapter} \\ }{0pt}%
        {\titlerule\vspace*{.9\baselineskip}\raggedright\spacedallcaps}[\normalsize\vspace*{.8\baselineskip}\titlerule]%
    }{% something like Bringhurst  
    \titleformat{\chapter}[display]%
        {\bfseries}{\mbox{}\oldmarginpar{\vspace*{-3\baselineskip}\color{halfgray}\chapterNumber\thechapter}}{0pt}%
        {\raggedright\spacedallcaps}[\normalsize\vspace*{.8\baselineskip}\titlerule]% 
    }
}
\newcommand\normalheader{%
\ifthenelse{\boolean{@linedheaders}}%
    {% lines above and below, number right
    \titleformat{\chapter}[display]%             
        {\relax}{\raggedleft{\color{halfgray}\chapterNumber\thechapter} \\ }{0pt}%
        {\titlerule\vspace*{.9\baselineskip}\raggedright\spacedallcaps}[\normalsize\vspace*{.8\baselineskip}\titlerule]%
    }{% something like Bringhurst  
    \titleformat{\chapter}[display]%
        {\relax}{\mbox{}\oldmarginpar{\vspace*{-3\baselineskip}\color{halfgray}\chapterNumber\thechapter}}{0pt}%
        {\raggedright\spacedallcaps}[\normalsize\vspace*{.8\baselineskip}\titlerule]% 
    }
}
\makeatother

\begin{document}

\listheader
\tableofcontents
\normalheader
\chapter{Test Chapter}
\section{Test Section}
\section{Test Section}

\end{document}

The \listheader command simply changes to bold-faced chapter titles; \normalheader restores the non-bold titles.

As a final remark, please consider not doing this change; the spaced small caps of the titles is enough and adding bold-faced fonts is redundant and clearly breaks the style (even more if one takes into account that the change is not applied consistently, but only for some of the chapters).

A final remark: the reason why you attempt with

\renewcommand\cftchapfont{\bf}

(notice that it should be \bfseries instead of the deprecated \bf) didn't work (even though classicthesis uses tocloft) is because the titles option is passed to tocloft, so the \cft... family of commands for the lists won't have effect and the formatting defined by titlesec will be applied.

Related Question