如何將目錄中的章節標題改為粗體?

如何將目錄中的章節標題改為粗體?

我正在使用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將應用 定義的格式。

相關內容