如何用不同的颜色标记部分编号和部分名称?

如何用不同的颜色标记部分编号和部分名称?

我想在\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,它负责打印章节编号。

请注意,这也将为小节和小小节标题涂上相同的颜色;当然也可以为它们定义不同的颜色或方框。

我使用了与 Gonzalo 相同的设置。

\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}

在此处输入图片描述

相关内容