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