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