将章节标题格式化为黑底白字

将章节标题格式化为黑底白字

我想重新定义\section\section*生成大致如下所示的章节标题: 所需章节标题格式的插图 即白色文本位于从左到右边缘延伸的黑色条上。我预计任何章节标题都不会超过一行。

答案1

这是一个可能的解决方案,使用explicit选项titlesec包裹:

\documentclass{article}
\usepackage[explicit]{titlesec}
\usepackage{xcolor}
\usepackage{lipsum}

\titleformat{\section}
{\normalfont\Large\bfseries}{}{0em}{\colorbox{black}{\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\textcolor{white}{\thesection\quad#1}}}}
\titleformat{name=\section,numberless}
{\normalfont\Large\bfseries}{}{0em}{\colorbox{black}{\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\textcolor{white}{#1}}}}

\begin{document}

\section{A Test Section}
\lipsum[4]
\section{Another Test Section}
\lipsum[4]
\section{Another Test Section with a long title spanning more than one line}
\lipsum[4]
\section*{An Unnumbered Test Section}
\lipsum[4]

\end{document}

这个想法是在黑色里面使用\parbox宽度等于\textwidth( )的;在这个里面使用将文本设置为白色。-2\fboxsep\colorbox\colorbox\textcolor

在此处输入图片描述

相关内容