
Я использую classicthesis
package. Я хочу добавить жирный шрифт к шрифту заголовка главы в оглавлении. В файле FrontBackMatter/Contents
я добавляю следующий код:
\renewcommand\cftchapfont{\bf}
но это ничего не меняет. Как мне просто добавить жирный шрифт к текущему шрифту названий глав в TOC? Спасибо.
решение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