如何更改目录中章节标题的粗体?

如何更改目录中章节标题的粗体?

我正在使用classicthesis包。我想将目录中章节标题的字体添加粗体。在文件中FrontBackMatter/Contents,我添加了以下代码:

\renewcommand\cftchapfont{\bf}

但它并没有改变任何东西。我怎样才能简单地将目录中章节标题的当前字体添加为粗体?谢谢。

答案1

classicthesis 的文档提到:

重要提示:这种风格的某些东西乍一看可能看起来不寻常,很多人一开始都会有这种感觉。然而,所有的东西都是故意设计成这样的,尤其是这些:

• 不使用粗体字体。斜体或间隔小写字母效果很好。

[...]

因此,请不要通过改变这些东西来破坏风格的美感,除非你真的知道自己在做什么!拜托。

因此,软件包创建者强烈反对使用粗体字体,并恳求不要进行破坏风格的更改。

但是,如果你想违背作者的建议,这里有一种方法可以做到:

\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}

\listheader命令只是将章节标题改为粗体;\normalheader恢复非粗体标题。

最后要说的是,考虑不是进行这种更改后,标题的间距小写字母就足够了,而添加粗体字体则是多余的,并且明显破坏了风格(如果考虑到更改不是一致应用的,而只是针对某些章节,则更加如此)。

最后一句话:你尝试的原因

\renewcommand\cftchapfont{\bf}

(请注意,它应该是\bfseries而不是已弃用的\bf)不起作用(即使classicthesis使用tocloft)是因为titles选项传递给了tocloft,所以\cft...列表的命令系列将不起作用,并且titlesec将应用定义的格式。

相关内容