为章节标题着色,无需重新定义编号

为章节标题着色,无需重新定义编号

本测试文档我正在展示我遇到的问题。我试图为所有章节标题设置背景颜色,但使用我使用的方法重新定义了编号,导致\section{...} \section*{...}变成编号:

在此处输入图片描述

我当然不希望带有星号 * 的部分也变成编号。我可以编辑我用来解决这个问题的相当短的代码吗?下面是乳胶代码:

\documentclass[11pt,a4paper]{article}

\usepackage[utf8]{inputenc}
\usepackage{xcolor} 
\usepackage[explicit]{titlesec} % Title manipulation

\titleformat{\section}          % Background on sections
  {\normalfont\LARGE\bfseries}
  {}
  {0em}
  {\colorbox{red}{\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\textcolor{black}{\thesection\quad#1}}}}

\begin{document}
\section*{Section title unnumbered}
\section{Section title numbered}
\end{document}

答案1

您必须编码两种格式,其中一种使用无数字键:

\titleformat{\section}          % Background on sections
  {\normalfont\LARGE\bfseries}
  {}
  {0em}
  {\colorbox{red}{\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\textcolor{black}{\thesection\quad#1}}}}

\titleformat{name=\section, numberless}          % Background on sections
  {\normalfont\LARGE\bfseries}
  {}
  {0em}
  {\colorbox{red}{\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\textcolor{black}{#1}}}}

相关内容