
Я хочу использовать разные цвета для номера раздела и названия раздела в \documentclass{book}
используемом sectsty
пакете. Номер раздела должен быть помещен в поле цвета. Дайте мне идею.
решение1
Я думаю, sectsty
что не очень подходит для этой задачи. Я бы посоветовал вамtitlesec
Вместо этого упакуйте. Небольшой пример (настройте цвета по своему вкусу):
\documentclass{book}
\usepackage{titlesec}
\usepackage{xcolor}
\colorlet{sectitlecolor}{red!60!black}
\colorlet{sectboxcolor}{cyan!30}
\colorlet{secnumcolor}{orange}
\titleformat{\section}
{\normalfont\Large\bfseries\color{sectitlecolor}}{\colorbox{sectboxcolor}{\textcolor{secnumcolor}{\thesection}}}{1em}{}
\begin{document}
\chapter{A test chapter}
\section{A test section}
\end{document}
В комментарии было предложено перенести номер раздела на левое поле:
\documentclass{book}
\usepackage{titlesec}
\usepackage{xcolor}
\colorlet{sectitlecolor}{red!60!black}
\colorlet{sectboxcolor}{cyan!30}
\colorlet{secnumcolor}{orange}
\titleformat{\section}
{\normalfont\Large\bfseries\color{sectitlecolor}}{\llap{\makebox[3em][l]{\colorbox{sectboxcolor}{\textcolor{secnumcolor}{\thesection}}}}}{0em}{}
\begin{document}
\chapter{A test chapter}
\section{A test section}
\end{document}
решение2
Да, вы можете сделать это с помощью sectsty
, но вам нужно изменить определение \@seccntformat
, которое отвечает за печать номеров разделов.
Обратите внимание, что это также окрасит в тот же цвет заголовки подразделов и подподразделов; конечно, для них можно определить другую расцветку или рамку.
Я использовал те же настройки, что и Гонсало.
\documentclass{book}
\usepackage{sectsty,xcolor}
\colorlet{sectitlecolor}{red!60!black}
\colorlet{sectboxcolor}{cyan!30}
\colorlet{secnumcolor}{orange}
\sectionfont{\color{sectitlecolor}}
\makeatletter
\renewcommand\@seccntformat[1]{%
\colorbox{sectboxcolor}{\textcolor{secnumcolor}{\csname the#1\endcsname}}%
\quad
}
\makeatother
\begin{document}
\chapter{A test chapter}
\section{A test section}
\end{document}