Как раскрасить номер и название раздела разными цветами?

Как раскрасить номер и название раздела разными цветами?

Я хочу использовать разные цвета для номера раздела и названия раздела в \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}

введите описание изображения здесь

Связанный контент